Honestly, software engineering as a career only went down hill for me from when I began to when I retired.
(And I hesitate to even air that view in front of others that are already in the field because I am a kind of Pollyanna and don't want to foment bad vibes.)
But since I retired a few years ago it was clearly not LLMs that precipitated the decline of my enjoyment of the profession. Instead it was the slow erosion of agency and responsibility that did that.
I'll drop the euphemisms and just say outright that the inmates ran the asylum when I began in the 90's (at Apple, FWIW). The only one that really told me what to do was the tech-lead on the team. Not my manager—for sure not marketing or the CEO (ha ha — Jobs had not yet returned).
In effect, I and all other engineers were told, "Here's your sandbox, here's your shovel: you go make your sand castle however you want—so long as it does X, Y and Z. We'll ship it but you'll own it. You'll fix it, expand it…"
(A coworker whose sense of humor I always enjoyed said to me, perhaps seriously, "When someone drops code in my lap and says, 'It's yours now' the first thing I do is rewrite it." Yeah, that's what happens to someone's code when they moves on—becomes someone else's sandbox and they are free to knock down the castle, build another—Chesterton's Fence not withstanding, ha ha.)
To that end I feel a little bad for anyone that missed that era. I mean unless you enjoy writing unit tests, having code reviews, style guidelines, etc.—and I have certainly met younger engineers that have come on board that seem to enjoy those aspects of the these-days profession.
I admit that when I began it was in fact a bit intimidating when you realized that code you were writing, were responsible for, was going to ship on millions (in 1995? maybe?) of machines. The responsibility though also came with agency—the combination came to give me a sense of freedom, the power of using my discretion, and finally a sense that I was a valued contributor.
You can infer from the above what I disliked about the profession as I was aging out of it. My general sense is that the industry became too big though and too much money riding on it for management to entrust it to the "funny farm". But of course we cowboys who came up in that ward liked it the way it had been.
> But since I retired a few years ago it was clearly not LLMs that precipitated the decline of my enjoyment of the profession. Instead it was the slow erosion of agency and responsibility that did that.
I've been working on a contract for a large corp. They asked me to design a piece of software over 6 months which I delivered on time and worked great — by the time we had to ship into PROD, the whole thing was canned unceremoniously.
Luckily they liked my work so much they moved me to another greenfield project. Worked on it for a year, had to invent novel solutions which I'm pretty proud of, and we shipped into prod last Autumn. I haven't heard a peep from anyone, whether the thing is working and by masterful skill of mine it hasn't crashed yet, or if no one is using it and it was just another bullshit job.
All this work, good pay, and nothing to show for it. Not even a pat in the back. I'm just a well-oiled cog in an unfathomable machine. I wonder if my career has any meaning at all. Recently they've asked me to deliver a feature for yesterday because of bad planning on their part, and when I mentioned how long it'll take, they've half-jokingly suggested to use LLMs so I can ship it in half the time to make their arbitrary deadline.
Joke's on them, in less than 6 months I'm out. 20 years as a software engineer, 15 as a contractor, and all I feel when I get at my desk is existential dread. There is just no pleasure at it, that I'd rather risk poverty but feel like my actions and efforts have tangible effects on the physical world.
Was producing more mediocre code ever the problem? This all feels like a Kafkian fever dream.
When I started the things that made you good in this industry got you bullied - or worse - in high school, and we were not the ones invited to parties during university. Then with all the success and money it attracted the wrong motivations; no longer did you build software to change the world, but to get rich and change your world. And now the circle completes, as those who got rich but could not affect the geopolitical changes they wanted via their work are doing it with their money.
Do you still code? What’s your take on working with LLMs and agents? Does it reignite the same spark OP is talking about?
> Yeah, that's what happens to someone's code when they moves on—becomes someone else's sandbox and they are free to knock down the castle, build another—Chesterton's Fence not withstanding, ha ha.
As someone who references Chesterton’s fence often, I not only agree the code often gets rewritten when someone moves on, I even think it’s often the right thing to do - for medium to small projects where there is one or only a few people who own the code. The reason is because I’ve seen what happens when you don’t rewrite it - the new owner(s) don’t have intimate knowledge of the codebase, and as a result, they work at the speed of molasses regardless of their skill. I have left code behind to people who are better coders than me, and it took years for them to become productive.
To be fair, I have also seen large projects with many people get rewritten and have Chesterton bite back hard, having the projects go late, cost enormous sums of money, and end up as bad as the first time, so rewrites certainly aren’t always called for.
This is all changing dramatically with Claude, BTW, people can now get into a codebase and be productive without rewriting it. They might not understand it, but this is a positive development of some kind at some level.