5️⃣Software Developer Delusions
After all of these years in front of a monitor as a software developer, I’ve seen people come and go. What worries me is that the following delusions keep doing the rounds and crop up time and time again.
So come with me and explore the five transgressions that developers often commit in the workplace, and how they can be avoided.
I’m Always Right
This seems to be a common affliction for software developers. This type is always the loudest voice in meetings and is more than happy to drown out other people’s ideas and contributions because they’re always right.
The real problem with this? Software development is a team sport. Some of the best ideas come from the quietest person in the room. Sometimes being the smartest person means being the most reflective, quietest person in the room.
It’s all fun and games until someone loses a semicolon.
How it can be avoided: Nobody can know everything. It is great if you learn where there are gaps in your knowledge and make yourself a better programmer.
My Code is Art
Some developers treat their code like the Sistine Chapel. There has to be a limit to the amount of polish an algorithm can take as it’s not a Da Vinci painting. It is the goal of a software developer to create code that works and is maintainable.
A good PR comment is LGTM.
How it can be avoided: Work on the balance. Sometimes the perfect code is the code that is perfect now.
No Need for Documentation
Some developers claim that their code is so clean, elegant, and perfect that it requires no documentation. That is seldom true.
However, software developers can also move too far in the opposite direction. Where I’m working now developers write comments that describe exactly what the code does below.
So, what am I saying? It’s that documenting code is all about balance.
How it can be avoided: The Goldilocks and the Three Bears strategy. Get it right by making sure it’s not too big or too small.
Agile Means No Planning
Agile isn’t an excuse to avoid good planning. Just because we have managed to rid ourselves of Gantt charts (in the most part) doesn’t mean we can simply sit at the keyboard and start coding.
Agile means flexible planning and that’s a big difference from no planning. You should be planning and thinking about your work in order to deliver the best possible solutions.
How it can be avoided: Understand Agile and software development.
Tech Debt Doesn’t Matter
Some developers are all about getting things to work. Some might be influenced by project managers that tech debt doesn’t matter. They feel it is something that can be brushed under the carpet and tackled “another time”.
The big problem with tech debt is that a casual “we’ll do it later” becomes “never” so easily and can prevent new features from being implemented and software development effectively grinds to a halt.
How it can be avoided: Tackle tech debt as you go.
Conclusion
I need to go now, I’ve some refactoring to do. When I’ve done that, I need to complete some documentation and attend a meeting where I listen more than I speak. Why? Because nobody likes a developer who does not improve over time.
Ah. So that’s why nobody likes me.