Software engineers don’t only code – they often play other critical roles and functions in many different capacities – including business analysis, testing, leadership, DevOps and maintenance. That’s why Sanchit Balchandani, EPAM’s lead software engineer in India, explores the ways in which empathy has helped grow his career and how it can help fellow engineers build better client relationships, create better products, build great teams and chart successful careers.
The Importance of Empathy in Engineering
How often do we really practice empathy in our lives? I often find that whilemost of us understand the importance of empathy, unconsciously we seem to avoid being empathetic at the most important moments.
I’ve been working in the IT industry for about 11 years now, during which I’ve worked with people from different geographies. Over the past four years, I’ve also been leading small to mid-size software development teams. From my experience working with people from different cultures and at different levels, whether it’s peers, managers, senior management or customers, the one thing that makes people stand out is empathy. In this article I’ll share why empathy is a crucial skill for a software engineer.
A clarifying point before we begin -- sympathy is not empathy. Sympathy is more about feeling sorry for someone, whereas empathy is about putting yourself in the other person’s shoes and understanding their situation. Empathy opens the door to a range of long-lasting emotions and feelings.
So, what does this have to do with software engineering?
Beyond coding, software engineers play a critical role in many different capacities such as business analysis, testing, leadership, DevOps and maintenance. Each of these roles involves interaction with people. Wherever you deal with people, empathy is vital. Empathy can help you build client relations, foster a more inclusive team environment, create better products and grow your career. Let’s look at a few examples.
Working with Fellow Engineers
Let’s look at how we do Pull Request (PR) Reviews. Often, they end up in unnecessary conflicts. PR reviews are not about finding ‘X’ number of issues in someone else's PR; they’re about collaboration and creating a good coding practice. Any conflicts can be avoided or resolved if the PR review process involves empathy.
As a developer, when you code with empathy in mind, you take greater responsibility and do your best to reduce small and avoidable errors on your end before forwarding it for review. Similarly, as a PR reviewer, empathetic understanding can help you collaborate better and reach solutions faster.
Interacting with Customers
Customer interactions can sometimes be tricky for software developers. Engineers tend to think from a technical standpoint, and this can differ from a customer’s understanding of things, especially if they don’t have a technical background. In these instances, it is the developer's responsibility to understand, ask questions, listen and adapt. The more you hear, the more informed you will be and the better the product will turn out, with fewer iterations. When providing updates to the customer, we need to help them understand the situation without using technical terms. This all makes things easier for both clients and the developers in the long run.
Leading a Team
Empathy is a must-have quality for modern-day industry leaders. As a leader, you work with people who have different skillsets, temperaments, backgrounds and cultures. By applying more empathy, you will be better equipped to:
- Influence others more effectively
- Have conversations that will bring out the best in your team
- Motivate people around you and help them grow
Empathy can be critical in helping an interviewer identify a candidate's potential. You will put the candidate at ease, give them enough time to answer, encourage them to share their stories, ask the right questions and keep your own reactions in check. It will also help you ask questions that are not binary but ask for their experiences, so you get the best out of the candidate – hearing what they have prepared to say, but hopefully also hearing them speak from the heart. By being more empathetic you will better understand how they think, behave and make decisions.
How to Practice Empathy
If you’ve read to this point, I hope it’s evident that empathy is not only a feeling but a much-needed skill in today's software engineer's profile. Like any other skill, this will need practice. Personally, I analyze some of my conversations retrospectively and reflect on what could be done better next time.
You can also start practicing empathy with the task at hand. When you are creating a product, keep the end user in mind -- how they would interact with it, what they really need and what would make it successful. Other simple ways include adding API documentation which makes it easier for others to use your APIs and, of course, making your code readable so that another developer won’t have a hard time understanding it.
Ultimately, empathy is an acquired skill that will reward you with trust, clarity and perspective.
If you are interested in a career at EPAM, visit our careers page to apply today or get referred by someone you know who works at EPAM.