Bad Software Developers:
There are different software developers: brilliant, competent, capable… and terrible.
What makes a good programmer?
And what are the signs of bad ones?
The difference between a good and a bad developer often lies not in the level of intelligence or knowledge of a programming language. Even an experienced specialist can be ineffective. You need to look for the cause even deeper – the habits.
Fighting bad habits – both in life and in work – is very difficult, but possible. And it is essential if you want to succeed. The problem is that we do not always understand which of our habits are bad. That is why one needs an outside perspective – here it is, use it.
"My code is the BEST"
Any team needs modest, hungry and bright people:
Answering the question: "How to be a good software developer?" we continue to repeat:
"Do not criticize someone else’s code, because one day yours may become a subject of criticism.
Try to reason objectively and professionally, but do not look down upon somebody else’s work. Be humble and try to learn from people around you in all aspects of life and work".
Bad Habit №2. Reluctance to Test Code
Programmers have always considered code testing as something unworthy of their attention – something that can be compared to washing dishes. But the world seems to have flipped upside down. Developers who still live in the past are not in high demand. Testing is not a bonus for a programmer, but a real must-have. Smart programmers are able to grasp the importance of testing.
"I will fix it right away"
If you see a shortcut, this does not mean that it will lead you to the right place. Shortcuts are appealing and we all sometimes walk along them, but very often they are dangerous.
A good software developer knows: a quick solution can save several hours or even days, but then it might cost a client months and years of problems.
The shortest path is not always the best one.
Bad Habit №4. Inability to Establish a Connection with People
Ineffective developers are not team players.
This can be a real problem in today’s constantly evolving world, where teamwork comes first. It has long been not like the old days when one programmer could work alone and cope with the creation of software. Software projects are becoming more complex and one can’t do without the help of the entire team.
In any case, an inefficient programmer will equally depend on the whole team. Pride can contribute to the development of the ineffective programmer who simply cannot work in a team environment.
Knowing when and how to do the right thing in a given situation is a fundamental key to success.
Dealing with bad programmers one can say: poor communication can also contribute to team inefficiencies.
It noticeably worsens the existing problems, when such a developer needs to communicate not only with the members of the development team but with the people outside it.
"I Remember Everything, Don’t Need Documentation"
Documentation for programmers is like castor oil. Managers believe that it is useful, and developers hate writing it. And yet one can’t do without it.
Any team is an unstable formation. People are hired and fired, transferred to other departments, get ill and retire. And according to Murphy’s law, this always happens at the most inopportune moment.
Even the best software developer knows: you can forget how your code works and stop recognizing it within a couple of months.
The line between a successful product release and a failed deadline is very thin. Every piece of work must be supported with design documents, API specifications, guides and comments to the code.
"It Wasn’t Me!"
Perhaps this statement is the most important characteristic of an unprofessional developer.
One can always find an excuse for your failures (and we do it regularly).
You can often hear it from bad programmers that the root of evil lies in customers who misuse the product. The responsibility for mistakes gets shifted, shifted and shifted… and as a result, no one is responsible for it.
Good programmer is not afraid to say, “sorry guys, my bad, let’s try to fix it together.” This is the right and healthy approach of a good specialist. Everyone makes mistakes and everyone understands this.
Bad Habit №7: When “Done” Isn’t Done at All
If programming was sex, there would be many unsatisfied computers in the world. Developers do something in a hurry, say “done”, and go to sleep peacefully.
“Done” – means-tested, meets user requirements and is approved by them. The user, not a programmer!
What is “done” for programmers is far from being “done” for users.
Good developers seek to learn new things, rise to the architectural level and evaluate their creation with a bird’s-eye view of it. They learn to understand a concept in parts and as a whole. They always doubt and are critical of any decision – always looking for an ideal solution.
Bad developers are tightly attached to their favourite technology/framework/template. They have chosen the “ideal” method for themselves, but do not think about other people with different requests that will use the product. They select tools and dependencies for themselves, and not for the project.
The essence of all of the above fits into one simple word – ATTITUDE. The right attitude is always more important than the experience of programmers.
It’s not enough to just work – efficient software development team forms the right attitude to work: responsible, positive and “hungry”.
Such an attitude will make every developer more effective and happier in life and at work.