Over the course of my career, I had the fascinating privilege of working side by side with very smart people, crazy people, kind people, and bad people.
We, programmers, are all smart, and a bit crazy, but at the end of the day, we are all just people.
Here are four types of us.
Brave almost to the point of being dumb, this YOLO champion charges head-first into every coding task without thinking twice.
The Leeroy Jenkins programmer will fool you into thinking they are listening to your instructions and advice, but look closer and you'll notice they zoned out after two seconds and they're just waiting for the slightest hint of a signal to charge towards the unknown.
And that's the point. Since they don't know the unknown, and they never take a moment to think and plan, they usually fail. Spectacularly.
And now it's not their problem anymore: it's your problem.
Because they already moved on to the next
Oh boy. This is my favorite. And by "favorite" I mean "nemesis".
With their uncanny oratory skills, and unwavering predilection for bombastic, high-sounding, gibberish explanations, this quintessential narcissist will wreck your project if you let them.
The Used Car Dealer programmer knows words. They have the best words.
And they are not afraid to use them.
When asked for some quick explanations, they will reply with the longest possible streak of academic-sounding words just to make sure you don't understand and at the same time, they look magnificent in the eyes of your boss.
Used Car Dealer programmers are also known to ask you seemingly innocent questions, get a perfectly clear and simple answer, only to then double down and overwhelm everyone with demands of a Ph.D. dissertation about what you just told them. And it's not that they would be able to understand it, either.
This absolute pain in every colleague's bum thrives in environments where upper-level managers are non-technical at all.
They will come into your team, they will make friends with your non-technical boss, they will get a promotion or two at the expense of the smart introverts who will just leave, they won't get any actual work done and maybe leave a mess or two for you to fix, and then off they'll go up the career ladder or onto the next company.
Also known as the Honey Badger programmer, the Barbarian programmer doesn't care.
They don't care about your stupid conventions, your so-called "best practices", your test coverage, and all that stuff.
They have work to do. They are the epitome of that "can-do attitude" HR loves, just loves, including in every single job posting at your company.
Now, don't get me wrong: Barbarian programmers do get results.
It's just that... they're not... particularly maintainable results.
But that sounds like a you problem. Because the Barbarian programmer is already riding off into the sunset.
Towards the next feature to raid, conquer, and butcher.
Oh, the Sniper is a good one. I like the Sniper.
From the shadows of their hide site, Sniper programmers wait and study, and wait, and study. They ponder. Nobody ponders quite like a Sniper programmer.
To them, earthly things like a fast-approaching deadline mean little to nothing. They will reason over a problem, alone, for the most part of a sprint.
Their thirst for knowing everything there is to know about replacing 1500 SVG icons with the new drop-in replacement set, insatiable.
They will wait, study, ponder, plan, and at the very last second... BAM! they will deliver.
Only it's too late for tests, docs, and quality assurance. And anyway they're nowhere to be seen.
Ok, I'll admit it: it is very rare that somebody is 100% like any of this 100% of the time.
In fact, most of us are a Leeroy Jenkins, a Used Car Dealer, a Barbarian, or a Sniper every once in a while.
And I'm also very happy to admit that I, in fact, am the worst Used Car Dealer programmer ever.
I like to think of myself like a civilized Barbarian with a responsible Sniper attitude, but the truth is I'm convinced that most of the time we are all various degrees of Leeroy Jenkins.
What about you? Are you one of these types of programmers? Is there another type I didn't include?