Skip to main content

Is it worth becoming a Software Engineer in 2024?

Null

In this article, I'll make the case for why the answer is "Yes, you absolutely should learn software engineering."

If a younger version of myself were transported to 2024, I know he'd be asking this question. I can only imagine the anxiety that young software engineers must be feeling about it. There are countless Reddit and Hacker News threads for aspiring developers discussing the topic.

AI is a tool

Will Software Engineer even be a job title in 5 years? 10 years? It shouldn’t be a surprise that people are asking this question in the context of the proliferation of generative AI. I believe that there will always be a need for at least some human oversight when it comes to AI code generation. The demand for talented engineers who exude creativity will always be there.

2025 will mark the 10-year anniversary of me starting Computer Science at university. When I first set foot in the markedly dark Kilburn building (there’s NO natural light - Manchester PLEASE install some windows!) I felt SO out of my depth. I didn’t even know what an ‘if’ statement was. A ‘variable’, also no idea. When it came to coding assignments, Google and StackOverflow were my best friends. Is generative AI used in this way so different? Possibly not, but there could be a risk of overreliance when it comes to learning with it.

survey conducted by Gergely Orosz and Elin Nilsson explores this topic asking seasoned engineers. Some engineers are extremely bullish on the future of AI, most less so - one response states “Copilot is like pair programming with a junior programmer. I use it to do the rote work of filling in the details of my larger design”. Admittedly, I agree with this statement and think there is a short-term temptation for corporations to hire fewer junior developers. This is short-sighted. Junior engineers are so much more valuable than the code they write - their value lies in the fresh perspectives they bring, the candid questions they ask and the fact that you can mould them into the more senior engineers (and team members) that you eventually want to have.

Where is the creativity?

Large Language Models (LLMs) lack creativity, (at this moment) they can only output something they’ve seen before (i.e the dataset that they’ve been trained on). If their original data set is garbage then that’s all you’re going to get in the output. They can’t think; they just predict the next character (or phrase). This means they can’t solve novel problems that engineers encounter all the time, especially in abstraction and system design.

It’s easy to see where you can get stuck in a LLM training loop (e.g Garbage in, Garbage out. You may think “Why not just train on data before (say) 2022?”, to which I ask: “What happens when we run out of data??”. I think this is already our reality, and I think humans will be required to fix the mess.

As I previously mentioned, I am actually personally worried about the over-reliance from junior engineers (and to be honest, anyone) for learning with AI. Could we reach a point where juniors never learn the “correct” way to do something? I’m not sure what will happen in this case, but the goals of the big AI companies are to make sure their models are not trained on rubbish.

The fact that LLMs need to be trained means that they struggle with novel technologies, and they will often hallucinate but with confidence which makes it all the more dangerous. I don’t see a way around this problem currently, however, I’m sure a lot of people who are cleverer than me are working on it. At a recent developer meetup I attended, we were discussing whether we’ve witnessed the last new (human) written programming language. Maybe we have? That is a scary thought.

It’s our duty to fix things

Have you heard of the dead internet theory? It’s the theory that most of the activity on the internet is conducted by bots and most of the content is autogenerated by tools like LLMs. I alluded to it earlier in this blog post. A recent study (June 2024) conducted by researchers at AWS was literally called “A Shocking Amount of the Web is Machine Translated: Insights from Multi-Way Parallelism”. I’m not usually someone who buys into conspiracy theories; however, it seems we’ve passed the tipping point where the majority of content on the web is machine-generated. This is a great shame. I believe that LLMs lack creativity and I think it’s our duty to fix the internet.

Front and centre of this battle will be (are!) software engineers. Software engineers built the internet and they are continuing to build it. They’re building meaningful projects and equally they’re building silly stuff that means nothing! That truly is the beauty of the internet.

Here are some makers who are building stuff to make the internet feel alive again:

  • Nolen (@itseieio on X, formerly Twitter) built One Million Checkboxes - a fun little website that is literally one million checkboxes, the twist being it was a multiplayer experience. A box you check gets checked for everyone else. He was expecting a handful of people to try it but a tweet of his went viral, and in the end over 650 MILLION checkboxes were checked! Insane. He’s written extensively about his experience building the site, including an absolutely charming story about finding secret messages and communities within the checkboxes. This is the best way to learn software engineering by the way - throw goofy projects out there as soon as you can, if people use them, fix the issues and scalability etc. I would wager that Nolen wouldn’t have even launched OMCB if he thought about scalability beforehand, this way he’s probably learned as much as years of experience of a 9 to 5 SE job would teach you.

  • Spu7Nix’s “How I made a 3D Level in a 2D Game” is another example of how ridiculous passion projects really resonate with the internet. He spent many months building a 3D level in geometry dash (a 2D platformer) using clever programming tricks. It’s hard to explain in writing but, I would highly recommend watching the video if you have a spare 20 minutes.

  • Jacob Bartlett’s “My Toddler Loves Planes, So I Built Her A Radar” is possibly the sweetest story in the Software Engineering space I’ve read. You can build such meaningful experiences for your loved ones if you learn software engineering. LLMs will never replace the creativity of humans.

I won’t detail every example I find inspiring but here are a couple others - Jacob Binnie (building a startup from scratch after having been fired and documenting it on YouTube), ThinMatrix (talented game developer making his games in his own game engine),

Partially inspired by the above I built my now fiancée an app to propose to her. It was a treasure hunt around London, visiting places that mean a lot to us, coupled with clue reveals from games inspired by the New York Times style games and Geoguessr. I’m so glad I built this little app. The day I proposed is one that we’re going to remember for the rest of our lives. Oh, she said yes by the way! Stay tuned, I’ll tell the story in more detail very soon.

All of this to say: Build stupid things. Build meaningful things. Build things no one uses. Build things for yourself. Build things to change the world. Join the fight!

Admittedly, this article only stands as true in my mind as of writing this in September 2024. This space moves quickly and things can change, however, I do believe Software Engineers are and always will be artists. We are the architects of the silly internet, and you can be too. I think that is beautiful.

Click here for insights into staying motivated as a Software Engineer



Looking for something else?

Search over 400 blog posts from our team

Want to hear more?

Subscribe to our monthly digest of blogs to stay in the loop and come with us on our journey to make things better!