My recent retrospective was choosing between IC or management track. Although I enjoyed both of them during my career in the software industry, I prefer to choose the IC track.
I knew the dual-track career ladder quite a long time ago but I've just heard about "archetypes" for the first time around 2021 while listening to some discussion at Twitter Space. It was quoted from the Staff Engineering book by Will Larson referring to a recurring technical leadership pattern and character.
There are 4 common archetypes:
The Tech Lead guides the approach and execution of a particular team. They partner closely with a single manager, but sometimes they partner with two or three managers within a focused area.
I think Tech Lead is quite common in an engineering organization. It has an intersection between leadership and technical expertise which can bring a team in some technical direction.
At some point or certain senior role, an engineer is most likely expected to broaden their responsibilities such as growing the team's technical level, direct technical approach, and communicating between partners. Those activities in other words are called being glue to keep unit
Architects are responsible for the success of a specific technical domain within their company, for example, the company's API design, frontend stack, storage strategy, or cloud infrastructure. For a domain to merit an Architect, it must be both complex and enduringly central to the company's success.
Software architects could design for end-to-end technical aspects of a specific domain in the company. I think it's important that architect has to know how to build software including how to scale it and how their design could help the company to reach its goal. They usually have wide expertise so they have many insights about design benefits or trade-offs.
The Solver is a trusted agent of the organization who goes deep into knotty problems, continuing to work on them until they're resolved. Folks in this role are moved onto problems identified by organizational leadership as critical and either lacking a clear approach or with a high degree of execution risk.
If you have software engineering problems that no one could able to solve, the Solver archetype is the right person. It's someone who could deep dive enough to find the root cause and finally solved it or bring the light of the solution so the team can continue the work.
Depending on how complex the problems are, the solver could stay on the same project for a quite long time and jump to another project after solving the old one.
The Right Hand is the least common of the archetypes, showing up as an organization reaches hundreds of engineers and is akin to operating as a senior organizational leader without direct managerial responsibilities.
Right Hand is more kind of a managerial or leadership role. They can work in many intersections between engineering, business, people, or culture. Some days they work on tech debt issues, then another days will work with HR to define hiring criteria.
Which One Am I?
A little bit of reflection, I think I already tried all of the archetypes during my career in the software industry.
Was ever being Right Hand to initiate culture transformation in the organization, to become more has values so it can reduce employee turnover rates. Then someday I've become a Solver in a project that was related to a chatbot and had a bad project outcome.
As an Architect maybe not be fully deep into the role, but usually I created high-level designs and some implementation detail then let my team discover the missing pieces or the low-level implementation. I just need to make sure their implementation was still on the right track.
Tech Lead was my official title when I was working at Avana. Besides coding and monitoring infrastructure, It was specifically leading the engineering team to deliver proper and better software. Hiring activities were also included because I have to make sure we were hiring the right person who could fit with the current organization.
I actually enjoyed every moment when I tried every archetype although sometimes it gave me a bad day if I messed up. Lack of experience, and no proper mentorship contributes to how bad I was being at each archetype. But lesson learned, move on.
I am reading the book Staff Engineer: Leadership Beyond the Management Track after my retrospective for coming back to IC track because I want to push my technical expertise. I am thinking maybe I want to focus on either being Tech Lead or Architect because of those archetypes that I often got involved with in my organization.
That is a long journey and the main thing is to focus. I could think some points about the path:
Learn other programming languages to broaden my programming insight
Read more book about software development or engineering leadership
Contribute more to the community. Writing blog is the easiest way to start
More programming exercises either using Leetcode or Hackerrank
Finding mentor. I think ADPList have many mentors who can help to grow
Never stop to learn
I believe there are many paths still out there waiting for me to discover. I am not expecting I will become a Staff Plus Engineer level within 1 year, LOL. What important is to focus to get better every time and enjoy the moment.
If you want to get better, always consider you're a beginner
Republished from original show: https://didiktrisusanto.dev/show/22959/finding-the-archetype