The blindingly rapid advance of Generative AI, mass technology layoffs, every other update on artificial intelligence signals the end of an era. The information age had its time, the experience age has barely made a blip - this is the age of AI. Coding, as we knew it, is dead — long live engineering!
Originally published on Medium on March 13, 2024
Let me explain:
I began coding from around the age of 8 or 9 on a Commodore 64. It was an exciting time — there were only four channels on the television, so seeing the things this machine could do were mind-blowing!
My brother and I tried, and failed, to copy the code listing from the back of a manual or magazine my memory escapes which. Frankly, we had zero idea what we were doing. We were simply blindly copying words and numbers onto the screen without understanding — pages upon pages of code listings, in the hope that the program would run. It didn’t. We clearly got something wrong because we were met with errors that similarly meant absolutely nothing to us. It was disappointing. However, that ‘failure’ wasn’t the end of something — it was the beginning.
My first computer language — BBC Basic
Why did it fail?
What did the code even mean?
Our curiosity was piqued and we were hooked. Per a conversation with my mother, who was responsible for bringing these instruments of mass curiosity into the home:
You were always a knowledge freak… [that] encouraged you to experiment more.
I knew from that moment onward that this is was the field I would pursue in life. I had a ton of other interests, sure, but this — this feeling of experimentation, of problem solving, of designing, building, commanding, bending computers to will— was the feeling I wanted to chase the most.
Anyhow, a quick time skip later I was graduating with a degree in Computer Science because I knew that was the only way for a person in my position to get his foot in the door. Bootcamps didn’t exist and if they did it wouldn’t have mattered at the time—top employers were only really taking university/college graduates and even then they were looking at top universities or asking for more experience in languages than either was possible for a graduate or more than the language itself was in use for. Further still, there were few who looked like me on this journey.
Fast forward to now, and if you read my last post, then you’ll know that in the roles of engineering manager and product owner, coding itself doesn’t make up most of my day. No, I spend more time reading code than writing it and more coding for fun than coding for work. When I do code, one of Cody/Codeium is sat busily in my Neovim or VSCode autocompleting my thoughts like magic. Many others are using Copilot to increase their productivity.
The trajectory of AI in our field is undeniable — and it doesn’t just want to sit there as every coders best friend — it’s on the way to take the jobs of coders everywhere.
This is The “Age of AI”
Devin: Bard/Poet (also meaning ‘godlike’ for the French)
Yesterday, Devin (meaning Poet) was announced seemingly innocently with the line: “Meet Devin: The World’s First AI Software Engineer” by a smiling “Human Software Engineer”:
Devin is a tireless, skilled teammate, equally ready to build alongside you or independently complete tasks for you to review.
Devin can:
learn how to use unfamiliar technologies.
build and deploy apps end to end.
autonomously find and fix bugs in codebases.
train and fine tune its own AI models.
address bugs and feature requests in open source repositories.
contribute to mature production repositories.
[take] real jobs on Upwork and it could do those too!
Now, whilst Devin can’t match current software engineers in capability it’s not the only AI agent on the rise, and based on the frequency of mind-blowing AI updates these days, it will only be a matter of time before it does.
Understandably this announcement was met with loud screams from the collective software engineering world:
I was drawn to the tweet by @metric_dev: https://x.com/metric_dev/status/1767643959004717257
I don’t understand why developers are willingly coding the entire industry out of jobs. I understand why companies would want this, but I don’t understand why developers are willingly doing this and coding themselves and everyone else out of being able to get good paying jobs.
To answer this question: If you’ve watched Oppenheimer you might have come to the realization that humans — driven by intellectual curiosity, or perhaps the desire to be the first, or fame, or fortune, or even a view that it will somehow be a net benefit to humanity — have a tendency to create the instruments that have significant consequences that are perhaps not a net benefit to humanity.
Or perhaps it will be? The outgoing (or parallel) “Age of Experience” has just brought us a $3500+ device that will only be experienced by the few — looking at you Apple Vision Pro, so I suspect that in many ways AI assistants have the capability to widen the gap between the haves and the have nots.
Furthermore, for many (though not all) companies, 10X development enabled by AI is not really about empowering developers or multiplication of productivity at all, it’s about division: why pay for 10 developers when you can pay for one that can now do the work of 10? Generative AI / or LLM/AI may be a race toward producing average results (on that please do read this article — it’s insightful), but when it comes producing code to get things done — average is often a good enough start.
Generative AI in particular has disrupted pretty much every industry already. At this point it would really be conceited to think that coders — the very ones introducing it (alongside their data scientist kinsman) could escape it.
There just one thing:
Coding is not, in itself, engineering.
Definition: cod·ing /ˈkōdiNG/
- the process or activity of writing computer programs.
Definition: en·gi·neer·ing /ˌenjəˈniriNG/
the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.
the work done by, or the occupation of, an engineer.
the action of working artfully to bring something about.
Engineering was always about more than just writing code. True engineering involves creativity and creative thinking, problem solving, computational and critical thinking and it is those with or building those attributes that will be above average when in what remains of the field. Those engineers will still be needed for anything complex or large scale. The ‘art’ of bringing something about, the tools of the trade, have simply changed, diminishing the importance of code writing by itself.
If you just hopped on the bandwagon or were just writing code without any understanding, care for the domain/business, or ability to ideate, then it’s time to take a look in the mirror and re-evaluate your career choice as you may find yourself in the position of being the ‘middle-man’ someone wants to skip.
The barriers of entry have been lowered yet again, just like with other ‘low code’ or ‘no code’ movements before it, frankly for the better:
The hottest new programming language is English
English (or whichever language you know) is now the the programming language of the future. Those with the biggest imaginations and strongest domain knowledge will wield these new tools the most ingeniously and those with the strongest engineering nous will wield them with the most skill, but now EVERYONE CAN CODE.
So why not be curious? Be a ‘knowledge freak’! Experiment more! Who knows what you will artfully bring about?
I’ll be sad to see it go but it’s not so much about the end of something but the beginning new. Coding, as I knew it, is dead — Long live engineering!
Disclaimer:
The views and opinions expressed in this blog are based on my personal experiences and knowledge acquired throughout my career. They do not necessarily reflect the views of or experiences at my current or past employers