5 Benefits of Empathetic Engineering

Stephen Grable
Broadlume Product Development
4 min readSep 5, 2019
Teamwork makes the dream work.

As programmers, we try our best to follow best practices in engineering like DRY (don’t repeat yourself) and SOLID object-oriented design principles. Our goal is to build exceptional products, but these principles alone are just one piece of the puzzle. To truly excel, you’ll need to utilize empathetic engineering. Empathetic engineering encompasses ones ability to understand and share the feelings, emotions and motivations of fellow engineers.

The earlier you embrace a sense of empathy within your engineering culture and invest in it, the more it will compound over the life of the code you’re creating and the culture surrounding it.

It’s time to empathize people!

Being an empathetic engineer can bring your company and team the following benefits:

Benefit #1: Good Dependency Habits

Software engineering has become a dependency-ridden ecosystem. Keeping up with third-party dependencies can easily become an engineer’s worst nightmare. With a combination of software (i.e., Dependabot) and consistent attention, you can keep your dependencies up-to-date and improve your teams velocity over time. Maintaining a high level of empathy for your current team and future engineers working in your codebase will motivate you to upgrade dependencies early and often, leading to more maintainable software, less overhead for other engineers and a laser focused team.

Benefit #2: Business Alignment through Engineering

Here at AdHawk, we have a very strong pairing culture. It’s normal for pairs of engineers to regularly meet 5–10 times every week. However, we’ve recently grown the engineering department and have split teams across a few different codebases over the last few months. There are team members who have incredible knowledge of all codebases in the business and there are some who don’t have as much institutional knowledge as others. This brings about an interesting discussion around business alignment and engineering empathy.

Personally, aligning myself with business goals takes a lot of consistent effort. First and foremost, I have to be careful with others’ time. If I know another engineer is working on a high priority task, I’ll exhaust all options when debugging a lesser priority item before pulling him or her into a pairing session or reaching out to them over chat. This is always a tough balance, but if you’re successful and practice empathy, your team will become more focused, have less interruptions and finish high priority items on time.

Benefit #3: Maintainability and Flexibility of Code

Flexibility is 🔑

Empathy is at the core of designing maintainable and flexible systems. Engineers have to make tradeoffs daily between writing code to solve a problem now versus creating flexible systems to account for unpredictable future requirements. If you empathize with future engineers who will use and extend the code you are writing today, you will make decisions that will put them in a winning position. This has all sorts of benefits, but most importantly it leads to business agility.

“The future is uncertain and you will never know less than you know right now.” — Sandi Metz

If you embrace a deep sense of empathy toward future engineers working in your codebase, then you will consistently make decisions that will pay off big time in the future.

Benefit #4: Team Morale

Empathetic engineering means more than writing great code or managing dependencies. It can also mean taking time to pull in a co-worker’s branch to assist in debugging or writing documentation for an issue you solved so other engineers won’t face the same problem. This type of engineering cultivates a supportive and healthy culture and in turn will directly affect the business by nurturing and retaining top talent.

Benefit #5: Avoid Dangerous Assumptions

We embrace what we call “The Beginner’s Mindset” in everything we do here at AdHawk. It saves us from making dangerous assumptions when building new products or fixing tough problems. A big part of the success of the beginner’s mindset on our team stems from our ability to empathize and embody a version of ourself who has no prior knowledge or existing assumptions about the issue at hand. Being able to internalize that perspective allows us to approach problems and make decisions based on a clear understanding of the problem that isn’t tainted with preexisting assumptions or egos. This mindset is made possible by our ability to empathize and embrace foreign perspectives.

These are just a few of the many benefits that come from being an empathetic engineer. Let us know how you utilize empathy in your day-to-day engineering culture in the comments below!

My name is Stephen and I’m a Software Engineer at AdHawk. We are working on a variety of exciting technologies and are always looking for talented engineers to join our fast growing team. Take a look at our job board and apply today -> https://www.tryadhawk.com/jobs/

--

--