views:

415

answers:

7

I've seen this many times. A junior developer grows in skills and knowledge to reach some intermediate-advanced stage after about 6-9 years in the field and starts wondering "what next?". I'm collating a top-level view of a handful of paths or archetypes for such a person to consider:

  • The Guru: This is a "growth in depth" approach, one where you truly find more and more esoteric niches to specialize in.
  • The Teacher: You've moved far ahead enough that you can start teaching/mentoring.
  • The Manager: You've always been a team-player, and would like to build your own.

Can you think of or suggest any other top-level paths? I'd appreciate a good definition with it to get a good feel for what you mean. I'm also not looking for "personality" ones like "OCD Freak", "Code Cowboy", "SO Addict" or other types of programmers.

A: 

I miss the mad scientist.

Gamecat
Wouldn't that be somewhat like The Guru, just a little more unkempt? :)
alphadogg
+1  A: 

The boss: running your own company.

Miles D
+8  A: 

The Specializing Generalist: Every problem involves learning in depth - both the problem domain and methods to address it.

The developers I admire most fit this category. They may become known for some area, and then they suddenly surprise everyone by showing up in some other area and tackle non-trivial tasks.

Developers should be good at learning and at problem solving!

dwc
+9  A: 
  • The Dead-Weight: Reaches a level of experience in one technology, then refuses to learn any others. Claims that one technology is the best, and everything else is inferior. Can only survive fixing legacy systems.
stusmith
Urgh, I hate that guy!
MrWiggles
Me too. But, I am looking for advice to give people stuck in the position in my post. Recommending they become a Dead Weight won't go off so well... :)
alphadogg
Agreed, I was being tongue-in-cheek. But I've seen it happen so often, it's something worth mentioning, if only to actively avoid it.
stusmith
There is also the Polymorph Dead-Weight: guys who can learn a new language/technology if the job requires it, but they keep using the old approaches/paradigms without applying the leverage this new technology was used for in the first place.
mike nvck
+1  A: 

The Consultant : Selling his experience for lots of money.

Canavar
+2  A: 

The Architect: No longer writing code, just doing high level designs for new system.

Typically embodied by big hair and a certain level of eccentricity. / joking // kind of

MrWiggles
+3  A: 

The Janitor: the only one knowledgeable in legacy applications. He is indispensable. Similar to the guru, but instead of looking for new niches, he's content to stay in his one esoteric niche (that everyone has moved on from).

bryan