How to Be a Coding SuperherošŖ
A superhero. Cleaning up the streets of a city, removing those criminals.
What a Hero. They arenāt coders and canāt code.
Which is why every tech firm needs a coding superhero. Someone to clear the codebase of mistakes others canāt see. A super-human developer who works for the good of all, to make the implementation and maintenance of new features accessible in 2023.
This article asks the question. Are you a coding superhero?
The Superhero values
A great superhero has the following values:
āChampion the common personā
āGuard the vulnerableā
āUphold the lawā
āSafeguard their love interestā
These donāt really apply to coders. So, we need to enumerate theā¦
The Superhero Coder Values
We are asking if you are a coding Superhero, and we want to ask you whether you follow the superhero coder values:
āChampion the user experienceā
āGuard the quality of the codebaseā
āUphold coding principlesā
āSafeguard against subpar codeā
If you hold these prime directives, youāre on your way to being a Coding superhero.
What does being a Coding superhero mean? Let us look at each of those values in turn.
āChampion the user experienceā
A Coding superhero puts the customer at the heart of everything they do. They speak up when the business asks for a code change that will negatively impact the end user.
Iām always saying your code change is rubbish.
A true Coding superhero goes further. They donāt simply see the customer as the end consumer of the product. They consider other coders to be consumers of code. That means if they see an out-of-date API hanging around in the code, theyāll get rid of it. Theyāll work during code reviews to make sure that the codebase is improved.
Coding superhero improves things for both internal and external customers.
āGuard the quality of the codebaseā
Problems can be solved by just adding a third-party dependency into the codebase. Someone needs to ask pertinent questions like:
Who owns this dependency?
Who updates this dependency?
Why canāt we implement this ourselves?
Once the questions are asked, the Coding superhero can (or ask someone else) weigh up the advantages and disadvantages of this approach.
Is that different from saying your changes are terrible?
The integrity of the codebase goes further than dependencies for the Coding superhero. Modularisation, testing, how the code is passed to QAā¦the list can never end for the Coding superhero.
A Coding superhero makes sure the codebase is suitable for the problem it has been created to solve.
āUphold coding principlesā
A Coding superhero understands coding to a deep level. They know what makes code great, maintainable, and testable.
Thatās clean coding, no?
Actually, this goes deeper than clean coding principles. The Coding superhero understands the trade-off between speed and quality.
A Coding superhero understands coding principles and makes sure that they are followed, when appropriate.
āSafeguard against subpar codeā
Everyone can have a bad day. When we code, we can attempt to merge code that can put it bluntly break things.
In our industry moving fast and breaking things has been replaced by going slow and procrastinating.
Who makes sure your rough code doesnāt get into the codebase? A Coding superhero.
A Coding superhero communicates to the rest of the team. They make sure everyone does a good job and supports when necessary.
Conclusion
A coding superhero isnāt necessarily a senior developer. I guess they should be, but due to some senior developers being juniors in disguise, this isnāt guaranteed.
What is sure is that having someone on your team who is working for the greater good is a requirement for your team. Youāre asking for trouble if you donāt have at least one coding superhero.
If you want to say in the comments that everyone in your company pushes poor code, go ahead. Thatās not what we do here.