My Thoughts on the AI Revolution

Is AI going to replace engineers? A post about AI, written with the aid of AI.

I've been thinking about AI a lot lately. Some recent AI tools are so amazing that I can't help but wonder if they are going to replace me as an engineer.

As I'm writing this post, Copilot is suggesting sentence completions to me, and it's not doing a great job, so I feel a bit relieved. But what if it gets better? Or what if it's already so good, that it purposely suggests bad completions to me, just to make me feel better?

As far as I can tell, product managers are by far the most excited about AI. I think that they see it as a way to access the engineering world, without having to learn how to code. A way to build products without having to rely on engineers. At the same time, some engineers are less excited about AI because they see it as a threat to their jobs.

A good friend of mine (who is a PM, of course) has been showing me the newest AI tools he has been using, and he got me intrigued. So I decided to give tools like Claude.ai, Base44, and Lovable a try. And although it was fun, I didn't find them to be that useful for anything beyond an MVP,

Then I played around with Copilot in VS Code, and I was blown away. With Copilot Edits, I can verbally explain what I want to do, and Copilot creates new files, modifies existing files, and explains all the changes it made. I asked it to convert a small project of mine from Vite to Next.js, and it did a great job. All I had to do was run npm install and npm run dev, and it worked. This is exactly the sort of thing that I wouldn't want to do manually!

Will AI replace engineers?

Here's my prediction: I don't think that AI is going to replace engineers, lawyers, or doctors. Just like the electric drill didn't replace the carpenter.

I believe that AI is going to do for the software industry what higher level programming languages did to assembly-dominated software industry back then. It's another step away from machine language, and toward natural language human-machine communication, which is similar to what higher level programming languages did.

To take my carpentry analogy a bit further, just like a carpenter sometimes needs to do delicate things with hand tools instead of power tools, engineers will still need to dive into the code and do things manually. By the same token, just like power tools made carpenters more productive, AI will make engineers more productive. We will be able to focus on the high level stuff, and let AI do the low level stuff. This will allow us to build more complex systems, and to build them faster.

Asking the right questions

I'll conclude with an example from an issue I had with Copilot. I have a Next.js app, and I wanted to detect broken links by adding logs to my 404 page, with the referrer URL and the user agent. I asked Copilot to do it for me, but no matter what I tried, it kept suggesting code that didn't work.

I finally gave up and began my own research online. I found that 404 pages in Next.js are not server-side rendered, so you can't access the request object. The solution was to use document.referrer and navigator.userAgent after the page has loaded.

Copilot didn't suggest that to me because I didn't ask the right question. I was asking it to do something that was impossible.

AIs will always need to be guided by skilled humans, whether at the training stage or at the usage stage. I assume that certain low-skill jobs will be replaced by AI, but on the other hand new jobs will be created, and we're already seeing that with the raising demand for AI engineers.

I embrace this amazing new technology, and I can't wait to see what the future holds.

Let your buddies in on this fantastic content!

A newsletter for front-end web developers

Stay up-to-date with my latest articles, experiments, tools, and much more!

Issued monthly (or so). No spam. Unsubscribe any time.