I'm a back-end engineer. You give the back-end some inputs, it does some magic, and returns a result. Pure data, I get that. Don't get me wrong, the magic part can get pretty intense. Sometimes you find yourself in a dark forest left by previous developers, and if you don't watch out, you encounter dragons. Slaying these dragons is the best part, though.

I didn't always work on the back-end. My first job had me building a front-end application in Angular. It quickly became clear it wasn't for me. I have no interest in visual design, and CSS wasn't helping. Trying to move a given HTML element 3 pixels to the right, only to discover I've now made it purple, made me want to go back to the dragons again.

I've been watching front-end technologies evolve over the years, but I was comfortably slaying dragons and didn't feel the need to switch. Then a project came along that threw me back in. A client needed an Angular application, and for once, the visual side was taken care of; a designer had already done the hard work. And with Tailwind, building the front-end started to feel like a colouring book.

With my interest in front-end rekindled, another new project landed on my desk. A customer needed a redesign of their React front-end application, and I'd be the only developer on it. The original idea was to rebuild the application in Angular, as I was already familiar with the framework. A rough estimation showed that rebuilding would have been a costly undertaking, as everything needed to be built from scratch. So why couldn't I redesign it in React?

I'd dabbled in React before, with some smaller toy projects, but only ever dipping a toe in the water. Building a whole application by myself was diving into the deep end. Luckily, I was thrown a safety buoy in the form of an AI agent. By using this agent, I could start focusing on the bigger structures and building features, and let the AI handle the code and components. In no time, I got something I could happily present.

Behind the scenes, of course, I reviewed all the code as it was generated. At first, my feedback was minimal, mostly because I didn't know React very well. Renaming a variable, adding an early return, the kind of feedback any back-end engineer could give. But as I got more fluent, I started thinking about bigger things: how components should be split up, how to make them reusable. The more code I reviewed, the more the patterns started clicking. Reviewing turned into learning, and before I knew it, I was writing bits of it myself.

So here's the thing I didn't expect going in: I came out of this project actually knowing React. Not just able to prompt my way through it, but genuinely understanding what the AI was building for me. And that turned out to be the real unlock. Once I understood how components should be split up, instead of accepting whatever sprawling shape the AI first produced, my prompts got sharper, the output got cleaner, and the whole thing snowballed. Same AI, better results, and the only thing that changed was me. The boundary between technologies is dissolving. It's not that a back-end engineer couldn't build a React app before; it's that the cost of entry has collapsed. But understanding the technology hasn't become less important. If anything, it's become more important because it's what turns the AI from a code generator into an actual force multiplier. The dragons are still there. You just get to slay bigger ones.