Unlock That Promotion — A Guide for Junior Software Engineers

Liambaisley
ILLUMINATION
Published in
7 min readFeb 6, 2024
Photo by Randy Tarampi on Unsplash

If you are an ambitious junior or graduate software engineer, then this article is for you! In this guide, I’ll share some tips that helped me jump from junior to intermediate in less than one year. Some of these tips are focused specifically on the transition from junior engineer to intermediate, while others will serve you well for the rest of your career.

Tip 1: Focus on the technical.

Later in your career, the jump between roles will rely less on technical (hard) skills and more on soft skills. The jump from junior to intermediate, on the other hand, is almost entirely technical.

This means that the highest impact area to focus on for promotion from junior to intermediate is your technical skills.

It’s a good idea to give some thought to your career goals here so that you can develop your skills accordingly. If your goal is to be a front-end engineer, then developing skills in front-end development is going to yield the best results.

But what technical skills should I focus on? The best skills to focus on at this stage of your career are the fundamentals. Make sure you are writing good, clean code by learning principles like SOLID, DRY, and KISS. Learn the fundamentals of object-oriented programming, and make sure you understand them well. Practice building side projects; being able to manage large pieces of implementation on your own is going to be a big benefit when pushing for that promotion. From there, make sure that you are competent with the languages, frameworks, and technologies that your company uses.

Tip 2: Take ownership.

What do I mean when I say take ownership? When I say you should take ownership, I mean that you should find some app, some piece of functionality, or some subsystem and make it your own. Make sure that you know it inside out. When tickets pop up for fixes or new functionality, offer to pick them up. When someone has a question, make sure that you are the person they come to. You are going to need to take initiative here, find something you think might be neglected or could use some love, and make it your own.

The ability to take ownership is going to be a huge motivating factor for the promotion from junior to intermediate. It is going to make it a lot easier to demonstrate your skills. It’s also going to make it easier for your seniors and managers to advocate for you when they are discussing your promotion.

It’s also important to show some tact here; you don’t want to go around taking over things that other people are already responsible for. You’re just going to step on your toes and upset other people. If you are struggling to identify something you can take ownership of, chat with the intermediate or senior engineers on your team. Let them know that you are looking to take on more responsibility and would like to take ownership of a component of your project. They will be able to help you identify something that will be right for you, without stepping on toes. Chances are, they have a ton on their plate already and would be happy for the help.

Tip 3: Take responsibility.

This may have multiple meanings and somewhat extends the previous tip. A promotion always includes elevated responsibility; by taking on more responsibility, you are showing your seniors and managers that you are capable of handling the responsibility of an elevated position.

Like taking ownership, it’s important to do this carefully. Taking on responsibilities that you can’t handle is going to show immaturity and probably lead to you being a junior for longer than you’d like. On top of that, people are going to hesitate to allocate high-value tasks to you because they will be unsure of whether you can handle them.

This is another important area to discuss with your seniors and managers. They will be able to help you in identifying responsibilities that you can take on slowly so that you don’t overwhelm yourself.

Aside from taking on more responsibility, it’s also important to take responsibility. That may sound confusing, but let me explain. If something you did goes badly, maybe you introduced a bug to prod or broke your deployment pipeline, it’s important to acknowledge to your team that it was you who did that. Take responsibility for your actions and show your team that you have learned from them. Nothing screams junior like making the same mistake over and over and trying to pin it on some external factor.

Tip 4: Keep a record of your achievements.

Did you play a key role in getting that last deployment out on time? Did you find a bug that was causing issues for weeks? Did you complete a new certification?

It’s important to keep a record of these sorts of achievements so that in your performance reviews, you can use them as motivation for why you may deserve that promotion. Your managers aren’t going to do this for you, and it’s easy to overlook these sorts of things in performance reviews if you don’t have a record of them.

So the next time you do something you are proud of at work, write it down and keep a record of these achievements. They’ll be super useful in performance reviews and when your managers are considering you for a promotion.

Tip 5: Take your performance reviews seriously.

Speaking of performance reviews, it’s crucial to take them seriously. Your managers are going to use this time to give you tips on growing in your role.

Ask your manager which areas they think you need to grow in and which gaps you need to bridge before they would consider you for a promotion. Take their answers and use them to build goals and strategies to make sure that by the next performance review, you have covered all their concerns (remember to keep a record of what you have done to address their concerns for your next review!).

Not only is this going to give you clarity on what you need to improve on, but it’s also going to show your manager that you are taking ownership and responsibility for your career.

It’s important to note that not everyone is going to have a job where performance reviews are the norm. In this case, it’s going to be crucial to sit down and evaluate your progress think about your career, and set goals and strategies. Speak to seniors on your team and ask them for advice, especially if they have gone through the promotion process at the company where you work. They will have a ton of valuable insights for you.

Tip 6: Focus on communication.

This may be clear from some of the previous tips, but it’s important to mention it here. In tip 1, I mentioned that the jump from junior to intermediate is almost entirely based on hard skills. While this is true, communication is a crucial soft skill for software engineers.

For non-technical managers, the software development process can sometimes seem like magic. They may struggle to understand progress and what is going on in the software development life cycle. This makes communication an invaluable skill. In order for them to manage a software project, they need to constantly be up to date on progress, issues, and blockers.

Making sure that you communicate clearly, understandably, and on time is going to go a long way in improving your relationship with your managers and teammates. If you are holding up vital aspects of the project due to a lack of communication, it is going to be very hard for your manager to advocate for your promotion.

Some important areas of communication to focus on are:

  • Active blockers — things preventing you from doing your job.
  • Things slow you down — especially if you think they will cause you to miss a deadline.
  • Lack of understanding — if you are unsure how to solve a problem or don’t understand a ticket, always ask sooner rather than later.
  • Expectations — if you think it’s just not feasible to finish allocated work in the allocated time, speak up.

Your manager will need to know these things in order to plan the project efficiently. Making their job easier is going to make your job easier.

Tip 7: Seek out mentorship.

There are so many talented software engineers out there who are happy to help others grow in their careers. It can be really beneficial to your career to have a good mentor. It doesn’t have to be a formal mentorship relationship, but the most beneficial ones usually are.

Approach someone that you look up to, who has, or has had, a role that you want to achieve, and ask them if they would be willing to mentor you. Make sure that you set out your goals and intentions clearly; this is going to help them help you to the best of their abilities.

Be prepared to receive a no here, and be willing to accept it. Someone who doesn’t want to be a mentor or who doesn’t have the time to be a mentor is not going to be a good mentor. Gracefully accept a no and move on to someone else.

Your career is an ever-changing path, and it’s important to adapt to new changes and challenges. These 7 tips should help you grow from a junior software engineer to an intermediate, but it’s important to emphasize patience. Try not to get caught up comparing your career to the career of others; your journey is not the same as theirs. The most important thing to do is to make sure that you are better than you were yesterday. If you focus on that, you’ll achieve your goals quickly!

--

--