Do you build responsible software? Do it with responsible software engineers.

Nov 9, 2017 · 4 min read
(originally posted on medium.com)

Today hiring a programmer or a software engineer is a challenge.

Or so it goes.

Knowing when to hire what type of software engineer is fundamentally important.

Note 1 — Software: socio-technology systems

There is a very good book on software engineering from Ian Sommerville:

https://www.amazon.com/Software-Engineering-10th-Ian-Sommerville/dp/0133943038

In it, there is a very important definition: software systems are socio-technology systems. “Socio” comes first: humans come first. Software is written for humans. To do things better, to enjoy things better. It is self-evident, for sure.

Note 2 — Software business with a mission vs. Software factories

Any software business must have a mission it lives for. And it must be exciting. If it is not — then that software business is a factory. Then it needs mercenaries. Any other software business that has a mission it lives for needs responsible software engineers.

We are not saying that responsible software engineers should not work for software factories. It can help, but Responsible software engineers will suffer a lot in software factories.

Software businesses with a mission can only work with Responsible software engineers

Mercenaries vs. responsible software engineers

A mercenary is someone who can be hired to do whatever you want.

A responsible person is the one who cares. How can you care? Surely at least you need to understand what you are doing it and why you are doing it. And hopefully you do enjoy what you are doing, most of the time.

Mercenaries — one dimensional people

Mercenaries do whatever they are paid for. If they are paid more elsewhere, they move on. Their primary motivation is outside of their current job. They need the job, the work they do to finance other activities.

Since they do not enjoy what they are doing if they have to do overtime work – they need more pay.

In the case of mercenaries you have one dimension: professional skill. And you get paid for this skill.

It is an economic transaction: skill -> payment.

Mercenaries number one driver when it comes to their job is

ONEY


Responsible persons — multi-dimensional people

On the opposite a responsible person, who cares has many dimensions on the job.

Empathy: the ability to step into the shoes of your user.

Have you ever seen 20-digit codes any user has to enter? Repeated data entry? Hard to navigate forms? All these were designed, developed with no empathy.

Interpersonal skills: the ability to work with and respect others.

Have you ever had an idea you did not tell your boss because he would not listen? Have you ever had a debate after the project had severe delays, only? All these are signs of the lack of interpersonal skills.

Self-reflection: to understand what we did wrong and when.

Have you ever thought: “it was not me, I am perfect”?

To live (and die) for a higher good: probably this is the most important one: to understand the mission of the company you are working for. And maybe willing to live for it.

And even die for it. Oh, wait, hopefully not. This is not an ISIS recruitment article.

Responsible software engineers have additional skills beyond writing or designing software

Responsible software engineers’ number one driver when it comes to their job is the

ISSION OF THE BUSINESS THEY WORK FOR


Disclaimer

We are not saying that mercenaries are one-dimensional people in their lives, as well. What we are saying is how mercenaries vs. responsible persons behave and think when it comes to their everyday job. You can be the most interpersonal, empathetic person in the world in your out-of-the-job activities. You can spend 60% of your salary on charity. It all does not matter if you behave and think on your daily job as a mercenary.


The responsible software business

Software business owners have a responsibility, as well: to make their companies good place to attract responsible software engineers.

What do you need for that? Many things. But, surely, the two most important ones are:

  1. Have a mission you live for and any software engineer will live for
  2. Communicate and repeat this mission clearly, all the time

And by the way: you as a business, must have empathy, interpersonal skills, self-reflection, too.

The benefits of being a responsible software business

You attract those people who are excited about your business. And: you will find your customers much easier, as well. And: your software engineers will build solutions your customers love.

Everyone will be much happier. Does it sound well enough?

The benefits of being a responsible software engineer

You will be much happier. Doing your daily job is at least 30% of your time. So spend it on something you like to live for.

Go for it.