“Empathy is the capacity to understand or feel what another person is experiencing from within their frame of reference, that is, the capacity to place oneself in another's position” - Wikipedia
#Empathy is a massively underestimated characteristic for software development, but something that we at ClearSky Logic have always recruited for.
People normally think of software developers as being highly intelligent but also introverted, even nerdy and socially awkward. The highly intelligent is often true but the others, not so much in our experience. One of the most important factors, when we’re recruiting, is the reason WHY you like writing software. If it’s purely about using the newest version of an obscure tech library, platform or design pattern to satisfy your own academic curiosity, that's OK but the kind of thing to be doing in your spare time. A keen interest in new and emerging tech is great and we all need to keep up with tech as it evolves, sorting the gimmicks from the truly useful advances, but this should not be at the expense of delivering value by making the best use of the tools available.
Tech is a toolkit to help solve real-world problems that when used intelligently, sympathetically and in a targeted way can make huge positive changes to the world. But these changes don't happen by accident, they happen by design. To solve a problem you must first identify it, either experience it firsthand or empathise with the person who has this problem.
At ClearSky Logic, we are often asked to solve problems we don't experience ourselves. The problems are experienced by our clients themselves or by our clients' clients. We put ourselves in their shoes and imagine how they feel. We meet them and ask them lots of questions to find out what is most important to them and what they are struggling with the most. It’s not just a Business Analyst who needs to understand the User, it’s the entire team. That's WHY we are here. We want to make the biggest difference to people because this makes us feel good! It’s that simple.
Many developers care deeply about whether their code is formatted in a certain way, about whether code is written in camelCase, PascalCase, snake_case or some other case. The fact is that the User doesn't know or care as they will never see this. What they do care about is, is the platform intuitive, does it provide them with the information they need, does it make it easy to do what they came here to do. The User is the one whom we focus on. They are the reason we build what we build. They are our reason WHY.
We can only do this because we empathise!