I've been in the software industry since 2013 and almost all of them are web applications. Began a web developer especially PHP was kind of an accident because, during my college life, I learned Java as my main programming language. I've struggled a lot using PHP + HTML + CSS + MySQL during my early career but somehow I've managed to love it and become my career foundation as a software engineer until now.
Individual Contributor or Managerial Track
Back in the day, I have no career plan whatsoever. I remembered during my college day, I've been told that:
"Programmer is a low-level role. As a bachelor at least you have to be a manager"
This concept was sitting in my head for a while and used that as a common career guidance. Years later I got my title as VP of Engineering because of company growth and we need someone "senior" to fill the role.
I struggled a lot because being in a managerial role is very different than being a software engineer. Although they shared a common goal which is creating good software as an outcome, in management I had to deal with people's problems and company objectives that often I couldn't find the answer to at StackOverflow.
Later I found myself more comfortable building software than handling people. This broke my first idea because, in tech, a manager can have the same level as a software engineer so being a manager is not the only goal in terms of seniority.
Will Larson at StaffEng explained It's common in the tech industry there is a dual-track engineering career ladder which is usually called Staff-plus (Individual Contributor) and Engineering Management.
So actually not being managerial role is not bad at all.
Choosing an IC Track
Since I have a role in management, I felt my technical skill was declining. Only had little time to build software or keep up my skill to be still relevant in the industry. Management job is though, without proper experience and mentor I just stuck and stopped growing.
I need a new challenge.
I decided to pursue my technical expertise as an Individual Contributor (IC) because I enjoy building software and I choose to gain more experience in product engineering so I can explore about scale, proper tech, how to produce, and maintain products, engineering and team at scale.
I knew my "seniority" level at that time will vanish once I step up to the bigger stage. This is called "The Seniority Roller Coaster" which is explained well in one of Pragmatic Engineer post by Gergely Orosz.
I acknowledged this because I realized tech is rapidly moving and I felt lagging behind. It's my challenge to keep up to gain more technical expertise which I believe is more valuable rather than chasing the title. If I want the title, I have to make sure first that I deserved to get one from my impact at a higher level.
Do I want back to try the management role again?
Yeah, maybe some time at some point I can switch back to a management role considering these points:
I feel have enough technical competencies & experiences
I clearly want it, not for the sake of people told me I have to become one
I'm glad about my work now. I got my "senior" level although I still lack much technical expertise, I am ready to commit to doing more responsibilities and give more impact on my team or organization. My current workspace gives me so much room to improve and prove to myself that I deserved that title.
Moving forward I have to keep grinding my technical expertise and think about how to keep getting better every day.
Republished from original show: https://didiktrisusanto.dev/show/19744/career-retrospective-individual-contributor-or-engineering-management