Guide to paving a career path
When looking to progress through our careers the most common mistake we programmers do is to try to follow the career ladder of the organisation that we are employed with. This often creates a lot of tension in the form of expectations from both sides and many times end up going through checklists to cross from one level to the another. When someone changes job, then there is a new path and standards to adhere to.
I feel it is better we create a path for ourselves which is easy to assess where we are and what we ought to do. I follow this in my career for new skills and existing expertise I have. This works irrespective of where I work. I had created my path based on the Dreyfus model and Constructive developmental theory. More about the second in the later blogs. These are spheres of influence one should aim for.
Stage 1: Self
Like a musician has to learn to play an instrument, read notes and get to a proficiency level that s/he is able to play some songs to a personal satisfaction, a programmer’s first stage is to learn to write code and unit tests. (To me code means along with test driven code which implicitly includes unit test, but I am mentioning it explicitly so new programmers don’t get the wrong idea about tests). Once a programmer is confident of being able to work with a proficiency in a set of languages and able to translate simple requirements into code consistently, s/he is ready to move to stage 2.
Stage 2: Team/Project
This is the stage where the individual understands that the work done should excel as a team. It is not enough that individually you are effective but as a team you are effective. If you are at this stage, you will constantly look for mentoring newbies, drive refactoring, improve abstractions, anchor huddles etc that will improve the well being as a team. You will still program well as an individual but will always keep in mind the impact on one’s action on the team and project.
Stage 3: Office/Community
A programmer is at this level when they understand and start doing things that impact the office or community beyond their project work. Contributions to improving hiring process, setting new practices, cross team collaborations etc are some examples. People at this stage will always have more community contribution compared to what they draw from the community. S/he will be tied to the social image and expectations of people around.
Stage 4: Company/Organisaation
When an individual reaches who is who of a company then s/he is at this stage. This will require extensive presence and contribution in things like social events (internal and external) and open source which increases the visibility of the company to the external world. Also the individual has to be in a position to influence company level practices and make sure there is some homogeneity at a level that is easy to move people across projects and offices. People like head of technology, practice heads come under this stage. In the systems thinking paradigm, these are strong systems thinkers and they will be able to bring long lasting large changes with seemingly less effort. They will be driven by a set of values and hold them very dearly.
Stage 5: Industry
A very few of us will ever reach this stage but should never stop trying to get here. At this level, people are influencers and are followed in mass. They hold their position and influence irrespective of the organisation they are associated with it. Often the reverse is true, the organisation benefits by associating with these individuals. They are the zen masters.
If we pace our career by growing our sphere of influence, there is very little external validation that we will crave for and not succumb to the pressures of career ladder & paths that normally come in our way.