left arrow

Software

2021-12-05

What I learned in a year as a Front End developer

Go to why

Why

A couple of months ago I celebrated the anniversary of my professional Front End developer career, so I've decided to write a summary of what I learned during my first year. I see self-reflection as a fun and useful activity which can give me more insights about myself and what I've accomplished.

Before we start, I'd like to mention that I basically had no experience with Front End technologies prior to the start of my career. However, general programming knowledge and skills transfer through the fields, so I had the advantage of knowing how to learn and adapt previously known concepts to new ones.

Go to hard-skills

Hard skills

  • JavaScript and TypeScript – first things first, I learned a new programming language. I started with JS but quickly realized I could apply my knowledge of C# and its object oriented approach by using TS. Although there were some new things for me, I'd say that the transition went pretty smoothly. Nonetheless, there still are some advanced topics I'd like to explore that I don't get to use in day to day tasks.
  • React – because I needed to work on tasks and issues at the start of my career, I quickly learned the basics of it and improved my knowledge as time went on. I can confidently say that right now, I'm comfortable using it and I managed to learn quickly.
  • NodeJS – when talking about Front End technologies, of course, it is essential to understand NodeJS.
  • npm and yarn – I got to know the world of package managers. I did use NuGet a bit before, but this was basically new to me.
  • Sass – previous knowledge of CSS helped, however, Sass unlocked a better approach to styling (combined with CSS modules) and helped me to hone my CSS skills further.
  • Gatsby – understanding it probably took the most time for me as this is a whole framework that covers a variety of tools, topics and concepts (for example GraphQL). At the start of my career, I also used CRA, but I quickly moved on to bigger projects using Gatsby.
  • GitLab CI/CD – the concept of CI/CD was not totally new to me (I used GitHub Actions a bit before), however, I saw how it was used in real life projects and learned how pipelines work, how to create them and how they could help us develop and deploy faster.
  • Webpack – to better understand how Front End projects work under the hood, I also decided to delve deeper into this popular module bundler.

There are definitely some tools and technologies I haven't mentioned, but these felt like the ones that gave me the most knowledge.

Go to soft-skills

Soft skills

In addition to the previously mentioned hard skills, I also acquired some soft skills:

  • Company structure – the first year of my career allowed me to better understand how companies are made up, what is their hierarchy, how they function and see everything first hand.
  • Teamwork – working in a team was not something I had done before, so I definitely learned a lot about teamwork while directly working with a Product Manager and DevOps team.
  • Code reviews, mentoring – I knew how code reviews worked before, however, I didn't have any real life experience with them yet as I was working alone most of the time before. I learned how to give and receive code feedback which is very valuable to understand. We also recently added a new junior developer to our team and I took on the role to mentor him and teach him the technologies, tools and concepts we use.
  • Localisation, accessibility - I understood the concepts of language localisation and web accessibility and why we need them.

Again, there are more things I could list, but I feel like those impacted me the most.

Go to in-retrospect

In retrospect

There are a lot of things that I could've done differently. For example, I could've learned the technologies in a more orderly fashion, because it felt a bit chaotic at times as I was trying to figure out what I should be learning next. I also had to keep in mind that I needed to complete tasks all while trying to learn new tools and technologies, so that's probably why I felt overwhelmed at times. Nonetheless, I'm very happy that I managed to pull through and learn a lot while completing tasks at the same time.