Accelerating your career as a junior developer
Break out from being a junior.
Junior developers from my experience often focus and try to get the work done that they are given. They primarily focus is getting tasks done, they aren't focusing on how things are going for the team, or what areas the product is lacking in terms of UX for example.
They often need help in order to complete their tasks and their pull requests are often either incomplete (not completed all the requirements) or need improvements.
When it comes to improvements on pull requests, I myself when I was a junior developer and from my observation, junior developers tend to:
Write unreadable code that doesn't align with the domain language.
Create unnecessary abstractions.
Divert from the patterns in the code (how a similar logic was implemented elsewhere).
Not following the code conventions for the project.
These points stand out to me where junior developers often can improve.
Onboarding new engineers
Onboarding new engineers can be tough for someone who is a junior, but if you've been a junior developer for a while, it can be a good idea to step up and take on tasks that more mid to senior developers do. This will also let you show your company and team your ambition to take on more responsibility and level up.
It doesn't hurt to prepare onboarding with someone who is more senior than you and then onboarding the engineer by yourself, or if you wish with someone else.
Helping other juniors
If you have other junior developers on the team, offering to help them or answering the questions they have, can also show your team and manager that you aren't just working on your own thing needing help all the time, but also helping others, and trying to contribute in other ways.
This also shows that you're a good teammate who doesn't ignore the problems your teammates are working on.
Improve lacking areas
What areas are you lacking in?
If you're a frontend developer and your skills around testing, accessibility, performance, and so on are lacking, pick one lacking area that you know has an impact on the product you are working on, and try to specialize in it.
You don't necessarily need to become some top expert of the area, but try to improve your skills to a point you gain the knowledge necessary to improve the product.
This won't just show your team and manager that you are improving, but also that you have the will to take your own steps in order to improve the product, which is truly outstanding for a junior to do.
This one is short, but it is not just asking when you need help, but also asking if you come across something you don't understand.
It can be for example two seniors talking about something or you seeing something in the codebase that you don't understand.
Always ask and don't let things pass you without you understanding them.
If you see a senior developer working on something exciting, and something that will have quite an impact on the product and team, ask to tag a long and pair with them.
Maybe not necessarily pairing, but being able to look over their shoulder and ask questions, and learn!
Pairing is in general a great way to learn, whether that be with newer engineers or more senior ones. You do learn a lot yourself by explaining code or a concept to someone else.
Building side projects
This has been said before, building side projects, which many of us know. I specifically recommend you build side projects using the same technologies you do at work. The frameworks, libraries, and so on.
This will sort of allow you to get more practice in, aside from just coding with these technologies at work.
Also in your side project, you will likely code more in terms of actually writing code since the process is far simpler, you can just push to the
main branch without having to go through the whole pull request process. You also don't have to take your time understanding what exactly to do from the task since you have it in your head since it is your side project.
Writing articles that teach is a great way to enhance your learning. As they say, to teach is to learn twice.
My recommendation is to write articles about things you have learned and to write articles that allow you to challenge yourself and do research.
For example, if you write an article about writing better code, there is lots of research you could do, and learn yourself while writing the article!