IC vs EM/Planning out career path
I am starting a new role as a senior software engineer and I think it would be helpful to plan out my career progression before I start. I think I would enjoy both IC and EM. I enjoy mentoring people and watching them grow and I enjoy working on difficult technical problems so I have never had a firm commitment to one path or the other. Long term (7-10 years) I would like to start my own company after I have picked up enough skills and become financially independent.
- What are the rewards for each path and the difficulty to progress? I have heard that the IC path is more financially rewarding, but more difficult to progress.
- What is a reasonable expectation on how quickly I can progress through the ladder? My initial expectation is that if I don't reach the next level within 1-2 years that means I am doing something wrong.
- What are some good ways to progress up the ladder and pick up skills?
- Any guides or books that you found helpful for your career or learning skills?
As far as my current abilities; in my last company I was on five teams and I was always the second best engineer on the team. The best engineer was usually twice as productive as me and better at communication. To give rough estimates for context; I had about 2k commits per year the best engineer had 3-4k, and everyone else had 800-1.5k commits.
Strengths:
- Learning new things
- Grinding on skills
- Mentoring people
- Synthesizing information; e.g. reading books or guides to come up with solutions
Weaknesses:
- Memory; I often have to reread large chunks of the project if I switch between projects
- Passivity; I am willing to put up with a lot of discomfort before I make changes and I often will not ask for what I want
- Planning; I often dive into the code base for projects without doing a lot of pre-planning and that sometimes works and sometimes doesn't.
Neutral:
- Communication (I used to be bad at communicating; e.g. asking for help, updating statuses to stakeholders and now I am just ok it after having managers bring it up and working at it.)
- Ambiguity I am good at understanding complex systems, but not that good at the planning part of executing complex projects.
