owned this note
owned this note
Published
Linked with GitHub
# A Career Path for Software Engineers as Individual Contributors
###### tags: `career`, `software engineering`, `career path`
Can you get promoted in your current company or organization without becoming a people manager?
If not, then you might want to contribute to this attempt at forming what **we, the developers,** think is an ideal career development path that allows you to stay an individual contributor while rising through the ranks **of a single organization**.
:::info
:memo: Please do comment freely and share your thoughts in this article wherever you disagree / have some suggestion. This is meant to be an attempt at tackling this issue collaboratively, in the open.
:::
## Individual Contributor vs. People Manager
First of all, it is important to clarify the distinction between a "people manager" career path and that of an "individual contributor" (who may also individually contribute to a team).
This distinction is put in place to discern between career progression that allows you, as you grow, to become a specialist individual contributor in your company without having to **change careers** and become a people manager.
## Career Progression Levels
In this section, we examine how many levels there should be and what those levels (job titles) should be.
### How many levels should we have?
5-7 levels of career progression. If you get promoted every 5-7 years, that's a 35 year career right there.
### What are the actual levels ?
Let's start with:
* Apprentice Software Engineer
* Associate Software Engineer
* Software Engineer
* Senior Software Engineer
* Principal Software Engineer
* Senior Principal Software Engineer
## Areas of progression
In this section, we want to capture the different kinds of skills that an individual contributor whould have to develop, in order to progress throughout their career.
// Work In Progress ... 👇
### Scope
### Business Impact
### Technical Knowledge
### Knowledge Sharing
### Collaboration
### Mentoring
### Customer Interaction
### ...add your own here...
---
## Putting it all together
| Area | Apprentice Software Engineer | Associate Software Engineer | Software Engineer | Senior Software Engineer | Principal Software Engineer | Senior Principal Software Engineer |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| Scope | Learns to use professional concepts. Applies company policies and procedures to resolve routine issues. | Developing professional expertise, applies company policies and procedures to resolve a variety of issues. | A seasoned, experienced professional with a full understanding of area of specialization; resolves a wide range of issues in creative ways. This job is the fully qualified, career-oriented, journey-level position. | Having wide-ranging experience, uses professional concepts and company objectives to resolve complex issues in creative and effective ways. Some barriers to entry exist at this level (e.g., dept/peer review). Level at which career may plateau. | Having broad expertise or unique knowledge, uses skills to contribute to development of company objectives and principles and to achieve goals in creative and effective ways. Barriers to entry such as technical committee review exist at this level. | As an expert in the field, uses professional concepts in developing resolution to critical issues and broad design matters. Significant barriers to entry (e.g., top management review, approval) exist at this level. |
| Business Impact | //todo... | //todo... | //todo... | //todo... | //todo... | //todo... |
| Technical Knowledge | //todo... | //todo... | //todo... | //todo... | //todo... | //todo... |
| Knowledge Sharing | Internal docs | External-facing blog posts | First talks at local meetups | First talks at conferences | Regular talks in conferences | Talks in large conferences |
| Collaboration | //todo... | //todo... | //todo... | //todo... | //todo... | //todo... |
| Mentoring | //todo... | //todo... | //todo... | //todo... | //todo... | //todo... |
| Customer Interaction | //todo... | //todo... | //todo... | //todo... | //todo... | //todo... |
| Background | Typically requires no previous professional experience.Masters degree graduates start in this category unless they have significant direct experience in the open source community or prior professional development experience.• Someone new to the profession. Ie, recent college graduate without relevant fulltime professional experience. Could also be someone who has changed careers. • Its not uncommon for a recent college hire to remain in this title for a few years. | Typically requires a Bachelor’s degree and a minimum of 2 years of related experience; or an advanced degree without experience; or equivalent work experience. | Typically requires a minimum of 5 years of related experience with a Bachelor’s degree; or 3 years and a Master’s degree; or a PhD without experience; or equivalent work experience. | Typically requires a minimum of 10 years of related experience with a Bachelor’s degree; or 8 years and a Master’s degree; or a PhD with 5 years experience; or equivalent experience. | Typically requires a minimum of 15 years of related experience. | Typically requires a minimum of 20 years of related experience. |