The Junior Developer Journey - Part 4
Tags: webdev, codenewbie, career, beginners
Published: 2022-10-09 17:08:02

This post was originally posted on [my blog](https://lisilinhart.info/posts/the-junior-developer-journey-part-4)

## Climbing the ladder

Once you acquired some of the basic skills you need, to get an entry-level job in the industry, there will be a lot of new challenges waiting for you. As a junior developer on your first job, there are tons of things to learn, from teamwork to taking responsibilities. 

In most companies, you will be promoted from junior once you have certain necessary team and soft skills for the employer. You need to transition out of the junior role, where people will take a lot of time to help you and become independently productive. As a regular developer, you will be responsible for the tasks that are assigned to you and are able to estimate and finish those tasks in time. 

## The difference between a junior and a senior developer

Senior developers are the ones that are very independent and productive. But not only do they have a lot of technical knowledge, but they also learnt a lot of non-technical skills like scoping work, managing teams, adjusting to priorities, helping others and writing proposals. 

The main focus of a junior developr is improving technical coding skills, which makes it challening to learn about these other important areas that a senior engineer needs. Nevertheless, we want to look at the whole journey and how to level up as a developer not only from the technical side. 

As an experienced engineer, you will be able to take responsibility for entirely new features, identify potential issues in the future and communicate to your team about it.  Let's look three things you can do to improve as a junior developer. 

## Asking questions

When working on new projects and challenges, you will often get stuck or take three times the time a senior developer would take. This is why seeking feedback and asking questions is one of the most important skills you need to learn as a junior. Instead of trying to solve the problem by yourself, which might be too hard for you, you will save a lot of time if you ask a colleague. 

Of course, this has to be in an adequate amount, because not all team members will have the whole day to help you out. This is why it’s good to get to know all of your team members and find the people that enjoy mentoring and helping you out. If someone doesn’t enjoy helping other developers, you can’t force them. 

Many junior developers have the fear that asking questions might make them seem unskilled, but the reality is that a lot of people enjoy helping out. Even if it’s just taking 5 minutes out of their day, this can help you get unstuck and continue on your task. It also shows that you are willing to learn and acknowledge the experience your more senior colleagues have. 

Before you ask a question, you should always try to solve the problem yourself. By asking yourself the following questions first, you'll be able to know if you are stuck and need help: 

* Have I used a debugger like console logging to help me with this problem?
* Have I checked with available sources like StackOverflow?
* Have I understood the code to the best of my ability?

If you tried your best and are really just stuck, because the problem goes above your abilities, it’s a good time to ask your colleagues for help. Since you already spent some time on this problem, you can show them exactly where you think things are going wrong and what you tried to fix the problem. 

## Seeking feedback

Another important aspect is also to review your code and get feedback on your (team) work. Try to find someone that can take a look at your code or pair program with you, to find issues that you might not have noticed. Take lots of notes and find good questions that can help you in your learning. By actively participating and collaborating in your team, you will improve not only your coding skills but also your team and communication skills. 

To get the right feedback, it’s essential to learn to ask the right questions and be prepared for honest answers. By asking clear questions, you will get the necessary answers you need to improve. You shouldn’t mistake getting feedback as an opportunity to get praise, but to find areas to improve in. Here are some questions you can ask: 

* What is something you would like me to stop doing?
* What is something you would like me to start doing?
* What is something I could do differently that would add value to our team?

## Professionalism

As a senior, acting and being professional is a given. Senior developers accept their responsibilities and act that way. They communicate openly, are on time, and don’t make excuses. They try to solve problems with the whole team instead of blaming someone else. They also talk about things that might not have worked out. A professional developer will be honest about the work they and the team have done and see the results as something that was achieved together and not by themselves. 

## Exercise 5 - Leveling up as a developer

Here are some questions to figure out what non-technical skills you need to improve on in order to become a senior developer.

| Topic | Questions |
|:-|:-|
| Team Skills | Are you involved in your team and asking questions? |
| Communicatoin | Are there ways that you can improve your communication? |
| Time Management | Are you on time? How can you improve your time management? |
| Responsibility | Do you take responsibility and can also admit when things go wrong? |