The Importance of Kindness in Engineering
There are many traits I have seen successful engineers have over my years observing and being part of development teams but there is one trait above all others that the most successful engineers have and that is kindness.
I can hear your eyes rolling from here but hear me out.
Being kind does not mean being a doormat, minding your p’s and q’s or biting your lip when your team takes an action you disagree with. Sometimes it can mean being direct, arguing or even being a bit too abrupt.
Remember when you just started out and a senior sat with you and explained some basic concepts behind their code without judgement and patience?
Remember when you saw a colleague working on a gnarly problem and you stepped in to pair with them or vice versa?
Remember when you were extremely tired and someone chased you for an update on a piece of work that was not a priority. Instead of snapping at them you took a breath and explained why you could not look into it right now but would circle back to them in a week or so?
Kindness is not only about reactive patience and being helpful but also influences the way we work. For me a feature of kindness in engineering is keeping documentation like readme’s up to date because you want to help cut down on the time it would take engineers to make progress in future on the same codebase.
Kindness can also be applied to writing code. For example when you write code you optimise on your team’s ability to read and comprehend the codebase because you want your colleagues to have an easier time onboarding and delivering features in the future rather than optimising on your own personal velocity.
Kindness can even mean you choose not to make code more readable because your empathy leads you to believing that rearranging a pattern that the team has come to become familiar with would lead to them having to spend more time to understand changes in a codebase with low churn.
Kindness also means that we write error messages with the user in mind and prioritise product features over and above technical implementation detail because we have of empathy for our users.
Kindness means that you prioritise tickets that enable the team to ship quicker by reducing setup time through things like docker compose or makefiles.
Kindness leads to greater cooperation, collaboration and transparency. The most productive teams I have worked on were not smartest but the kindest and the least productive team I ever worked on was ironically probably the smartest.
There are lots of good engineers in the world but in my opinion the best engineers are the kindest engineers because they not only deliver world class products but they also raise the effectiveness of the entire team.