Yes, AI is taking your development job (but it's ok)

Aug 2023

These is a sea of short-term thinking right now about AI. We saw a huge spurt of euphoria a few months ago around the possibilities of LLM-based life...

  • it will write your blog posts!
  • it will code for you!
  • it will personalize every part of your life!
  • it will change everything!

I'd like to explain why, despite those promises falling short, I remain extremely bullish.

Then I'd like to make a few bold predictions about where I see the web software industry going over the next decade.

AI and the trough of disillusionment

Even world-changing technologies exist within hype cycles, and AI is no exception. The March-May 2023 burst of excitement has been followed by a trough of disillusionment, where developers over-correct to thinking that AI will be fail to meet any of the promises it makes as a technology.

In this way, I've seen some people say that AI is like crypto...big on promises, low on delivery.

AI is nothing like crypto. Unlike crypto, AI is coming for your job.

How AI will take your job

A few months ago, when I needed to write a regex, I wrote a regex. And then it didn't work. So I googled and searched and tinkered and an hour later, I had a working regex.

But today, I plug my request for a regex into ChatGPT and it just works.

In that way, GPT has "taken" my old job of writing a regex...It's categorically better than I am at that task, which I am glad to never do again. Granted, writing regex is about 0.02% of my full job...so my job is now 98.98% me and 0.02% LLM.

Now, can AI do anything else? Sure!

I hate writing tests, so I'm working on a Laravel package ("Speedrun") that's capable of automatically writing tests given a set of code. The LLM gets a very complicated prompt, with all the code, and creates the test. Then Speedrun places the test, runs it, and fixes any issues.

But wait!

I hate tests so much that I never write them. It should be 5% of my job, but I always skip it because I'm lazy and have bad habits.

Now that Speedrun + the LLM are writing tests for my projects, my job is now 98.98% me, and 5.02% LLM. I'm well on my way to being a 10X developer! ;)

AI is going to incrementally chip away like this for a while. Businesses which take advantage of the gains will be able to offer their services at a discount compared to exclusively using human labor. This discount will result in relatively higher revenue, which can be reinvested in more automation. Developers at these businesses will spend dramatically less time staring at a piece of code wondering why it doesn't work, and much more time trying to understand requirements and express those requirements in a way which is clear to both the client and the LLM.

This effect will continue, slowly, until one developer in 2030 will be capable of developing applications twice as fast as they could have in 2022. In this way, AI has "taken" a job, which will result in some balance of both industry growth and overall shrinking wages.

Now, a few more speculative predictions:

1. The rise of templates

So far, a very large amount of web software development is substantially custom. It's sort of like we're all tinkerers in a handcrafted shop, meticulously building each individual app.

But over time, we will discover that super customized apps are really expensive to build and maintain, and probably don't add as much value as we once thought. Plus, LLM's are bad at making truly custom work. They are excellent at regurgitating new versions of what they've seen and rather poor at abstract system development.

We're entering the "factory" phase. Building software based on pre-fabricated templates will be so much cheaper that 90%+ of web software will be built with them in 10 years.

A template is essentially a collected set of assumptions and opinions about what the app will be. This would include sample views, and a list of required packages.

2. The rise of the product manager

One of the primary reasons I get paid good money as a developer today is because I have a relatively rare ability to debug a system AND have made huge time investments into learning complicated syntaxes, languages, and software development concepts. If it breaks, I can probably fix it.

But soon, the particulars of syntax will be secondary to the ability to communicate with both the client and the LLM, which is the work of a good product manager. As these systems improve, a PM will have much more direct ability to change the functionality of a system without needing as much developer intervention.

3. The fall of the labor class

Web software development is about to get easier. Trust me. To the extent that it gets easier, we'll be able to do more of it, which is really good so long as much of the world still runs on files that look like q4-2023-income-statement-v7-FINAL-[recovered].xlsx.

But it will eventually have the effect of shrinking wages for the labor class and increasing profits for the owner class.

Best to figure out how to be an owner, now.

Conclusion

It's a great time to be a web developer. There are ways in which AI is intimidating, since I used to think my super-power was debugging things, and AI is better than I am. But AI is about to take away a lot of the frustrating bits of coding and free us up to spend more time doing the fun bits.