Throughout my career, I held different roles at companies and saw how developers progress in their careers. I want to share my observation of how developers got into the positions that they progressed in.
When you start as a Junior Engineer, there are certainly lots of things to learn what it takes to do the job. There are many open ends, so it is easy to grab one and start growing. As a Senior Developer, you will find yourself in the position to educate juniors and professionals. While functional experience comes with time, it is necessary to look at multiple other factors in order to advance in your career.
Companies usually look for motivated individuals who want to progress in their career and are eager to learn. If you are not only good at what you do, but you are doing an outstanding job, the next step in your career might be happening rather sooner than later. It is important to check regularly where you stand to have a clear vision on how you can progress.
Below, I have collected a list of factors that you should consider when you want to move forward with your software engineering career. I split up those factors into the ones that are - what I call - Active and Passive Factors. Active Factors are such that are your responsibility to come up with solutions for. Passive Factors cannot be influenced by you directly, still you have to monitor those and be aware of.
Active Factors
Career Reflection
What's the logical next step for you?
Beware of your current position. Are you a great fit for it? Are you currently levelled correctly? If this is the case, identify what the next step in your career should be.
Check out my article on how to advance in your career. I describe possible ways for software engineers to move forward in their career.
Requirements
What is required to land the new role?
You have to fulfil basic requirements, like respecting meeting times, stick to common communication patterns, etc. Kind of common understanding I guess. Go the extra mile - this does not mean doing overtime 3 times a week, this means being there for people that need help, like a product owner, an engineer from another team, even though you don't have to. Be present, take jobs upon yourself that are out of your comfort zone. Build a reputation for yourself - be the go-to person for a specific topic; and make sure to share all of your knowledge transparently. Sharing will let others see you as a person of knowledge, people will talk about it. If you keep all the knowledge to yourself, people will not approach you because they will not learn from you.
Goal Setting
Set goals that you can measure.
Make sure that you set goals for yourself. When setting these goals, keep a couple of things in mind:
- Does the goal contribute to your personal growth directly?
- Does the goal bring the company forward?
- Is the goal reachable by yourself?
- Do you have all the things you need or do you need support?
- Is the goal measurable?
Managerial Awareness
Collaborate on goals with your manager.
Sabina Nawaz describes in her article If You Want to Get Promoted, Say So, how asking for what it takes to move into a new position can help in advancing. She talks about a case where this landed the respective employee a new role earlier than expected.
In order to be able to progress, your manager needs to know what your personal development goal is. In any case, make sure to be concise when you describe your desired wish. Get their opinion. Do they share your desire? Identify the gap between what you do at the moment and the position you want to reach. Make efficient use of your review and feedback meetings. It is your manager's responsibility to set up personal development goals with you together.
Passive Factors
Career Path
Make sure your company has a Career Path.
In order to understand how you can grow yourself personally, a career path or engineering ladder for individual contributors can help you to understand what you need to do in order to reach the next level. Check if your company provides a career path that you can follow.
Organizational need
Will your organization need the position that you are looking for?
Once you identified what the position is that you want to grow into, you have to identify if your company needs this position. If the position is not open, talk to your manager which chances they see to grow into the desired position. Eventually, if you don't see the possibility to land the role that you wish for, you need to look outside the company.
Perception
What will your teammates think?
It is important to make sure that you check in with your teammates about a potential new role. Will they support you? It another person within the team also willing to take that role? Which conflicts may arise? Be cautious of those factors and make sure to align with your colleagues. Listen to their needs and wishes.
Approaching a Promotion
In her HBR post How to ask for a Promotion, Rebecca Knight outlines the principles that you should consider when asking to be promoted.
Do:
- Think about the position you want and how it aligns with the objectives of your organization and manager.
- Prepare a memo that clearly outlines your proven track record and provides concrete metrics on the impact you’ve had.
- Ask your boss for regular feedback and advice on how you can get to the next level.
Don’t:
- Assume that asking for a promotion is a one-and-done discussion. It is usually a series of ongoing conversations.
- Play the “other offer” card recklessly. That tactic often has a negative impact on professional relationships.
- Get discouraged if you don’t get what you want right away. Be patient.
Conclusion
If you want to progress in your career, you need to take it into your own hands. Don't wait for it to happen "automatically". Check, if you did your homework and require that your organization is doing theirs.