When you first get a job as a Junior Developer README.md – #SU Edition
## Introduction
I recently completed my final year studying Computer Science and for the last year, I have been receiving career mentoring through the SkillStruct University Network. After completing the final year of my degree last year, I was able to land a role as a Junior Front-end developer. I decided to write this blog to give you an insight into my first few months working as a junior developer, the experience and lessons learnt so far.
## Experience First Starting
In the first few weeks, I was learning about how to use various tools and techniques related to front-end web development. I learned all sorts of things to determine the most suitable way to create a website for my company. I learned about languages such as HTML, CSS, Python, JavaScript, Zola, Tailwind CSS, React, Gatsby, and Rust. I also learned about NodeJS and NPM. There was not a requirement to use any IDE, so I decided to use Visual Studio Code since there are so many resources and support available for it.
I was nervous during the first week, but my colleagues were very welcoming. The office was not like what I expected. People are very social there. It is rarely ever quiet, which keeps things lively for me. This being my first role I did not know what to expect but being able to rely on the support of other colleagues is key.
## Things that went wrong at the start
While I did research my company, I did not do the research in-depth. As a result, it made it harder to solve problems that required the knowledge of the business. One thing in hindsight I could have done is research the tech stack of the company, if I did that, I would have given myself a good head start.
I was too proud of the way I did things. In the first few weeks, I was not open to learning faster ways to do things. Instead of relying on solutions from other people, I always tried to make my own solution. I had to learn quickly that leveraging other people’s experience in the company saves spending hours in debugging lines of code.
I was so nervous in my first week, as a result, I did not talk much to other colleagues other than my manager. When my manager was not there, I did not have the confidence to ask around about things when I needed to. In hindsight now I realise that when you put yourself out there it is amazing the feedback you do get. I recognise that it might not be easy to put yourself out there and it might be awkward at first but like most things, it does get better with time.
## Turning Point
Eventually, I learnt my domain; I researched the company in a lot more depth. After that, doing my work became a lot easier since I was always thinking about how the issues I solve will relate to the company’s business and understanding and this was one of the biggest things I’ve learnt in my career so far and is central to the theme of this blog post.
Furthermore, there was an exercise I was given where I had complete freedom with how I completed it. I decided that the best way to perform the exercise was to create a tool from scratch. After a while, I told my manager that it would take a week to complete which I eventually managed to do which was a great milestone for me starting my career. Although, being honest my manager proceeded to complete the exercise in what felt like seconds. The main point is being allowed the freedom to create has elevated my self-development. Ever since that lesson, I have learnt to be more open to other ways of doing things. Now I always strive to make things easier for myself which allows me to perform better at work. Also, whenever I am given an exercise to do, I make sure to use SkillStruct RISE principles to complete tasks.
## RISEPrinciples
Research – search online for any existing solutions and examples related to the task.
Invest – take the time to learn about the tools and techniques used in the solutions and examples. For example, what helps me is when I copy examples and tweak them to get a better understanding of how they work.
Structure – once I am confident about how I am going to solve the task; I think about how I am going to organise my work. I think about how I am going to split my code into files and folders.
Evaluate – after I finish working on my solution, I check if it solves the task to a good standard. If I feel like there should be improvements made, I go through the RISE principles all over again to add enhancements to the previous solution.
Lastly, I speak to the rest of my team in the office. While I am not close with all of them, I have people to consult when my manager is not there, I even know some of them as friends now.
## My first assignment
My first assignment was to set-up the structure of the front-end part of the website. This means that I was responsible for deciding, what tools will be to create the visual portions of the website, the development environment of the website and I have to document all of this for future employees who may work on the website using a README.md format.
From my first few weeks, I’ve learned and tried out various tools and frameworks so I spent most of my time trying to decide what the right tools were for the problems that needed to be solved for the website.
I also had to create the folder structure for the website too. This was extremely important as the folder structure has a great impact on the developer’s workflow. They should be able to easily find what they need to work on rather than having to search through various files to make changes. In addition to this, I set up the testing tools in the project. We used one for accessibility checks and another for ensuring that our JavaScript code runs as expected.
All the work I did was done under a Git repository for easy collaboration. To make the collaboration easier, I created Git Hooks that prevent the developers from committing work directly to the production and main development branches and forced them to keep the title of their commit messages short and, only allow commits to occur after tests have passed.
If someone told me before I started, I could have done all this as my first assignment I almost certainly would not have believed it. This journey has made me realise the importance of evaluation as I am realising my growth.
## General work-related tips to follow
As I look back, I wanted to give you some key points to remember when starting as a junior developer although these points can be applied with any first job.
– Remember to utilise your network. Even family count as your network, they may have opportunities for you which is how I got my first developer role.
– Know the dress code!
– Plan your commute at least a few days in advance so you do not end up late on your first day
– Create a notebook document of useful information like username details, helpful links etc…
## The SkillStruct University Network
Finally, I want to thank SkillStruct for helping me write this blog, I did not think I was capable of blog writing but skills gained from The SkillStruct University Network has given me the confidence needed to create this blog. I am glad a SkillStruct University Member and if anyone is interested in writing a blog to help one another feel free to reach out here.
SkillStructor CK.