As I am writing this, I am looking at articles that estimate the layoffs from big tech companies in excess of 100,000, attributed to efficiencies from AI implementation. As a twenty-year veteran of the tech industry, I feel the uncertainty of this era where writing prompts is becoming just as important as writing lines of code. Unfortunately, curiosity became greater, so I decided to write an application using predominantly AI.
The tool of choice was Claude, and the application started out as a generic front page, a set of links for documentation, and a few settings updated. I asked AI for a set of instructions (a prompt) to give me a fully-featured application, giving what I had done, how the application was set up, and what features I wanted to see. Within a few seconds, I had a prompt that would have spanned pages if I had printed it, with the meager features I had given it exploded into a rich set of detailed expectations. I read through the prompt, then started up Claude in my simple application. What would have taken weeks to write, including researching the interfacing with other systems, Claude gave me code in less than an hour.
Holy smokes! I had an actual working app with passing tests, passing linting, and passing security scans. I went through the code expecting to find a mess, but it was easy to read. Some files I would have organized differently, but nothing was broken and nothing was alarming. I felt a pang of worry because I see the draw towards using AI to make work more efficient, but I also knew how Product Managers feel: write what you want and it magically appears. 😄
It wasn’t the full “write prompt, commit code, go to prod” flow like vibe coding makes it seem. I did have to review the changes and guide Claude and make the architecture decisions. It was almost like the observer during pair programming where two engineers talk through making changes to code, or where a senior engineer talks a junior engineer through changes.
“Wait. Does this mean the senior engineers can be replaced with junior engineers and AI?” Not exactly, in my opinion. The way I see it is that the transition from junior engineer to senior engineer requires learning fundamentals, and not learning these fundamentals presents a potential difficulty in the guidance, appraisal, and scrutiny of the code created.
AI is the toothpaste, and it’s out of the tube. To springboard off a previous post (“From Perl to AI Agents: How Web Development Grew Up”), I see AI coding agents as a tool we should learn how to use as a complement to what we learn as software engineers. Similar to how we went from a standard text editor to an integrated development environment (IDE), this next generation can be very helpful in creating what we have in our imagination.