3 Steps to Better Understand Your User as a Software Engineer
Often, articles and guides focused on user-centricity are written for designers. But software developers and engineers also benefit when they’re able to empathize with users.
Engineers who take the time to really understand their users will:
- Make their own design decisions with confidence, so that projects are less often blocked pending further requirements
- Participate earlier in the product life cycle
- Understand the value of requirements that come through
- Challenge requirements that don’t make sense for their users
- Plan for possible future needs, leading to less rework later when those needs come down the pipeline
- Improve their side-projects with user-centric improvements
Here are three easy steps to better understand your users:
1. Meet them!
Not on a whiteboard. Not through the megaphone of your sales VP. We’re talking real life.
It‘s an eye-opening experience to meet the people for whom you are trying to solve problems every day.
- Over the phone: Sales and customer service teams interact with end-users at two critical moments: while they are considering your product as a solution to their problem(s), and when they call in concerning problem(s) with your product. Ask to shadow a call or even take a few calls yourself!
- In person: Maybe you can join an outside sales rep on a home visit (if your company does that kind of thing). If applicable, why not go to the cafe and observe or even talk to people who are using it. If your product or marketing teams do focus groups, ask to join the next one.
- Video chat: Get in touch with some target users online and see if they are willing to talk about your product or others they use. You’ll be surprised how many people are ready and willing to talk about themselves to a real-life engineer of a product they use.
2. Complete an empathy map
An empathy map is an effective tool for immersing yourself in your users’ perspective. This can be done in addition to or instead of actually meeting your users (though there’s no real replacement for that).
This exercise is ideally performed with a group that includes a few people familiar with users. The goal is to build out a vision of the physical and emotional environment of an example user you are trying to better understand. On a big piece of paper, draw the following diagram:
Next, brainstorm to fill in details about a specific user profile. These details are meant to answer the following questions:
- What do they commonly see around them?
- What do they commonly hear around them?
- What kinds of things do they say and do?
- What kinds of things do they think and feel?
- What really bothers them (i.e. pains)?
- What would really make them happy (i.e. gains)?
Once it’s filled in, keep the empathy map posted near you in a place that’s easily viewable when you find yourself uncertain about how to proceed in your project. It’s like a reminder to always ask yourself WWUW: What would the user want?
3. Engage in user acceptance testing
Often, user acceptance testing happens outside of the world of engineers, resulting in last-minute changes that are squeezed into the sprint to satisfy newly uncovered needs.
When possible, involve yourself in these sessions. This is a part of what should be a normal workflow involving end-users. Join in for this step to see and hear for yourself how the user is interacting with your newly finished product.
This could have many different, beneficial outcomes:
- Maybe they hate something about the release! Rather than taking offense, find out why and use what you learn in your next project.
- Maybe they‘re facing a challenge and you know of a brilliant, low-lift solution that could simplify the task and double the adoption of the new release.
- Maybe they simply love it, and it’s always nice to hear that your hard work is being appreciated.
- And maybe nothing special happens. After the session, you can always introduce yourself, have a conversation, and better get to know the people you are trying to help every day.
The above tasks are things that any designer or product manager should regularly be doing. One simple recommendation is to ask your designer and/or product manager to help you with your user empathy.
Ask them to arrange an interview with a user or to lead an empathy mapping session with the team. Ask them to invite you to the UAT meeting or when they go on a house visit to do some user research.
You don’t need to do everything these roles do, but doing just enough to really understand your users will go a long way for your effectiveness, value, and professional future as a software engineer.