Generalization like rumors usually have some truth to them _ at some point, someone formed a thought around a frequently observed piece of truth and… Viola! A generalization was born (or maybe a rumor). Generalizations are incorrect for every single possible case (the exceptions), but there is truth to them.
That’s my disclaimer; now let’s have fun with generalizations.
The Software Evangelist
The epitome of an Evangelist can be observed on Sunday morning TV:
A congregation frying like bacon on the floor, 800 numbers requesting money seared into your TV set, and an Evangelist at the helm orchestrating the show.
Evangelists are a great source of inspiration, excellent communicators, and great leaders. However, they often present a one sided biased opinion, a narrow focus, and can be driven by ulterior motives (money, power, viewership, readership, etc). Listen to any Evangelists with a grain of salt.
Rock Star Developers
Rock Stars are on MTV, and featured in tabloids – they live hard and die young.
The lyrics of Great Big White describe the life of a rock star:
Well I’m a wasted rock ranger
I live the life of danger
On the road to find a higher high
The music of wild rock will get me by
Some companies seek out “Rock Star Developers”, here’s an excerpt from an email I received:
are you a Rock Star? I have an opportunity for a rock star … I am reaching out to you in the hopes that you might the star I and the client are looking for!
So, what is a Rock Star Developer? My perception is a: narcissistic, self-centered, prima donna _ someone who doesn’t work well in a team, doesn’t listen, does whatever they want, and lacks dependability. Hiring a Rock Star Developer probably isn’t recommended – unless your organization has a liberal guitar smashing policy, doesn’t mind drunken belligerency, and is run by a one man show.
Everyone wants a Senior Developer, but occasionally these developers are more senior than developers, and certainly not senior developers _ often the developer’s age (not experience) determines their title. Studies have shown that a developer with 2 years experience can perform at the same level as a developer with decades of experience. Still some Senior Developers have an unexplainable need to let the world know of their seniority through email signatures, resumes, business cards, LinkedIn profiles, and so on.
If you work for 10 years, do you get 10 years of experience or do you get 1 year of experience 10 times? You have to reflect on your activities to get true experience. If you make learning a continuous commitment, you’ll get experience. If you don’t, you won’t, no matter how many years you have under your belt. – Steve McConnell, Code Complete 2nd Edition
Software Architects can be glorified Senior Developers – an architect might be a developer who is senior (like a curmudgeon with a walker) that needed a new title.
Thoughts on generalizations:
There are two sides to these generalizations, the people who claim to be, and the people who are. The people who claim that they’re a Senior Developer are usually impostors, whereas the person who is a Senior Developer is collectively regarded as one by their peers.
Generalizations (like metaphors) are communication mechanisms, sure, there are edge cases and exceptions. Occasionally I encounter aversions to generalizations. Responses like: “Hey that’s not completely true, X,Y,Z disproves that”, or “Naw… that’s just incorrect” seem to be made when we forget that we’re just using generalizations.
What generalizations stick out in your mind?