How to transition from Junior to Senior

How to transition from Junior to Senior

This article will aid junior engineers to come up with a strategy on how to transition into a senior role. We will be discussing the basic attributes that a junior engineer should possess to gain the confidence in becoming more hands-on with their code and deliver features at a large scale.

Note : This is purely based on my experience.

Ownership

Taking more ownership is like a weighing scale, where the weights are measured to determine if a junior engineer is ready for the promotion or not. When we talk about ownership, it is more of a much needed soft skill, that helps engineers in creating more impact in their organisation.

Creating impact

It is absolutely necessary for junior engineers to own their components to the best of their abilities. They should be able to become a subject matter expert, must be a go-to person, if someone from a different team wants to integrate or collaborate.

You should be able to deliver knowledge transfer sessions with perfection to any new member of their team and help in onboarding them to your owned components. Knowledge transfers are key in any software company and the information relieves the stress of an individual, who wants to get hands-on with the new project and start delivering features.

Visibility of the impact

Creating a positive impact is one thing, but creating a visibility of that impact to the organisation, have benefits on a whole new level. It is not just important that you deliver key features on time. It is also important that the teams in the organisation are aware that you are the reason behind the delivery and the impact created. It is absolutely pivotal to make sure that you demonstrate your work in a manner, and the teams are aware that it has created a business impact and it is a potential revenue generator.

Adapt to new frameworks

A senior engineer is judged based on how quickly he adapts to a new framework or coding language. This does not mean that every junior engineer should practice different languages and frameworks before hand.

For example, if you are given a new application to work on, and that application is built on a new framework, It may cause some nervousness in the beginning since it is completely new and out of the blue, and it takes time to adapt. You should be able to keep the composure, and start quickly reading the docs related to the new framework, practicing few things on the side and get hands-on with it.

This is an ability that will demonstrate your skills to the management, as you can see that action speaks louder than words.

Enhance communication skills

If you think that software engineering is just a desk job, and you do not need to convey things to others and improve your communication skills, then you are not on the same page. Communication skills are as essential as your coding skills. If you are able to only talk in code and not communicate your solutions to your peers, then it results in a gap between you and your peers.

Good communication ability comes with experience and you need to make sure you are able to improve it. Just from my personal experience, you do not have to watch tutorials on how to communicate better, you can just start step by step and communicate small solutions to small problems with your peers and make sure they understand your points. You can start from there and improve as you go further.

Delegate

You need to understand how to delegate your tasks to your subordinates. If you are a senior engineer, and you are given some complicated task, you should not take all the burden on your shoulder and look to deliver it completely, you need to break the task into smaller tasks, pick engineers below your level, understand their strengths and delegate these smaller tasks to them.

This does not mean that you should micro-manage them, there is a thin line between good management and micro-management. You should make sure that your subordinates deliver it on time but at the same, give them the space and help out if they need anything that unblocks them on the way.

Design docs

This is an important trait of a senior engineer and it is not discussed on a large scale. Creating design docs and understanding the architecture of your owned component is pivotal in growing up the ladder. Design docs demonstrate your technical expertise and it makes sure that you have deep understanding of all the technical elements in your application.

You can look at design reviews of your fellow engineers and learn how to improve your design document writing skills. It is not enough to just write a document, it is also important to convey it in your design review meetings and answer all the questions raised by your peers. Initially, if you are not able to answer few questions, then you can take the feedback and improve on how to understand the technical problems in a more efficient manner.

Think from the business angle

You can deliver features on time as a junior dev and still not be promoted to senior, due to the fact that you do not correctly understand the business or customer impact of those features. This in-depth understanding and thinking of any feature from the customer angle, can increase your chances to create positive impact, higher management noticing your abilities and promoting you to a senior position.

Scale, scale, scale........

When you work on complex products, you need to understand how to horizontally or vertically scale the product based on requirement. Any feature that you develop, you should keep the scalability issue in mind. What separates junior, senior and staff is their ability to understand the scalability issues and deliver optimal solutions.

This trait comes with experience, but in the meantime, you should continue upgrading your system design skills on the side. If there is a new project in the pipeline, you should first understand the business requirements and look for the correct tech stack that will not affect the scalability of the project in future.

Conclusion

Do not have self-doubt or worry about your promotion, keep working on these attributes and create better impact. This should be enough to transition to senior roles as you go forward.

Image Credit

<a href="https://www.freepik.com/free-vector/hacker-operating-laptop-cartoon-icon-illustration-technology-icon-concept-isolated-flat-cartoon-style_11602236.htm#fromView=search&page=1&position=4&uuid=6fae8f9c-8d50-48b2-b906-cf5ff326ef49">Image by catalyststuff on Freepik</a>