career path for software developers

Leave a comment

March 21, 2010 by huionn

A few months ago, I read small book about career management. Then, I realized it is important to plan for my career path based on my core competencies and personalities.

Typically, there are 3 types of technical career paths for software developers (within 7-10 years after graduate):

1)                                                   -> system analyst ->  consultant -> solution architect (business architect)
                                                  
2) developer -> senior developer     -> project manager -> technical manager
    
3)                                                   -> team lead -> software architect (technical architect)

Career path 1) and 2) are totally hands off in coding. Only 3) is purely technical. It is possible to switch between career path or bypass certain positions.

1) requires a lot analytic skills and people skills to duel with customers requirements. It only requires high-level technical skills and no low level implementation is required.

2) requires more management skills and leadership skills. A good manager with strong technical skill can earn him respect from developers easily, but it is secondary to other core competencies.

3) requires strong technical skills and some leadership skills.

I think most IT companies in Malaysia offer career path 2), some may have 1), but very few have 3).
My current company have 1) and 2) but no 3). It is the main motivation for me to join other company as software architect (the advertised title is solution architect, offered position is senior application consultant, but the role is software architect to architect a new platform for migrating/rewriting an existing product).

Each career paths have its own challenges and fulfillment.


For personality types, it is good to have assessment based on Myers-Briggs Type Indicator
(MBTI). One of the websites provide this free assessment is PersonalityType.com. The assessment result may not be accurate, but it is good as reference for career planning.

My personality type is INTP (Introversion, iNtuition, Thinking, Perception). Coincidently, according to wiki (http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator), my personality type is referred as Architect by Keisey.

In addition, based on archetypes in http://www.softwarebyrob.com/2005/12/14/better-developer-8-know-your-archetype/

The archetypes are:

  • Trainer/Author – spends the
    majority of his/her time teaching, training, writing articles and books,
    and otherwise helping others learn how to program.
  • Coder – a hard-core
    developer. Into design patterns, the next cool and experimental language
    constructs, and talking about web service proxy generators.
  • Lead – excellent
    organization skills, driven to make projects succeed, and skilled at
    leading others.
  • Technologist – into all the
    new applications; would rather integrate than write code.

I am 45% coder, 35% technologist and 20% lead. I don’t enjoy training others and writing documentations.
By the ways, somehow I find that there are missing archetypes for consultant role which is to CON and inSULT people .

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: