Software companies normally focus on building a single product or a product portfolio, aimed at serving a particular type of customer, whether that be an individual or a business. Regardless of their model (B2B or B2C), these companies operate by hiring a core team of engineers, designers (if it’s a user-facing product), and a product manager. The number and types of roles required often vary depending on the company’s size and the product complexity.
When it comes to engineering, the top priority is clear: build the product, test it, and ship it. While this makes sense at a high level, some engineering teams still fail to achieve their customers’ satisfaction, even when they meet their objectives and deliver the feature(s) on time. This is where Product Managers comes in. They ensure that what the engineers are building aligns with what the customer wants. We’ll talk more about the Product Managers’ role in a separate post. For now, let’s focus on the Engineer’s perspective: why is the solution not working for them?
What makes a solution valuable as a product boils down to answering a simple question: Does it actually solve the customer’s problem? If not, then the technology doesn’t matter, regardless of the complexity and the engineering effort put into building it. If the answer is yes, then great—value is being delivered. If the answer is no, then how do we focus on building the value proposition? That’s where Product Thinking comes in.
What is Product Thinking?
Product Thinking is the mindset for solving problems that prioritises the needs of the customer and creates value for them. Instead of focusing solely on the technology or building a set of features, Product Thinking emphasises understanding the problem, designing the right solution, and ensuring that the solution is solely focused on solving that problem. The solution can take many forms, from a completely new SaaS product to a set of public-facing APIs.
Why is Product Thinking important?
Imagine you decided to build another food delivery app called FastEats (Pretty repetitive, I know, but bear with me). Your mission is to deliver food as quickly as possible, and your competitive edge is the technology, AI-powered drones! You’ve secured funding, hired the right talent, and started building the product. You might think that customers will be wowed by the idea of drones delivering food to them, but months later, you notice that despite all the engineering and marketing efforts, people are not as excited about your product as you think. Why? It could be for many reasons, but the first question to ask is: Did this solve an actual customer problem? Most likely, no.
Customers can already order food. Fast. They receive a flood of discounts, promotions, weekend offers, and can track their deliveries live. The food delivery market is saturated, with companies fiercely competing each other for their customer base. So, what’s your competitive edge? Is it the technology? That won’t cut it. People don’t care how the food is delivered; they only care that it is delivered.
And that’s the crux of the Product Thinking mindset. You are not focusing on the technology; you are focusing on solving an existing customer pain (or at least reducing the pain) that nobody else has solved yet. The important thing to remember is:
Customers do not care how you solve their problem, they care that you solve their problem.
The 'how' is for product managers and engineers to think about and innovate. It's fine to highlight the 'how' in your product demo or sales pitch, but remember—the 'how' doesn't matter if it doesn't solve the problem. Sure, Generative AI has gained a lot of attention recently from businesses, but if the newly unlocked capabilities aren't serving their business needs, why would they pay for it?
Going back to the FastEats example, customers don’t care whether the product runs on AWS serverless architecture or if you’re using an Excel sheet to track their orders. They only care that you deliver value to them—food!
So, how do we develop the Product Thinking mindset? There are Five key things I would highlight for first-time learners. Remember:
Product Thinking is powerful for Engineers and foundational for Product Managers.
1. Become a Problem Expert
Resist the urge to jump straight into solving problems. Always begin by asking: What problem am I solving, and who am I solving it for? Focus on understanding the issues your customers are facing—become an expert in their problems.
Before designing a solution, take some time to fully understand the real pain points your customers experience. Talk to them, join user testing sessions, read their feedback, immerse yourself in their world. Understand what they do, how they work, the challenges they encounter, and what solutions they've tried in the past that didn’t work. This will significantly benefit you once you start designing a solution. Because you’ve become the customer, and now you’re trying to solve your own problem.
2. Adopt a Holistic View (Think Beyond Technology)
Engineers sometimes make specific technology choices for various reasons—perhaps they've worked with the tech before, the tech is “trendy and sexy”, or they want to learn it for personal development. None of these reasons really matter without first considering the user wants and needs.
Don’t focus solely on the technical aspects of your work. Consider the user interface (UI), user experience (UX), and how everything comes together to create a cohesive product. Don't be discouraged by the idea that building a simple solution with “boring” tech might sometimes be good enough for your customers.
3. Think in Terms of MVP
No, I’m not suggesting from the image that you should present an empty screen to users. But it also doesn’t mean you need to build a “finished” product before showing it to them. Since you’re building a product for your customers, it makes sense to share early versions and gather feedback. Remember, customers should be part of the product development journey. That’s where designing a Minimal Viable Product (MVP) comes in. Don’t aim for a perfect solution; instead, focus on the quickest path to value with (ideally) the least amount of work.
Don’t wait for
v1.0.0
, if you can demo withv0.3.0
, show it to them!
Rather than aiming for a perfect solution from the start, focus on creating an MVP that can be tested and improved through iteration. This is your most important feedback loop.
4. Define The Right Metrics
When you’re building a solution, its important to measure how successful the solution is over time. Defining the right metrics will help you prioritise what should / should not be built. Also, having the right metrics will help you make informed decisions and evaluate your team’s progress.
One thing to watch out for is Vanity Metrics. These are the types of metrics that don’t measure meaningful results for your product. These metrics can be helpful to know about, but you should avoid over-indexing on them without knowing if they really drive business outcomes. An example of a Vanity Metric can be:
Number of page views
Number of likes on social media
General website traffic, etc.
5. Build Empathy for Customers
Empathy is at the core of Product Thinking. Can you describe your users' emotions, frustrations, and needs? One thing I’ve learned from great product managers I’ve worked with, is that they create user personas and consistently refer to them when presenting the product strategy or new roadmaps. As an engineer, you should also think about these personas when designing a new feature or interface.
Some questions I like to ask myself when designing a new solution are:
How is this going to serve Persona A?
What does Persona A need to do in order to use X?
Did Persona A complain about this problem before? How much would they appreciate solving X?
Make sure whatever solution or feature you’re introducing that it ties back to serve that user persona.
And these are the five key things for developing the product thinking mindset!