Every developer climbing the corporate ladder will at some point in their career hit a crossroads. The natural career progression for technology professionals seems to always take them away from technology. However, it doesn’t have to, because there is always the choice between Management and Architect.
If you are good at what you do, in a corporate environment, you will be rewarded with promotions. It is a great irony that companies will take the best producers and promote them to the point where they are not directly producing. Depending on your personal strengths and aspirations, you do have some choices.
Why do companies promote?
The bottom line is that companies that have a great developer, want many great developers. It is common to look at the team and say: “It would take Bob a few hours to build this. Why is it that Bill hasn’t finished it after three days?” It is natural to try to get the high producer to work with the average developers to try to help them to become better producers. They will reward you by placing more responsibility on your plate as a team lead or manager.
The irony is that as you gain more responsibility, you have less time doing what you do best, the stuff that got you there. The real question for you, is what role do you want to play.
Career path choices
As a valued member of that team, you do have a choice, and it will require some real soul-searching to figure out which direction you should go. You will have to think about what your long term goals are. You want to take into account your career aspirations, your biggest strengths and weaknesses, and what you see yourself doing in the future.
As cliche as this sounds, you need to picture yourself five or ten years down the road and decide what role you want to be playing in the future. That desire is as unique as a fingerprint, and there are almost as many paths to get to that end point.
Try to visualize yourself working 5 years from now. What kind of work are you doing? What projects are you working on? Are you spending your days cracking through technical challenges or are you spending time with co-workers, helping them to crack through technical challenges? Although the world is never this black and white, think about this: if you had a choice between spending all of your time hands-on, or all of your time managing and thinking strategically, which would you choose?
Try to identify that goal as clearly as you can, but don’t panic that you are painting yourself into a corner. As with anything in life, you may change your mind in the coming years, but you really do need an honest starting point to set your direction. Here are some of the directions you may take:
- Stay where you are: Some people don’t like coming up with the ideas. They don’t want to lead a team, nor do they want to be responsible for the actions of someone else. If you would rather focus on delivering solid bug-free code, then no-one is forcing you to take on these responsibilities.
- Chart a different course: Maybe you see yourself doing something different altogether. I have seen people leave development and move into all kinds of non-related fields from becoming a high-school teacher to opening up a corner convenience store. If this is your long term goal, then be honest with yourself and work towards that.
- Management: If you really like the team environment and enjoy helping your co-workers through problems, then you might want to look at a management path. In this role, you take on the responsibility for the productivity and quality of the product your team is producing, and you are able to touch more of the technology within that group by not digging as deeply. You help others within your team to grow as developers and as individuals.
- Architect: If you have a real passion for the technology, and coaching and mentoring people is secondary, an Architect role is for you. In this role, you can set coding standards and you get to sink your teeth into some of the larger, more complex projects within your organization. You will focus on setting up and documenting procedures and best practices. You will help to guide your organization to a better product.
The real key here is to build on your strengths and the things you enjoy (Most of us enjoy doing things that we are good at). If you have a passion around what you are doing on a day to day basis, you are more likely to succeed, be noticed, and have a fulfilling day at work.
These choices may depend heavily on the organizational structure of your current company. Within your company, there may be several of these options available within one role, or it may be divided even further. If through this exercise, the role you are looking for doesn’t exist within your organization, you may want to consider your next move.
As you move on, whichever direction you choose, keep these goals in mind. Crystallize the vision of what you are aiming towards in the coming years and work towards that goal. It isn’t always presented in terms of a promotion, or a change in role. Sometimes, you can move your career in a direction with a choice of one project over another, or doing some extra research in a specific field. If you are building on your strengths, you can take the things you would like to be doing and make them a strength over time.
This is not an easy task, and should not be something you rush through. After going through this process, I chose the management path, but at the time, I really struggled with the notion that I may not be able to be as innovative as I had been. I eventually came to the conclusion that I could continue to have great ideas and be innovative, but I could accomplish much more by coming up with the ideas, and getting someone else to build it. I could be building 3 or 4 of my great ideas at a time, making use of a team. This was my deciding point, you need to come up with yours.