Yeah, that’s the question that has been lingering in my head since I resigned from my Tech Lead role in my previous comoany. I left simply because I felt I was still too inexperienced to be a Tech Lead and I still crave for the technical development and career growth. To be a Tech Lead with such little experience would have been a limiting factor as I wouldn’t be able to contribute significantly.
So yeah, what’s next?
Since I moved to my current organization where I am no longer a lead but rather a simple app developer/data scientist, I have been learning a lot things especially on the technical side. There are simple technical tasks like writing SQL for data query and deploying app as a Docker image using Kubernetes to more challenging tasks like developing API using Django framework and manipulating Amazon LEX model using the AWS lambda function (which was challenging yet rewarding). All these tasks wouldn’t had be possible for a few more years had I chose to stay in my previous company. However, all those tasks are to assist the existing team and stakeholders to achieve their long term objectives. How do all those translate to my own career progression?
I had met up with my previous reporting officer as I was in a way lost and was going through a mid live crisis. He had shared his opinion and observations such as I am a rather meticulous person and often plan things out well among other things, which would been a desirable trait for a lead. I too agreed with that but I know that would have been my weakness as well. I probably would be flustered and nervous when something unexpected happens. Hence, the well thought out plan and meticulous attribute. But in this aspect, I am learning to be more calm and take it easy.
I also reached out to a staff ML engineer when I saw a post about his newly published book on LinkedIn. He shared this article on the different archetypes and so I spent my days reading the various guides. It was a rather eye opening website and it helped to crystallize my thoughts.
Firstly, I have to understand what type of staff engineer I am and would want to be. On first glance, I am not an architect because I simply don’t have the patience to look at the big picture and be a gate keeper of the critical architecture. Besides the patience, this type requires quite an in-depth technical specialization on a particular field/technology such as database, cloud technology etc. That leaves me with the other 3 archetypes.
The Right Hand type may be suitable for me as I do enjoy moving things along, not just the technical tasks but also administrative tasks, to move the project along. Not to mention, it is always good to have an understanding of a general overall picture of how things work within the organization. However, the workload may be too high as I probably be greedy and take on more tasks than I could handle. In that aspect, I would need to learn to delegate tasks to the appropriate people using my RO’s authority. Hence, the general overall picture understanding that I mentioned earlier.
Well, Tech Lead is the easiest role to get and a role I am familiar with. I enjoyed mentoring and providing guidance to my juniors as and when I could. Besides that, I enjoy providing the general direction and opportunities to my junior so that they themselves could grow as well. I understand that there is a risk of them leaving after achieving some level of proficiency but that is a natural part of work life. Without the career growth, no one would have joined us and we would all feel unmotivated.
The last type, Solver, is a possible type as well as I enjoy solving problems. It just feels great to know that I have solved a major problem. However, I wouldn’t like to keep jumping from problem to problem especially if the problems are from different projects. I wouldn’t be able to get a sense of achievement considering that I wouldn’t be able to see the project through to the end. Yes, I understand that solving a major problem is a significant achievement but on a personal level, it feels very much a touch and go sort of approach. Very much like a consultant.
So in a way, I am not 100% a single archtype but rather a mix of staff plus engineer. It is opposite of what the article is suggesting (or did I misunderstand the article?). I am 60% Tech Lead, 10% Right Hand and 30% Solver. Of course, this proportion mix would change as I go along my career and who knows, the Architect type may be part of the mix.
Now that I have established that I want to reach staff engineer level/leadership level but in how many years? Also, in what type if company? To be a staff engineer in a different company or even different industry would need me to rebuild my reputation again as opposed to bring a leader within my current organization.
What can I do to be a step closer to the staff engineer level in my current organization? What is missing my promotion packet? I would need to review this with my RO and also get the advice from others.