2020 was an interesting year. In one perspective it was a year like any other. The sun was rising and setting. We have had rain. In the other perspective, we have experienced the biggest health crisis of the modern world.
Before I’ll go into today’s article, I’d like to suggest a few moments of silence to commemorate all that have suffered or died because of COVID-19.
[…]
2021 had arrived. C’est arrive is how Frenchmen would celebrate the arrival of a new wine vintage. We have said goodbye to 2020 with a relief. With high hopes for 2021. Also with a lot of complaints about the old year.
I was thinking a bit what would be my main new year message to all software industry out there. Until I decided on complaints.
Complaints are what I would like to focus this article on. That they should be allowed. They should go back into mainstream software culture. They should not be pushed out completely, by sales-focused, positive and american culture. That there is place for complaints, especially if things go or are close to going to pieces. Like that last shit year. Complaints are one of the true powers of engineering.
In the book by Andrew Hunt and David Thomas, The Pragmatic Programmer, the original spirit of programming is shown as hacking. Hacking itself is shown as being able to produce an efficient and elegant solution to a specific technical problem. Not just a solution, but the brilliant solution. The mind-blowing solution. At the very soul of the problems being resolved lie dissatisfaction and complaints on how the existing system is working or how it is being used.
How different to modern ways, where complexity and understanding is usually hidden by layers upon layers of middleware. Todays engineering is focused on making things easy and accessible for all. The lets do it spirit. The spirit that puts new shiny over improving old. The spirit that de-prioritizes improvements over delivering new. The spark and original spirit of engineering to make things simpler and more efficient is dying.
Replaced by schedules, control and continuous feedback. Wrapped with a ribbon of Agile on top. While there is value in these approaches, I’ll just ignore them for the benefit of the message.
If you work closely with your users, sharing their expectations and communicating what you’re doing, then there will be few surprises when the project gets delivered. This is a BAD THING. Try to surprise your users. Not scare them, mind you, but /delight/ them.
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
Many managers would single out each developer that continuously brings them the bad news. They would gladly have them replaced with people much more positive. There is lots of logic in it. It also lessens the psychological strain on the manager. Not to mention the fact these continuously complaining engineers, in most cases, significantly outsmart their managers. They have pretty good ideas and understanding of problems. It is hard to operate as a manager, under conditions, where your authority is continuously undermined.
The mistake is to cut it all off. The mistake is to learn to ignore it. The mistake is to take the always smiling stance. Making all things appear positive and under control is not the role of a software manager. You are more than allowed to show you are not the one running the show.
The true role of a manager is to make sure the team operates. That there is a group of individuals willing to listen and to support each other. The keyword here is being open to vulnerability. No team can operate without a critical voice. No project will get the necessary improvements without a very strong, critical, complaining, engineering voice. In most cases all you’ll get is a product, for which you have lots of sales data proving it’s worth. That becomes obsolete within a couple of months, once a better solution is found. A solution you have missed, because only schedules and value proposition was driving your deliverable.
Better solutions come from appreciating and addressing problems. They come from listening to complaints. They come from having complaints. They come from creating an environment for your engineers, that allows them to hack the problems coming from the complaints.
As a manager, you do have a choice here. Try to sell things as positive, or just accept they are not. Show their face value. Acknowledge a change is required. That having a painful thorn in your eye gives your company or enterprise little benefit. Just as you can have a bad year. Complaints give you the true power to say enough. To start changing.
There is a trap on the other end of this stick though. A trap for the engineers themselves. Complaining yourself to inaction. Just seeing the problem and naming it, is not really following that original spirit of engineering. Some of the best engineers I ever worked with, would just go and change things. The software craftsmen. Often without asking for any permission. Just seeing and fixing the problem. Affecting delivery timelines. Causing bugs. This got me into much trouble as a manager. Though the long-term benefits outweighed the original trouble in majority of the cases.
The amount of surprise you feel when something goes wrong is directly proportional to the amount of trust and faith you have in the code being run.
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
Being a pragmatic engineer means following through on the complaints. Pestering your manager with the changes done, just because they make sense. Unleashing that original hacking spirit again.
My new year message is then: Go and complain, go and change the code.
Let’s not get paralyzed as most of the politicians are with the health crisis. Let’s have the code we produce, delete and maintain not be our personal version of 2020.
Let’s make 2021 a year, where each engineer in the world could say: I hacked*.
*I produced an efficient and elegant solution to a specific technical problem. Not just a solution, but the brilliant solution. The mind-blowing solution. The solution I was told, was not important or not possible.
As for 2021. Scientists are close to engineers. The should complain louder. Then use that negative power to change the world.
I hold a very huge hope some scientist or a group of scientists will attempt a hack for the health crisis. Rather than waiting for politicians and pharma companies salespeople, they will break through and provide us with a true health life hack for this virus.
All the best in 2021. And stay safe!