Bad software developers or “I’m a senior developer”
Hi there, today I’m going to tell you about bad developer types I had to work with. For those who don’t know there is gradation among developers, which goes like this in ascending order: beginner, junior, middle and senior. Those are general levels, and obviously, there are good and bad programmers on each level. I’m not saying that I’m one of the perfect developers, but I strive to be one. And in this article, I want to show you some traits of bad developers.
This type of developers can be found anywhere, give him any task and he will respond that is easy to implement. Ask him how long the task will take he will quickly reply announcing shortest time possible. He almost never writes any test, because he already put a short deadline for the task and doesn’t have time to write tests, why should he write any if the task was “easy” and he is confident with the code he writes. Which usually ends up as a disaster, he either fails deadline or produces shitty code just to stick with the deadline to show how awesome he is. If you’re working with this kind of developer multiply his estimated time at least by 2. Bad choice for enterprise companies, sometimes good for a startup if you’re building MVP.
This kind of developer won’t start doing the task without a full specification with every smallest detail. So he can make a perfect architecture or perfect solution for the problem. Can reject your pull request several times on code review even with a tiny visual style problem in code like spaces, so you have to be careful with spaces =), fortunately, lint can solve this problem. Becomes a big problem if put as a lead developer, because the project will move slowly, as you can guess to make everything look and feel perfect. Will argue a lot if you ask him to make something fast or make a hotfix. Tends to be a good choice for enterprise companies but won’t fit a startup needs.
This one often can be found among beginners and junior developers and junior developers pretending that they are “middle” or “senior” developers. May know a lot when you speak to him, or in an interview, but will definitely fail if check his practical skills. Loves to argue to demonstrate his knowledge. Can tell about any technology or framework, but does not how to use in real-world conditions. It’s good to know a little about many things, but you must know at least even one topic in depth with practical skills, otherwise, you’re nothing else other than a useless.
Very popular among junior and weak middle developers. This type of developer can’t do anything without googling and asking for an answer on StackOverflow. I’m not saying that it is bad to do so, but if you’re working 1+ years and still googling and asking for help for any small task, it means you’re a stupid developer. But there is even worse developer type I call it “Stupid as fuck developer”, the one who can’t even search the answer on the internet. And guess what he does instead? Of course, bother teammates, friends, and everyone around him because it easier than putting some effort to find the solution. The most terrible part of this is that most of those developers just copy and paste the code, without further investigating why it works.
Probably doesn’t like the job he’s doing or thinks that he doesn’t have enough experience to have his own opinion on the project. Robots are mindless things, and they just doing their job. Sometimes good, and sometimes bad. Still, “robots” can be those who are afraid to have their own opinion, but can actually be good coders. The problem will start appearing if the developer doesn’t say about critical problems or easier ways to solve some problems. Maybe because he is shy, or afraid to look stupid. Often seem to have impostor syndrome, that’s why will try to work more than anybody else, like a robot. Commonly seen in a big company. So if you need a mindless developer who performs your orders may be a good choice.
It seems that lazy developer usually the smartest developer because he doesn’t rush into the task without assessing it. Also, he writes less code, and by the rule: “less code you write, the fewer bugs you have”. But it isn’t always true. Sometimes laziness can cause a lot of troubles. First, because he can skip writing tests, which could’ve saved a ton of time in future (Not applied to startups😅). Second, can approve shitty code during code review, so he doesn’t need to recheck the whole thing again. Third, can say that something is impossible to implement or very time-consuming to implement, even if it isn’t. So you need to be careful with this one. But if it is healthy laziness they are one of the best developers, because they love to automate things and find easiest and creative ways possible to solve problems.
It’s all begins with side projects, and books or articles about entrepreneurship. By gaining some theoretical “business” knowledge will start thinking about moving forward to create his own startup, or go to freelance. And will try to convince his friends and coworkers to do the same. It usually ends up badly if he fails when founds a startup, and then when he returns to work as a developer he can’t work with an engineering mindset anymore. That’s where he becomes a manager developer. No more coding, only talking. But if he chooses the path of being a freelancer it is a lot easier than creating a startup. So he can still be the same good old developer plus some business skills that any company should appreciate.
Mostly found among front-end developers. Doesn’t care much about the code, as much he cares about the look of the application he builds. Can write nasty and shitty code, but the design has to be perfect. He is designer by heart but chose to be a developer because they earn more😅. Maybe, a great choice for startups wanting to save money on designer and hire a developer with designer skills.
Oh, this is very special kind of developer. Actually, there are two types of “Senior” developer. First, the one who worked more than 2 – 3 years, and yelling that he is very experienced and became a “senior”. Even though the only things he probably did is changed the color of buttons and moved them around (but not without StackOverflow). And the second type doesn’t give a shit about how many years he worked but instead the number of fancy technologies he knows or the number of companies he worked for. Fortunately, they can be easily detected on any proper interview, however, I’ve seen some in a position of senior and lead developers. But mostly in startups.
Not quite a developer
I’ll never understand this type. There some part of software engineers who don’t care about the stuff they do. They do not improve their skills, do not contribute to anything related to their career. Some of them even think that it is stupid to spend time learning something in depth or learn any architecture patterns. Its waste of time to write tests or do code reviews they think because software can work without those fancy things and architectural problems look far-fetched for them.
I made this article in hope that if you are one those guys, you will start thinking about it. Or if you’re beginner you’ll know what characteristics you need to avoid. And In my opinion, we all sometimes share some traits with bad types of developers, but if we know what’s wrong it’s more likely that we can fix our problems. I guess this list can be applied to any sphere, and it mostly depends on person himself.
Please do not be one of those guys, unless you hate your job. If you hate it move to something else, maybe you’re good at something you would never think of. Love and be passionate about the job you do, because it’s most likely that you spend the most of your time working.
Subscribe to be notified of new posts!