5 Questions I asked myself before starting my very first role as a junior developer
Tags: javascript, beginners, codenewbie, programming
Published: 2022-07-19 15:25:48

Hey dev community, 

It's been over 2 years since I last posted on Dev so I will first introduce myself with a short description.

In November, 2019, I started my journey as a #codenewbie on Twitter and completed my first #[100daysofcode](https://www.100daysofcode.com/) challenge by [6th March 2020](https://twitter.com/iraamoni/status/1235958060205707264). On 8th May, 2020 I landed on my first job as a Software Designer and in time slowly transitioned into a front-end developer role.

If you are a codenewbie, as exciting as it might be to get a job, its also equally scary to imagine what it's like working as a junior developer, what to expect, what's the work culture like etc. The experience of course varies from person to person working at different companies but here I would like to share the top 5 questions I wondered about before joining and how they actually went.

## **What will my first day of work look like?** 

The very first day I joined, I started my day by joining the team daily standup where I introduced myself to everyone together with an interesting fact about myself. The rest of them then welcomed me to the team, introduced themselves, shared in interesting fact and let the team leader know what they have been working on as that is the main purpose of the team daily standup. 

After the daily standup, I was given a Github link directed to the documentation of **"How to get started"**. I was also asked to check for areas of improvements within the documentations such as spelling errors, broken link etc. So the very first pull request ([PR](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)) I created for the codebase was minor improvements related to punctuations and broken link for the documentation. Again nothing scary! 


## **I wonder what tools will I be using?**
Usually, one of the developers are in charge of explaining the tools used within the company and in my case I had a meeting with the lead Product Designer, who explained in details what each tools are and how they are used. Below are the few tools I use on a day to day basis:

- A task management tool - Target Process --> Azure DevOps
- IDE - [WebStorm] Yeah, not VS Code. Surprise, Surprise! 
- Design tool - Sketch --> Figma 
- Screenshot tool - Monosnap
- End to end testing - Cypress
- General Communication - Slack 
- Formal communication - Outlook

After installing some of the above, I spent some time learning about each, which was a slow progress because getting used to new tools takes time and effort. But, the best part is everyone in the team knows that so you are not expected to know how the tools operate since day 1, specially moving from VS Code to WebStorm was a tough transition for me. 

## **What would be my daily schedules?**
As a junior developer, I didn't really have a ton of meetings everyday. The highest number of meetings I had in one day was 4 but that was very rare. Here is how much schedules looked like:

- All team standup (3 days a week) - Where only the team leaders speak and let the upper management know what we have been working on.
- Team standup (3 days a week) - Where we explain what we have been working on to our team leaders.
- Sprint planning (once every 2 weeks) - Let the Scrum Master know, what stories we will be working on in the next 2 weeks.
- Retrospective (once every 2 weeks) - ups & downs of the sprint, comments, improvements, appreciations etc. 

## **Who will I be working with?**

So this changed a lot based on a lot of ongoing factors occurring within the company but here is the general idea:

There were 4 teams within the organisation: 
- Integration 
- Features
- On-call 
- Performance and security 

Each team except performance and security had at least 3/4 developers, 1 team leader, 1 designer, 1/2 QA engineer, 1 scrum master and 1 product owner. It is important to note that, even if you are assigned to a specific team at the beginning of your job, you should always keep an open mind towards moving between teams to teams, adjusting to their work culture and moving forward with a fast pace if needed. 

## **What if I need help?**

I think this question really keeps us awake at night because we rarely feel confident to apply to jobs as a junior developer because we create imaginary situation where we are stuck at a problem for 2 weeks with no solution what so ever. Here is what I did to overcome this after I joined: 

- I made very good use of a Slack channel called **dev-help** where everyone is allowed to share their concerns and issues and there are always developers who would just jump in and help. 
- Another trick I used to receive help was by checking the code authorship (GitLens extension) and sending them messages directly to see if they can help with the issue I was facing. This doesn't always work but it's worth a shot sometimes. 
- And the last one is by pair programming. Almost all senior developers will be happy to do a pair programming session with you where they will either demonstrate it for you or ask you to do it yourself with their help. Pair programming always helps to ask questions to the experienced developers, discuss the advantages/disadvantages of certain methods and learn new ways of solving problems which is amazing. 

if you are a codenewbie and is currently looking forward to exciting opportunities as a junior developer in the future, I hope you found the above q&a helpful and informative. Thank you for reading