3 ms·
The decisions are important, but the understanding is that you define them as constraints. Which is what a segment of the software community, the upper class if
by win311fwg 2mo ago
The decisions are important, but the understanding is that you define them as constraints. Which is what a segment of the software community, the upper class if you will, has always believed you should do, even before LLMs were a thing. The LLM simply becomes a constraint solver: machines do the work, people do the thinking.
This is the challenge of the middle class developer. They aren't accustomed to working with constraint thinking and they're past the junior stage where one is expected to still be shaping their thinking so they are struggling to find a fit.
- bluefirebrand 2mo ago> They aren't accustomed to working with constraint thinking That's one way to frame it I guess I would frame it as "they have been abused by AGILE and impatient PMs into never actually taking time to do constraint based thinking or design" It is impossible to think about constraints, or really do any proper engineering, if you are constantly "sprinting" Edit: I also don't personally like engineering based on constraints. It feels like constructing a building based on where walls aren't allowed to go. I get that defining constraints and letting the software go is where a lot of useful emergent behavior lives, but I struggle a lot to think that way. Maybe I'm not wired right for software in the end
- win311fwg 2mo ago> "they have been abused by AGILE [...]" That's ironic given that some of the Agile Manifesto signatories are some of the biggest proponents of constraint-based development. While the Principles behind the Agile Manifesto is not prescriptive, I am not certain you could, in practice, even satisfy many of the principles without constraint-based development. > I also don't personally like engineering based on constraints. It feels like constructing a building based on where walls aren't allowed to go. Engineering is all about constraints. That you then shift to talking about constructing a building is curious as it would be atypical for an engineer to work on constructing a building. The engineer's role in building constriction is typically only in defining the constraints. Construction crews, made up of an entirely different group of people, then construct the building within the constraints set. "Constructing a building based on where walls aren't allowed to go" is essentially how buildings are usually constructed. It is an interesting parallel as the LLM is somewhat like the construction crew, which is something software hasn't really had before in any kind of big way. Engineer gets thrown around pretty loosely in the world of software, but elsewhere, especially in places where failure can cause serious harm, someone who constructs a building by applying judgment, experience, and craftsmanship as they go would be considered an artisan, craftsman, or something to that effect rather than an engineer. That seems closer to the world you like to live in. There is nothing wrong with being a craftsman, of course, but the economic fit is becoming less clear as the industry matures. Which is something that seems par for the course. The early days of building construction was also dominated by craftsmen but as it matured engineers became dominant.
- bluefirebrand 2mo ago> someone who constructs a building by applying judgment, experience, and craftsmanship as they go would be considered an artisan, craftsman, or something to that effect rather than an engineer. That seems closer to the world you like to live in Yes absolutely. I don't call myself an engineer, I'm a developer. Software Engineer is a title that my jobs give me, but I'm rarely given the time or resources to do any engineering. It has become very clear to me over the years that I would much rather be an artisan than an engineer though.
- win311fwg 2mo ago> I'm rarely given the time or resources to do any engineering. Are you sure it is that you are not given the time rather than your artisan ways consumes your time 'unnecessary'? Failure in (most) software isn't going to harm anyone, so there isn't much technical need for engineering in software. As I am sure you can attest, artisans are fully capable of delivering great software. Some of the best software out there was created by artisans! The software industry is headed towards engineering anyway because engineers can build software faster, which is considered a virtue in business. That was true even before LLMs, but has become especially pronounced in this next era. > It has become very clear to me over the years that I would much rather be an artisan than an engineer though. Understandable. I suspect a lot of engineers would rather be artisans—not just in software but in general. Artisans get to run at the forefront of new technologies and ideas before rigour is able to be established so it is, on balance, naturally more exciting.
- bluefirebrand 2mo ago> Are you sure it is that you are not given the time rather than your artisan ways consumes your time 'unnecessary' I'm not certain of much these days, but I'm pretty sure of this. Any time I have tried to properly "engineer" something with documentation and specs and planning I've been told to just deliver it instead
- win311fwg 2mo ago