The 5 types of programmers you will come across everywhere

And wait till you meet number 5 …

AB Satyaprakash
CodeX
5 min readMay 18, 2022

--

I have been programming for quite a few years now. Having worked with several companies, startups, and organizations, I have come across several kinds of programmers — some dull, some brilliant, some workaholics, some lazy, and so on. However, we can broadly categorize all these traits into five types of programmers.

Different types of programmers — Credits: TECHINASIA

On a side note, it is quite possible that individuals might be a combination of one or more of these types. I also don’t encourage you to be any of these types since each comes with its own set of advantages and disadvantages. A healthy combination of these types might give you just the programmer you always wanted to be, but an unhealthy mix can delay your project beyond limits or give some nightmares to your project maintainers.

1. The duct tape programmer

At the end of the day, you are here to ship products, not write code

This is the guy that fixes everything. Point him at the issue, walk away, and he will make it happen. Now you may not love him or his code. He does not care about the fancy talk or the trivial cases. But whenever something goes wrong, he will fix it — fast and effectively.

You are sitting at your desk when this smart-ass guy comes to you and starts explaining how your code could be 36% faster if you quickly used his templates. All you need to do is to multiply-inherit from 17 of his templates, each taking an average of 4 arguments, and you barely even have to write the body of the function! You know this code will generate tons of bugs, and it’ll delay the production by ages, but you are too timid to admit that and let yourself be bullied.

The duct tape programmer is not afraid to say, “Multiple inheritance sucks. Stop it. Just stop!” He does not care if his code is pretty or fast. It is code. It does the job. That’s it!

2. The theoritical programmer

Well, that’s a possibility, but in practice this might be a better alternative.

This guy absolutely loves his theory and is more interested in the options than what should be done! He reconsiders his decisions half a dozen times before finalizing the implementation. He will spend 80% of his time staring blankly at his computer, thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code.

When the time to ship his work comes, he will reluctantly present it with the excuse that “he could have done better if he had more time…” God, he is still thinking about better alternatives!

3. The half-assed programmer

Ok, now what? I thought it worked, does it not? Changes? Arghh, okay!

This guy is done with programming. He might as well take up any job, but he is just too lazy to apply again! He does not mind the code quality. Isn’t that what the QA team is for? No one loves this guy. The other software engineers don’t want to team up with him.

But the clients and the management love him. After all, he is the one who keeps the company afloat. Yes, his code will cause a lot of pain in the future, but that’s not the point. He meets the deadlines, and he does precisely whatever is told to him — nothing more, nothing less.

4. The no-code programmer

I am a programmer, ain’t it? I don’t write code. That’s for noobs!

This guy is lazy but arrogant. His world has one simple truth; writing code is bad. If you have to write something, then you’re doing it wrong. Someone else has already done the work, so why not just use their code?

He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project, it will only be 20 lines of actual code and will be very easy to read. It may not be swift, efficient, or forward-compatible, but it will be done with the least effort required.

5. The OCD perfectionist programmer

You want to do ‘what’ to my code?

This guy doesn’t care about your deadlines or budgets. Those are insignificant when compared to the art form that is programming. He reads the documentation more often than anyone else just to make sure that all the best practices are followed. One single warning and he will spend days fixing it!

When you do finally receive the finished product, you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.

What are you?

What type of programmer are you? Let me know in the comments. Also, feel free to make an addition to this list.

I classify as partly theoretical and partly a perfectionist when it comes to programming. I do have OCD, and I like to triple-check that everything is perfect, well documented, and in a ‘could not have been better’ state. Do I miss out on deadlines? Yes, sometimes I do. Sometimes I overwork just to make sure perfection is not lost.

This article’s content was inspired from the blogs of Steven Benner and Joel Spolsky. Do check those out for more amazing content!

Feel free to reach out to me for any questions or suggestions that you might have. You can follow me on these social media platforms — LinkedIn, YouTube, Twitter, Instagram for more updated content!

As always! Happy Hacking! 😇

--

--

AB Satyaprakash
CodeX

Engineering @Oracle | Applications Intern @Oracle | MLSA | MLH | Developer | Competitive Programmer | Mathematics and Computing @IIT Guwahati