The Age of Product Engineering Is Here
Like most developers I know, I’ve been heavily encouraged by my employers to play around with LLMs and agentic development workflows. For the past few years, I’ve been firmly in the lukewarm camp. I’d dabble here and there, but the hallucinations and erroneous facts left a sour enough taste that I shelved them. Figured I’d check back in once the hype cooled.
It hasn’t. If anything, the last 6–12 months have brought an exponential jump in quality. Sonnet 4.5 and Codex 5.3 were real milestones—both in coding performance and raw speed. Industry adoption grew. The hype only got louder. And when my employer gave us access to these tools, I could finally experiment on their dime instead of my own. So I gave it another shot.
The environmental and societal weight of all this isn’t something I’m dismissing—it’s a constant thought in the back of my mind—but it’s also not what this post is about. What I want to talk about is what it actually feels like to use these tools as a Product Engineer. As a former nay-sayer, I get it now. It’s still not perfect, but this is something I’ve been dreaming about since I was a kid. Not this exact scenario, but the feeling it gives you. The output multiplier and feedback loops. We’re there.
I’m someone who’s always seen programming as a means to an end. I have enormous respect for true Software Engineers—real Computer Scientists. The people building the tools, systems, languages, and platforms the rest of us build on top of. But I’m not one of those people. I like building to solve human problems, not technological ones. Tooling and coding ceremony have always felt like they stood between me and actually getting shit done. I learned how to code to solve problems with technology, not for it. I do still enjoy programming (the flow state is hard to beat, and product management sure as fuck doesn’t send you into flow), but the grunt work and poor developer experience have always taken the wind out of my sails. Especially in the javascript ecosystem.
LLMs feel like they’re finally at a point where people like me can get the best of both worlds. Get into flow, and have “someone” to handle the stuff that slows you down. Focus on gathering the domain context, understanding the user need, and lay out the foundations for what needs to get done; then let the model execute on it. And execute on it at a quality that’s close enough, sometimes on par, and occasionally better than what I would’ve produced myself. We can focus more on outputs, and shorten the feedback loop between idea and usable product.
I still fully believe we’ll need Computer Scientists. LLMs won’t change that. But I do think we’re heading toward a two-class system I’ve seen coming for a while now.
For a long time, I imagined blue collar programmers would be people plugging together logic blocks, and white collar programmers would be the ones building those blocks and the infrastructure that houses them. Maybe we still get there eventually. But for now—and probably the next 10 years—it looks more like this: blue collar programmers will be prompting LLMs and reviewing output; white collar programmers will be building the platforms, agentic systems, and tooling that blue collar programmers use. Product Engineers will likely fall into the blue collar camp. Data Scientists, ML Engineers, Systems Architects—white collar.
That framing rattled me at first. There’s a real ego bruise in accepting that the uniqueness of your skillset is becoming commodified. The economics underneath it aren’t simple either—historically, blue collar work gets squeezed while white collar captures most of the value. Whether that plays out the same way in software is something I genuinely don’t know yet. What I do know is that two months of daily use has made me a lot more comfortable with where I sit in all of this. At least from a career standpoint. As someone who’s spent the last ~5 years of their career shifting into more product and design thinking, I feel like I’m better positioned than ever to capture value from these tools.
If you’re still on the fence, I’d really encourage you to give LLMs a shot. They are not human replacements—or at least, they shouldn’t be treated as one. They’re tools. Really good ones for the specific things humans tend to be slow at. Coding logic, typing, bouncing around files, working through implementation details—LLMs are genuinely good at that. And the skills you’ll want to sharpen to adapt? They’re the ones I’ve seen a lot of engineers avoid improving:
- Psychology and behavioural economics
- Gathering and holding business context
- Design as a discipline
- Communication and writing
- Interpersonal skills
If none of those sound appealing—or feel genuinely out of reach—then leaning harder into the white collar path is probably the smarter move. Go deeper on ML/AI systems design, computer science, mathematics.
For everyone else—the design, front-end, back-end, UX engineers—now’s the time to lean into Product Engineering. Keep your coding skills sharp enough to review output critically and reason about systems clearly. But really, and I mean really, invest in your soft skills. That’s where the leverage is going to live.