As software engineers, we often build solutions based on assumptions about what users need. However, these assumptions can lead to products that miss the mark, waste development time, and frustrate users. Direct communication with users helps us build better solutions that actually solve real problems.
In this topic, you'll learn practical techniques for understanding user needs through interviews and empathy maps. You'll also discover how to identify root causes using the “5 Whys” method, and how to turn vague feature requests into clear problem statements.
Why Engineers Should Talk to Users
Many software teams work based on requirements documents or feature requests that come through several layers of management. This distance from end users creates a gap between what we build and what users actually need. When engineers talk directly to users, they gain valuable context about the problems they're trying to solve.
Direct user communication helps prevent the common mistake of building technically impressive solutions that don't address real user needs. For example, a team might spend months perfecting an AI-powered recommendation system, only to learn that users simply want a better search function.
Regular user interactions also help engineers make better technical decisions. Understanding how users work with the software in their daily tasks provides insights about performance requirements, common usage patterns, and potential edge cases that might not be obvious from written specifications.
Quick Interview Techniques
Effective user interviews start with open-ended questions that encourage detailed responses. Instead of asking “Do you like this feature?” ask “How do you currently handle this task?”. This approach reveals valuable information about the user's workflow and challenges.
One practical technique is the contextual interview, where you observe users in their actual work environment. For example, watch how a warehouse worker uses your inventory management system during their regular tasks. Pay attention to workarounds they've created and moments of frustration.
Another useful approach is the before-and-after scenario. Ask users to describe their process before using your solution and compare it to their current workflow. This helps identify both improvements and new problems that might have been introduced.
AI prompt to prepare for a user interview:
Generate 6 open-ended user interview questions
to uncover hidden pain points in a logistics manager’s workflow
using warehouse software. Ensure:
* At least 1 question focuses on observed actions (what users do)
* At least 1 explores emotions or frustrations (how users feel
* At least 1 compares before-and-after scenarios (what has changed)
For each question, briefly explain what insight the engineer should
be looking for. Keep the questions clear, practical, and
conversational, not overly formal or theoretical.This helps engineers (especially those new to user research) quickly move beyond yes/no questions.
Empathy Maps: A Visual Tool
An empathy map is a simple but powerful tool that helps organize user insights into four categories: what users Say, Think, Do, and Feel. This visual representation makes it easier to spot patterns and share insights with the team.
To create an empathy map, start with a large canvas divided into four quadrants. During user interviews, write down direct quotes in the “Say” section, observed behaviors in “Do”, expressed emotions in “Feel”, and implied thoughts in “Think”. For example, a user might say they like a feature but show visible frustration when using it.
Regular review of empathy maps helps teams maintain focus on user needs rather than technical solutions. They serve as a quick reference during design discussions and help new team members understand user perspectives.
AI prompt to pre-fill empathy maps:
Based on the following user interview transcript, generate
a concise empathy map for a user interacting with a dashboard feature.
For each quadrant (Say, Think, Do, Feel):
* Use direct quotes for ‘Say’
* Describe observable behaviors for ‘Do’
* Capture any emotions expressed for ‘Feel’
* Highlight inferred thoughts, worries, or expectations for ‘Think’
Keep each quadrant brief (max 3 key points).
At the end, summarize 1–2 key patterns or tensions that might
inform product decisions.Finding Root Causes with “5 Whys”
The 5 Whys technique helps identify the root cause of a problem by repeatedly asking “Why?” Each answer forms the basis for the next question, helping move past surface-level symptoms to understand deeper issues.
For example, users might request a “faster save button.” Instead of immediately optimizing the save function, ask why: “Why do you need faster saving?” “Because I'm saving too frequently.” “Why are you saving so frequently?” “Because I'm afraid of losing work.” The real issue might be about auto-save functionality or data recovery, not button performance.
This technique prevents teams from implementing quick fixes that don't address underlying problems. It's particularly useful when analyzing bug reports or feature requests that seem unclear or oversimplified.
AI prompt to guide root cause exploration:
Using the 5 Whys technique, help me explore the root cause
of the following user complaint: ‘I can’t find the right file quickly.’
1. Walk through the 5 Whys step by step, ensuring that each
‘Why’ logically builds on the previous answer.
2. At the end, summarize the most likely root cause in one sentence.
3. Suggest 1–2 lightweight next steps an engineer could take
to validate or address this problem
(e.g., user interview, small UX tweak, logging).
Keep the answers realistic and grounded in common user behavior.Case: Reframing a Feature Request
Let's look at a real example: A client requests “a better notification system”. Through user interviews and the 5 Whys technique, we learn that users feel overwhelmed by notifications but worry about missing important updates.
Using an empathy map, we document that users say they want “fewer notifications”, but their actions show they check the app frequently for updates. The root cause analysis reveals that the real problem is distinguishing important information from routine updates.
The solution becomes clearer: instead of just building a “better” notification system, we need to create smarter notification categories and user-controlled filtering options. This addresses the actual user need rather than just implementing the requested feature.
Ask open-ended questions to understand user context
Use empathy maps to organize and share user insights
Apply the 5 Whys technique to find root causes
Focus on solving real problems, not just implementing requested features
Ready to put these user research techniques into practice? Let's tackle some real-world scenarios!