Developing a customer service mindset as a software engineer

Scott Gangemi
SafetyCulture Engineering
4 min readSep 12, 2023

There are many skills that make a good software engineer ranging from technical skills — like programming and performance optimisation — to non-technical skills — like communication and feature leading. In my opinion, one of the most underrated skills is approaching your work with a customer service mindset.

A customer service mindset means putting the needs of your customer first and working to improve their experience. Engineers think about their customers, but they’re often forgotten when we start thinking about technical details. Technical details matter, but your business lives and dies on its customers, and having them front of mind will lead to a better product.

Everybody on your team will be this happy when you’ve developed a customer service mindset

Shifting your mindset

How you define a customer differs depending on your role, for example, on a platform team, your customers are the engineers who use your products. We’ll be focusing on customer facing team where your customers are the end users of the product. In engineering we usually don’t interact with our customers too much. Depending on where you work, you may never interact with your customers. However, there are others in your business, such as sales and customer support, who do. Speaking to these people gives you valuable insights into how your customers are using the product, and give you opportunities to improve it.

Communicating with more customer facing people in the business helps to shift your thinking to put your customers first. This helps you solve urgent problems sooner, but is a valuable skill to allow you to increase ownership and impact. Doing this opens your mind up to asking questions and trying to do what is best for your customer. I’ve found that work is much more engaging when you can think deeper about the impact you’re having, rather than just working on the next ticket that comes your way. This helps you care more about your work and become a better engineer by really understanding the problems your customers are facing, and influence how to solve them.

Technical tasks through a customer lens

This also allows you to look at technical work with a different lens and think about the customer impact your changes can have. Being able to express this well helps convince non-technical folk about why a piece of work matters and can help to prioritise it.

For example, there’s part of your codebase with poor test coverage. The engineers on your team hate working on this area, but nobody has the time to improve the tests. Tying these tests to their customer impact makes it easier to prioritise, and will allow you to think about the kinds of tests you should write. Compare these two approaches:

I want to write some tests for this component.

vs

I want to write some tests for this component because improving the code quality will give the team greater confidence in the code, make it easier to make changes in the future and will provide an opportunity to fix any bugs that customers may be experiencing at the moment

The second statement is a bit wordier, but explaining the customer impact of this work makes it much easier to get others on board, and get it done.

How to adopt a customer mindset

Developing a customer service mindset comes from practice like any other skill. However, it’s different from a skill like programming that develops through work; you need to re-train your brain. There’s a number of ways you can do this:

  1. Answering questions about your product area from around the business. We have internal Slack channels for each product team, and there’s often questions about our team’s product. Answering these questions helps you understand different issues, and will make you feel a sense of ownership over your product. Plus, your teammates will appreciate your help.
  2. Reviewing customer facing documentation. Depending on the size of your company, there may be a team who write customer support documentation. When your team releases a new feature, read the documentation for it. This helps build empathy for those writing the documentation, helps you understand how the product solution is presented to customers, and gives you an opportunity to improve the documentation as well.
  3. Writing customer facing documentation. Conversely, you may have opportunities to write customer facing documentation, such as for API endpoints. These opportunities are valuable because they give you a great opportunity to think about how your customers will use the endpoints, and allows you to think about how to best present this information.
  4. Site visits and customer calls. Speaking to customers is a great way to build empathy for them, as well as understand how they use the product. These understandings help engineers see the impact of their work, and can be used to make the product even better.
  5. Investigate metrics for features you’ve worked on. Once you’ve built something, work with your product manager to look at how it’s performing. This is great validation for the work you’ve completed and can give you some insights into if it was the right solution.
  6. Read feedback about your product. Your product team talk to your customers a lot and they may collate this feedback somewhere. Read through this, and see what your customers care about. Some of these may be easy to implement, if so, see the next point.
  7. Implement quick wins. This is the best way to do this, and is often the result from the previous points. If you hear about a problem that seems easy to fix like poor scrolling or bad keyboard controls, fix it. Nothing will make people feel heard more than a quick resolution to a problem they’ve raised. Beloved products are built through many, many small changes and this is a great way to improve your product over time.

To summarise: show up, care, make things better. A customer service mindset allows you to see the opportunities in your product, and quickly addressing these will elevate your product from good to great.

--

--