← Back to Library

The product-minded engineer: The importance of good errors and warnings

In an era where artificial intelligence is rapidly automating code generation, the most critical skill for a software engineer is no longer syntax mastery, but the ability to design for human and machine comprehension. Gergely Orosz makes a compelling case that as AI agents take over the mechanics of building, the engineer's value shifts entirely to defining what gets built and how it fails. This piece is notable because it moves beyond the hype of "AI writing code" to a pragmatic, often overlooked reality: if error messages are vague, the entire automated workflow collapses, costing money and time.

The Rise of the Product Engineer

Orosz frames the industry's trajectory around a specific, evolving role: the "product-minded engineer." He observes that nimble startups are already recruiting professionals who act as "blends of mini-product manager and software engineer." This shift is not merely a buzzword; it is a structural necessity driven by the efficiency of AI tools. As Orosz notes, "being more product-minded could become a baseline at startups because it's increasingly important to specify what an AI tool should build."

The product-minded engineer: The importance of good errors and warnings

The argument here is that the separation between "thinking" (product) and "doing" (engineering) is dissolving. Orosz highlights that while pairing with a product manager is ideal, the new reality demands engineers to internalize this mindset independently. He points to the upcoming book The Product-Minded Engineer by Drew Hoskins as a timely intervention for this gap. Hoskins, drawing on two decades of experience at giants like Microsoft, Facebook, and Stripe, argues that the traditional engineering curriculum has a blind spot. As Orosz summarizes Hoskins's view, "It's well-known stuff, but nobody bothered to inform engineers about it." This reframing is powerful because it suggests that the barrier to entry for high-impact engineering isn't technical complexity, but a lack of exposure to product empathy.

Diagnostics may be the most important interface of your product.

The Hidden Interface of Failure

The most striking section of the coverage is the deep dive into "Errors and Warnings." Orosz and Hoskins challenge the common engineering tendency to treat error handling as an afterthought—a necessary evil that doesn't appear in marketing materials. The commentary correctly identifies that in an AI-driven workflow, these messages are not just for humans; they are the primary instructions for autonomous agents. If an AI agent encounters a cryptic error, it cannot self-correct, leading to a costly loop of retries. Orosz writes, "Because agents are billed based on usage, the costs are directly measured." This is a crucial financial argument that elevates error design from a user experience nicety to a core economic lever.

Hoskins's advice to engineers is to "Ask 'why' a lot" and to "Switch your viewpoint. Go from the system level, to the user lens, and then back again." This advice is practical, but it requires a cultural shift. Orosz illustrates this with the example of John Carmack at Oculus, who "doggedly pursues the most important product goals" despite being a technical genius. The implication is that technical depth without product context is insufficient in the modern stack. A counterargument worth considering is that not every engineer has the bandwidth or the organizational support to deeply engage with user scenarios, especially in high-pressure environments. However, Orosz suggests that even small steps, like spending time on customer support, can bridge this gap.

Designing for Two Audiences

The excerpt from Hoskins's book introduces a nuanced categorization of errors, distinguishing between the "human one" and the "programmer one." Orosz explains that engineers must "pitch your message to the right person in the right circumstance." This is a sophisticated take on communication design. The classic example of the "PC Load Letter" printer error is used to demonstrate the cost of speaking the wrong language to the user. As Hoskins notes, the error "failed because it was speaking to the wrong persona," confusing a user with technical jargon instead of a simple instruction.

Orosz emphasizes that this distinction is even more critical for APIs, where upstream developers must be able to catch errors and automate responses. The text argues that "shift left" strategies—firing errors as early as possible—are essential to speed up users and prevent bad outcomes. This aligns with the broader trend of moving quality assurance earlier in the development lifecycle. However, critics might note that over-engineering error handling can lead to bloated codebases if not managed carefully. The key, as Orosz implies through Hoskins's work, is balance: providing enough context for recovery without overwhelming the user with noise.

It's easier than ever to gather user signal with AI tools.

Bottom Line

The strongest part of this argument is its identification of error messages as the primary interface for both human users and AI agents, transforming a technical detail into a strategic business imperative. The biggest vulnerability is the assumption that engineers have the autonomy to redesign these systems without significant organizational buy-in. Readers should watch for how companies adapt their engineering hiring criteria to prioritize this "product muscle" as AI adoption accelerates.

Sources

The product-minded engineer: The importance of good errors and warnings

Before we start: I’m hiring!

The Pragmatic Engineer is not a typical publication, and so this is also not a typical role. I’m looking for someone to help research and compile Tuesday deepdives like the one on Cursor, on Claude Code, on Stripe, and many others. This position will include directly talking with engineers at interesting companies, researching both public details and details made exclusively available to us, and compiling what we learned into detailed reports.

If you’ve worked at startups or Big Tech for a while, would enjoy working full-remote, keeping up with the cutting edge of the industry sounds interesting, and you’d enjoy doing something that can start as part-time: read more and apply here. Applications close Monday, 26 Jan.

One trend in tech is that more startups are hiring for “product engineers” or “product-minded engineers”, who can implement products and also come up with strong product and feature ideas, then build them. This trend of engineers’ involvement from the ideas stage through to shipping looks set to accelerate with AI tools generating ever more code.

My recent analysis of what happens when AI writes almost all the code mentioned that nimble startups were already recruiting “product engineers” who can create their own work, and act as blends of mini-product manager and software engineer. I said this indicates that being more product-minded could become a baseline at startups because it’s increasingly important to specify what an AI tool should build.

But how do you get better at being a product engineer?

Obviously, pairing with a product manager, staying close to the business, and finding a mentor who’s a great product engineer are strong options. But if these aren’t all available in your workplace, there’s now a book dedicated to the topic.

Entitled “The Product-Minded Engineer”, it’s written by former software engineer and current product manager, Drew Hoskins, and published by O’Reilly:

A few years ago, I published an article named “The Product-Minded Software Engineer” which offers tips for software engineers to grow their “product muscle”, and it’s timely that a fellow engineer has invested in writing a guide about this increasingly pertinent subject.

After hearing Drew was working on his book, I got in touch, reviewed a draft version, and asked if he’d consider sharing an excerpt in this newsletter. Graciously, both Drew and O’Reilly agreed. Drew will also be a speaker at The Pragmatic Summit in San ...