John in  
Software Engineer  

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.


  1. 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.
  2. 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.
  3. What are some good ways to progress up the ladder and pick up skills?
  4. 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.
1
2020
Sort by:
6ym891ukphg5xkqSoftware Engineer  
Just wanted to say, I commend you OP for being able to even draw out and objectively think about your weaknesses and where you're neutral. I think speed and ability to progress in your career will depend a lot on the philosophy of your company. A lot of tech companies are okay progressing people very quickly through the levels if they perform well and exceed expectations at each step. However, other organizations may be more bureaucratic (committee to select and award promotions) and have a minimum on years in the field required. That said, this is a conversation to have with your manager from the very beginning. Ask them what it would take for you to get to the next level, and over the year keep notes of your significant contributions to bring up during the next merit cycle. Once you have clear goals in mind, you can come back to your manager and let them know exactly how you've worked towards them. As a resource, this article on Holloway has some of the key differences between competencies for ICs and managers: https://www.holloway.com/s/trh-job-titles-levels-fundamentals-for-software-engineering

About

Public

Software Engineer

Members

80,655