My first boss taught me there are two types of programmers: pluggers and rock stars. It was the late 90’s, and programming talent was in high demand. I was the young gun they brought in. A plugger would not have worked out they told me. There was just too much opportunity to be had! We went on to attempt our own web based online auction system hosted with Windows NT 4.0 powered by a Pentium 100 chip using a FoxPro backend… You can guess the outcome, but that is another story.
As I’ve thought about it over the years there are many categories, or rather stereotypes for programmers beyond the garden variety plugger and rock star. In general stereotypes are negative, politically incorrect, and ignorant. At the same time, stereotypes help us survive in the wild and make for humorous but sometimes hurtful labels.
Pluggers, or better Samurai Coders
Pluggers are the ultimate katana / keyboard wielding soldier. A plugger comes into work on time everyday and reliably gets their work done without stirring things up. Like Samurai, they are willing to sacrifice themselves for the cause, following the rules and the spec without question. Work gets done, but at best it is average, since the average programmer is probably a plugger / samurai anyway.
The Joke about Samurai Coders:
Too bad swords are obsolete and so is their skillset.
Harsh but true, programmers who get in a comfortable rut are going backwards in the ever changing software job market.
Where Samurai Coders can improve:
Generally, I’ve noticed Samurai Coders are not very interested in learning new things unless forced. My recommendation is to join a software book club, attend local meetups, or at the very least watch a tutorial video with lunch everyday for a week. Then share what was learned with the team. Also, don’t forget to try and poke holes in the spec.
Rockstar aka Diva
The opposite of a plugger, rockstars crave attention, challenge, and accomplishment. They can work well on teams, provided there are not too many of them in one area of the system (or they fight). Rockstars have an insatiable hunger to take on projects WAY beyond their abilities. They may just get away with it too.
The Joke about Rockstars:
Fashionably dressed in their own mind. Some rockstars are so cool they wear the same clothes everyday.
When managing a rockstar – don’t forget to schedule a bug fix release, just tell them it’s an encore.
Where Rockstars can improve:
The best performers know their limitations. A rock star needs to understand their own limitations and especially the limitations of the frameworks and tools they rely on. I would encourage a ‘junior’ rockstar who only knows one programming language to learn a second and somewhat different programming language from their first. Rock stars should also learn to pass on their good energy and experience by being everyday leaders and mentors.
Some Rockstars are really just Divas who rock the boat whenever they don’t get their way. Divas think their code is perfect and can’t listen.
And now for something completely different…
Humorous stereotypes for developers including Ninjas, Do Alls, Hackers, Acronym Guy/Gal, Barnacles, and Mercenaries.
Ninja coders work in stealth, and leave no trace. Similarly, their code must be kept quiet. No logging statements… no comments… just an odd tingling sensation on the back of the neck that something might be wrong. A Ninja’s code is so concise, nobody, not even their future selves will be able to decipher it.
Ninjas fix bugs like lightening. Warning: may require multiple strikes to close the ticket. Warning 2: these ‘lightening’ strikes may start fires elsewhere.
You may have encountered the software team member equivalent of ‘Ned Flanders’ once or twice your career. It is easy to recognize the okily-dokily Do All.
The Do All volunteers to work evenings and weekends to make sure the features that ‘have’ to ship do. They might get some of the cooler tasks, but they also volunteer for the stuff that is ‘too hard’ for everybody else. A sure sign of a Do All is they have absolutely no interests outside the current sprint.
The Joke about the Do All:
Calculate their actual take home pay on an hourly basis and you’ll feel sorry for them.
To a hacker, their code is such a masterpiece, why would it need testing or documentation?
- Runs port scans and network sniffers on co-workers machines.
- Attempts to install malware on co-workers machines.
- Thinks more code is always the solution, especially when it comes to bug fixes.
- Attempts to sneak non-business compatible licensed libraries into the code base.
- Runs a really screwy build of Linux so they don’t have to join WebEx meetings and avoid platform testing.
The Joke about Hackers:
They are probably really just a script bunny.
You may have witnessed this breed, common to the Enterprise Java and .NET stacks. When Acronym Guy/Gal announces themselves, they proudly rattle off the acronyms associated with the stack they work on. Their resume is covered with acronyms. They may have a habit of reciting acronym chains. An Acronym Guy/Gal often recommends building new features using acronyms they know nothing about because they have yet to pad their resume with them.
The Joke about Acronym Guy/Gal:
Acronym Guy/Gal fails to realize how fast today’s acronyms go from popular buzzwords to yesterday’s maintenance project, or fade into nothingness.
Barnacles have been at the company way too long and are VERY intent on staying. When threatened the typical barnacle defense mechanism is to bring up ‘how things used to be done’ based on a self serving oral history of the organization. A barnacle argues against upgrading anything, kicking and screaming their way out of a meeting that proposes even the slightest degree of change.
The joke about barnacles:
Over the years, barnacles have walled themselves off with so much bad code they believe they are indispensable. (Yeah, keep believing that barnacle). Hence, one of the least productive people on the team. Their co-workers notice this and shake their heads ‘ahh, what a silly barnacle…’.
A hired gun. The mercenary’s mantra: “Identify the problem and prolong it.”
Mercenaries are very, very good about bringing up schedule problems… but only 2 weeks before their contract ends. A mercenary’s agenda usually involves scope creep if not wholesale re-writes. Mercenaries are fun to talk to at the water cooler because they have seen more of the outside world, have interesting stories, and have a different emotional take on the situation.
The joke about mercenaries:
When invited to irrelevant meetings, a mercenary is the only person in the room smiling (except the Do All who arrived early and has the eagerness of a puppy to get the meeting started).
Don’t be offended if you see yourself somewhere in this article.
I’ve been several of these over the years at different times, perhaps multiple categories at once, usually without realizing it. The challenge is to step outside yourself and analyze your own behavior, like you might debug a program. What makes you tick? How you can transcend a label? My goal is to deliver value on a daily basis to my team, my code base, and my customer/employer. Stereotypes for that sort of individual might be: team player, a full stack developer, but I think it is best described as simply: software professional.