The good old days

Old man yells at cloud

I've always loved technology, even if it was just for technology's sake. Maybe especially if it was just for technology's sake.

I've loved computers since I was six, when I got my hands on a GameBoy with Tetris. I've known I wanted to be a programmer since I saw older kids play video games on DOS computers. And I've been programming since I first bought a computer with QBASIC when I was 10 for the equivalent of €12.

Throughout my life, programming and writing software has been a constant. I learned QuickBASIC from the F2 help file, and Java and C++ from second-hand books before I had easy and frequent access to the Internet.

In early high school, I used to download tutorials and demo programs to floppies from the Internet at school to try them on my own computer and tinker with them. I wrote small games on a TI-83 calculator during classes.

I loved the thrill of learning how a machine operated and how to manipulate it into doing something I thought was cool or interesting and occasionally even useful. There is a certain kind of rush I felt, and I'm sure many of you have as well, when you build something and it compiles and maybe it actually does the thing you're trying to achieve.

But I realize those days are now and forever behind us. I have felt that rush for the last time somewhere in the past. The thing I loved is gone.

The art and skill of writing code, and even of understanding the machine or the system, is losing its value and purpose at a rapid pace.

It is certainly too late for the software developer in this sense as a career. Writing code and solving problems the artisanal way, by thinking hard and long about a problem and trying things out yourself and internalizing what works and what doesn't, is gone. No longer economically viable.

The machine can now do it. It can do it faster and cheaper than you or I. Maybe it can even do it better, or will be able to do it better in the future. But even if it doesn't get better - it can do it well enough for people and businesses to no longer value our skills and knowledge.

Unlike with music and art and other creative fields, people don't actually care about the code. They don't care what it looks like or what it does behind the scenes or that a machine made it. They care about what the software does for them. The code itself is a side effect. A means to an end.

We can't go back. You could say "but you can still do it the old way as a hobby". Maybe. But what's even the point anymore if any person with basic reading and writing skills can now write a half-baked idea into a chat window and the machine will spit out a mediocre, somewhat functional piece of software that gets you 80% of the way there with zero effort.

All that is left is to clean up what it spit out and ask the machine again, and again, to fix whatever it is that was wrong with its first understanding of your problem description. That is what software engineering as a profession has become. Reviewing the massive amounts of slightly awkward, uncanny valley code some alien machine wrote.

It used to be that we had some leverage because of the scarcity of software engineers, the cost of code, and the demand for more code to do more things. But now all of that is gone, because code is cheap and easily replaced and obsolete in about 48 hours anyway.

Some argue that the problem has moved up the stack, to larger scale reasoning and design. But my experience is that the machine can do this as well for a large part already, and it is improving at a fast enough rate that I don't think anyone can climb the stack fast enough to avoid being outrun.

Our days are over. It was good while it lasted.

And now I, like many of you, am stuck. We're stuck in this system where we are tasked with steering and correcting the machine that is doing all the things that once made our jobs interesting, and we're left with the annoying bits we had before, and reviewing the endless stream of code the machine now produces.

The game has changed, and I'm not sure I want to play anymore. But the game I don't want to play is the one I need to play so I can buy food and pay my mortgage. There is no other pill to take, so swallow the one that makes you ill.

Like many of you, this is all I've ever done. If this career path disappears, as it suddenly and quickly appears to be, I'm not sure what I can do instead. I can't think of anything I can enjoy that can earn me a living wage. Even the things I'd dread to do but fall within my skillset would be a big financial downgrade.

For now, there are still jobs, and you can still work in software engineering. But I'm worried in five years' time, there might not be, and I will be left with no marketable skills in a job market that by all accounts is looking more and more like a dystopian nightmare for a lot of people.

I know this is a long rant that most of you have heard a dozen times before in better words than mine. And I'm probably going to come off as old and bitter to a lot of people in this post. Some might think I'm being dramatic and I should consider myself lucky to have been able to do something I loved for a job for 15 years.

But I still have a profound feeling of loss and helplessness of a world that suddenly seems to have moved on without me.

The state of software development today reminds me of the words a wise man once said: "I wish there was a way to know you're in the good old days, before you've actually left them".