JavaRush/Java Blog/Random EN/Empathy as a developer's secret superpower

Empathy as a developer's secret superpower

Published in the Random EN group
members
This article is an adaptation of a chapter in The Complete Software Career Guide . Its author, John Sonmez writes it and puts some of the chapters on his website. Who will use our products? Young people or old people, benevolent or Internet trolls? Imagining a potential user is often difficult, but the benefits of understanding how users think and feel cannot be overestimated. It will help the developer make much more informed decisions than his "indifferent" colleagues.
Empathy as a developer's secret superpower - 1
Of course, empathy (or empathy) is not an important technical skill, but it can be a real superpower for a software developer. There are four important ways in which empathy can be that secret weapon. But let's start with a definition

What is empathy?

The tendency to empathy or the ability to empathize is understanding and the ability to feel the experience of another, while the "empathic" does not need to experience such an experience on his own (that is, "feel something in his own skin"). Dr. Brené Brown, empathy researcher, writes in his book The Great Dare: “Empathy is a strange and very powerful thing. She doesn't have a written script. There is no right or wrong way to empathize. It's just the ability to listen, respecting personal space, without judgment, but at the same time maintaining an emotional connection. Communication that gives a completely unambiguous and effective signal: “You are not alone!” Feeling empathy, you understand what is wrong with the other, even if he does not tell you about it directly. You simply “compassionate,” skillfully recognizing the emotions of others. You are able to put yourself in the place of another person. It's like a calm cashier listening to the tirades of an angry customer without interrupting him with his arguments. Well, now let's move on to the most interesting: how we can use empathy in the work of a programmer.

Empathy for Software Developers

Some programmers forget that they develop always and only for people. In addition, development always involves the participation of other people, so a developed ability to empathize can be very useful. This quality can help to see into the root of problems that are important for people and solve them. And this applies to both users and fellow developers. If you don't push empathy to the back during development, focusing only on technology, the bonds within the team will become stronger. From the developer's point of view, these connections increase productive collaboration and help overcome staff turnover. This allows you to make the workflow more comfortable for absolutely everyone. You will be able to create better products, as you begin to better understand who will ultimately use them.
Empathy as a developer's secret superpower - 2

Empathy is logically applied to user experience testing, but is also applicable in these four areas.

  1. When collecting requirements

    Software developers should use their empathy skills while generating requirements for their projects. You create software for people, and empathy helps to represent those who deal with our product.

    Empathy is a necessary ingredient for creating good software. Software is an expression of thought. Writing code is about turning a thought into a tool that others will use to achieve their goals. Being able to empathize with others, and perhaps with yourself in the future, allows you to create a more effective tool.

    By empathizing, you are on the right path to understanding those who will use your work. Some programmers rely solely on logic to write requirements. If you add empathy to it, you will have a great opportunity to focus on the most important audience - the end consumer.


  2. Empathy as a developer's secret superpower - 3

  3. During the coding process

    Empathy is an important part of teamwork. Developers should "empathize" during actual software development, as this will help them better anticipate the reactions of their teammates.

    Writing code is another form of communication. When designing a system architecture, we should strive to build rapport with the people who will be interacting with our code. Empathy helps us put ourselves in their place.

    Another consequence of using empathy is that you will create easily maintainable code. Other developers may miss this benefit. They easily sacrifice code maintainability in favor of development speed. They do not think about other developers and even about themselves in the future.


  4. Supported by programs

    Software developers should use empathy while managing software because everyone on the team should be held accountable for delivering a quality product.

    There are several roles in a development team. Not only that, one person can take on several functions, but usually each function within the team is performed individually.

    Some programmers are happy to pass on problems to QA, system administrators, or support. They consider that their work is finished after the code is frozen.


  5. Empathy as a developer's secret superpower - 4

  6. In a leadership position

    If everything is not so obvious with the previous points, then the benefits of management empathy are clear to absolutely everyone, and this does not apply only to the field of programming.

    Empathy during software development is a balance between freedom and responsibility. On the one hand, you will be able to convince people more effectively, and on the other hand, you will be able to see both sides of the technical debate better. The ability to see things through the eyes of another person is a key skill for a leader.

    Some developers enjoy working alone, focusing only on their own needs. But if you work in a team, and even more so - lead a team or part of it, empathy is your super-secret weapon with which you will understand the needs of your colleagues, and you can make your team not only more productive, but also more pleased with each other.

Your superpower!

So, brief conclusions. Software developers tend to be overly technology-focused. The stereotype of a good developer for others is a kind of science fiction hero, like Mr. Spock from Star Trek, who makes decisions based solely on logic and deliberately discards emotions. But developed empathy can actually be a developer's secret weapon. It helps to see things from a different point of view, allows you to solve problems at all stages of software development - during requirements analysis, during coding, during testing and support of programs. And, of course, when making decisions in the status of a team leader. Use this quality, your superpower, and you will become a hero for your team, your users and your employees. Original:https://simpleprogrammer.com/2017/07/26/empathy-software-developers/
Comments
  • Popular
  • New
  • Old
You must be signed in to leave a comment
This page doesn't have any comments yet