Become a Product-First Software Engineer

I think many engineers would be better contributors if they started to think more about the customer impact of their work. Level One: Delivery Early in our careers, we’re looking for explicit directions, which we learn to deliver, and that is vital. Sophisticated checkout wizard? Complex domain model? I can do it! You learn to make it work and demonstrate that you can ship. Next Level: Thinking Like a Product Owner The next level is thinking like a product owner and asking: “Does this improve the customer experience?” ...

May 1, 2026

Acceptance Criteria That Actually Work

Acceptance criteria, or AC, describe what a feature or bugfix does. Writing them is an art, and some AC work much better than others. So, how do we make them work? By including a little more detail. Let’s explore the goals of AC, a standard example, an example that works better, a few counterarguments, and how to write great AC with ease. Goals of AC: “Right Thing”, “Thing Right”, Documentation What are the goals of AC? They should: ...

September 30, 2025

How I Approach Feature Requests

Receiving feature requests is part of running a software team. Here’s how I handle them. What are Feature Requests? Feature requests are requests for behavior in a software product. Sometimes bugs get lumped in, too; it’s often a little messy. Feature requests come from both inside and outside your company. Some are valuable, some aren’t, others contradict things we’ve already built, or may want to build. Some come from customers who are about to churn. Others might make sense for one customer but would confuse others. ...

May 14, 2025

Two-Follow-Up Rule for Closing Support and Internal Tickets

I recently learned a practice for customer communication that I’d like to document. It’s called “Hit It Twice.” The quoted language in here is broad and should be adapted to the situation. Why This Matters Customer issues deserve prompt attention. And, we have to prioritize customer issues that matter. Customers responding to offers of help, or not, tells us how much they care about the issue. “Hit It Twice” Scenario: a customer opens a support ticket. We respond with a proposed solution or a clarifying question, ensuring they have the next step to move forward. ...

March 4, 2025

Product Technique: Asking 'What's the Why?'

One of my favorite product hacks is asking: “What’s the why?” Asking “Why” Before delivering a feature, stop and ask: why is this feature worth adding? Why is it worth the time for your teammates to review, for your stakeholders to approve, and for your users to adjust to? What are we getting from adding it, that’s better than anything else we could be building? It’s a shift to ownership. Here’s non-ownership: “Every app has a logout feature.” And ownership: “Our customers must be able to log out because we display sensitive information.” Non-ownership: “Our competitors’ apps send push notifications.” Ownership: “We can connect better with our customers throughout the purchasing process with push notifications.” ...

October 30, 2023