by Semi Koen

Why humility is the most important trait of a great developer

Leave your ego out of software development!

NeaULvq2aVo4beHJJAYUsxXaFBNiPI1qrnVF
Photo by Shirly Niv Marton on Unsplash

A First-Class Temperament: The emergence of a star developer

In my recent roles I have been responsible for a team of very talented senior developers and I have come to realise that the hardest problems I have faced are not of a technical nature but rather dealing with interpersonal relationships. I have therefore concluded that intelligence and technical competencies are necessary for success but are not sufficient to make us great developers.

Here I will talk about the one value I rank at the top, which rockets a great developer to the best asset a company has. It is the one value that managers fight wholeheartedly for, to have in their team: Humility!

⚠️ To clarify: In this post I take for granted that the developer is gifted technically. I am not debating whether technical or interpersonal skills are more important. However, if I had to make a choice, as a lead, I would always choose the latter!!

“Second class intellect; first class temperament”
— Supreme Court Justice Oliver Wendell Holmes, on meeting Franklin Roosevelt

So let’s explore the art and science of humility at work…

Humility is not thinking less of yourself, it’s thinking of yourself less

During my career as a developer, the more I learnt about building good quality software, the more humble I became. The hardest thing was to accept that I don’t know everything there is to know and acknowledge the fact that, even if I was an expert in some particular area, knowing all the corner cases and gotchas, there was still much to learn. And that’s ok!

Humility is not suppressing our opinions, keep a low profile or let others walk over us. Simply put, it is to:

  • realize that we are not the centre of the universe: the team is, and then the company;
  • remember that our manager does not want to deal with a ‘diva’ on a daily basis — doing business is their priority;
  • recognise that no one is irreplaceable — this is the foundation of all business that keeps the industry competitive and focused;
  • appreciate that those big egos won’t get us anywhere in a software team — whether it is in a small software house, or big corporate bank or Silicon Valley!

Ego is the belief in our self-importance and the thinking that the world begins and ends with us. It is our childish inner voice that chooses to win all the time and sometimes at the expense of others.

  • It makes us feel threatened when we are questioned. We feel exposed and vulnerable and as such we become defensive and in the worst cases spiteful and arrogant.
  • It is what prevents us from asking for help, collaborating and learning something new.
  • It stops us from recovering from our failed projects and learning from our mistakes.
  • It makes us dismiss someone else’s solution because it is not ours.
  • It makes us brag about our previous important achievements, as we think that this is all our teammates need to know to respect us.

…and so many more toxic behaviours that not only affect the project and the team but also impact us! But we are too short-sighted to recognise!

WiqnKN0zLFViwkMlSL9I6APktqwTRRQu2cWY
Photo by rawpixel on Unsplash

Being a superb developer

Over the years I have observed that those who are true masters of their craft are aware of their own limits. They are less inclined to assume that they automatically know it all. They are a blessing to work with! Their peers love them and their managers do too. You can do pair programming with a humble person. You can do code reviews with a humble person. You can instruct a humble person!

Here are some examples of their behaviour:

  • They are open-minded and actively ask questions, listen and adjust their points of view accordingly.
  • They respect other people’s opinions and their level of competence — their attitude is to teach not to offend.
  • They do a code review and they provide impartial feedback, they care both about their colleagues’ feelings but also about the quality of the code.
  • They appreciate that bad code can be the result of aggressive deadlines or inattention to technical debt and not necessarily of terrible developers and as such, they don’t judge!

The Take-Away

Kst37La8WbEoB4IQ9n5zyNk-5GwYAd2C3GkF

For better or worse, there is an increasing demand for developers at this point in time (and most certainly for the foreseeable future). We do have niche knowledge and are able to solve problems — skills that may seem unfathomable to anyone not in IT. There is also a magnification of the perception that code is the only output of our work that has any value and soft skills do not matter.

This should not be a justification nor an excuse for arrogance and rampant egotism!

In physics there is something called entropy: We either go up or down! There is no stagnation. It’s easy to be successful for a week, or a month or even a few years. At some point we will get trapped by our ego, people will see through us and we will fail quickly. I believe true success is sustainable by demonstrating humility every single day!

Thanks for reading!

P.S. Have you come across “The Humble Programmer” essay by Edsger W. Dijkstra? It’s a classic!

The competent programmer is fully aware of the strictly limited size of his skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague”

I regularly write about Leadership, Technology and Data. If you would like to read my future posts please Follow me on Medium!