Remember the human

Jun 12, 2017

In the daily grind, while tackling down algorithmic and architectural challenges, people tend to forget that the software they are building is just a tool, created by humans, for humans. Usually, the result is arrogance and unhappy development. But you can choose to look at it the other way, and do your best to prevent it from happening.

One company I worked for regularly flew employees to meet in person, even great lengths. They said this practice boosts productivity, not by encouraging people to travel, but by letting them hang out with each other and see the human behind the email address.

If you've heard about the Agile Manifesto, the first point is to value individuals and interactions over processes and tools.

When you do a development job, you interact with all sorts of people: your boss, the clients, your fellow developers. Even when the software itself is an API consumed by machines, people write those programs.

Users

The most dreaded group is usually the users. The root of the problem is a communication gap. You usually don't meet with them to understand their problems, but only get tickets that fail to describe the real intent.

People doing the development don't interact directly with the users, as they are seen as "technical people". That's the reason why technical managers, who fill this gap and act as a middleman are in great need.

I often get tickets that just don't make sense, either it is contradicting a previous feature or would take an inordinate amount of effort to implement. The usual question is: "Why do you need it? What is the underlying problem?". More often than not, it turns out there is an easier solution that solves the problem while fitting into the existing architecture. It's a win-win scenario.

Managers

Then you have bosses and managers. From the bottom up, they are often silently seen as useless who just get the most of the cash, while you are doing the real work. After all, the company is selling a product that you are building.

If that's what you think, try to start a company of your own; the least of your problems will be the actual product. The legal problems coming with founding and running a company, all the laws you need to comply to, the marketing, the sales, not to say coping with the risk of losing your own money mostly go unnoticed. The thing is: managing a business is hard, and managing people is also hard.

Think of your boss as someone who is responsible for the business side, so you don't need to and you can concentrate on the technical side. As long as you get a consistent salary, they do their job well. Do your job too, and work as a team.

Takeaway

The worst kind of developers are who think they are the lone hero and they have to fend off attacks from all sides. Avoid being one.

The reality is, you are getting paid to help people by solving their problems.

Talk to people. Figure out what their problems are. And solve them.

Help people.