Member-only story
Characteristics of a Bad Software Engineer
Understanding them is the first step towards eradicating them…
There is a lot of fuss around becoming good developers, a lot of articles aruond traits of great engineers, tasks of senior engineers, and all the goody-goody things. Let’s change the pace a little bit and dig into things that you should NOT do as a software engineer. Qualities that are categorized as bad, and mindsets that will prevent you from being a better engineer.
Let’s begin.
The Quick Fixer
Adam is a developer who likes to deliver tickets and features quickly. He is well known to deliver things on tight deadlines. Whenever he is stuck, he does a quick Google search and applies the first solution that he finds.
The problem here is not about picking up the first solution from Stack Overflow or any place else. The problem is the mechanical application of it without understanding the consequences. Applying something without fully understanding the context can lead to more problems in the future.
More often than not, I have seen people believe that quickly finishing the tasks will help them outshine others. They might be able to impress in the short term but in the long run, they fail miserably, as they don’t have a deep understanding of the problems they have solved.
The “who needs testing”
Silvia is a wonderful developer and enjoys programming a lot, but one thing that she really hates is writing tests. According to her, it reduces the speed of development, and there are QAs to test the code anyway, why bother.
Writing tests can be cumbersome sometimes, but with increased complexity and ever-changing requirements, if you do not have a safety net, then it becomes much harder to maintain the code. Part of it comes from lacking the interest to set up a testing environment and partly from a lack of coherent knowledge of testing.
The code is going to outlive your time working on it. You should make sure that it does what it is supposed to do, nothing more and nothing less. Make sure next time you estimate a feature, you take the writing tests into account.