What I Learned in the First Three Years of Working as a Web Developer
Tags: career, webdev
Published: 2021-04-23 12:51:12

The last time I wrote a post like this was when I was three months into my career and I feel like I should make a post now, since my thought process and my feelings towards certain things in the field has changed. If you're looking for an article talking about concrete technical things I learned like "Oh I learned these really cool and useful features in JavaScript", This is not the post for you. This post is about how my opinions evolved and changed over the years. A common thing you might see during this post is that in the last three years, I realized that I had (and still have) a lot of privilege and my way of thinking some things were born out of that and I had opinions that were unintentionally gatekeepy.

## Passion

I used to be super passionate about web development and I would work on silly side projects after work and I used to think it was important for other devs to be passionate about their work and I would look down on people who are just in it for money or aren't passionate about the field. This has changed, I still enjoy coding and I still code in my spare time from time to time, but I don't think it's super important to be passionate about web development and I think it's fine if people are in it for the money, at the end of the day, it's just a job, we all have to survive, we all have to live, who am I to judge other people's motivation to come in to work? Who am I to judge if people are not plugged in 24/7? Who am I to judge if people don't have a portfolio or side projects?

## Vanilla JavaScript First V.S. Frameworks/Libraries First

I used to think that learning vanilla JavaScript before frameworks/libraries was the best and most efficient way to be a better front-end developer. That may be true for me and my way of learning things but it doesn't take into account people who don't necessarily have the time to learn JavaScript first, like people who switch careers later in their life. I had the luxury of going to a post-secondary school in my home city at the ripe age of 16 for 4 years. I had the time to learn the "fundamentals" first. While I'm on that note, when what do we mean by "fundamentals"? How much knowledge is enough to start diving into frameworks and libraries? People who start with React or Vue before Vanilla JavaScript doesn't invalidate them as developers. This logic also applies to CSS frameworks. Often times I see people who start with frameworks and libraries want to learn the backbone of their tech stack and become really proficient in CSS/JS.

## Are HTML and CSS programming languages?

Okay this might be my most controversial opinion so far, but they both are programming languages, mostly because in the last three years I have seen amazing things done with these two languages. I was never one to consider HTML and CSS as unimportant, because I write a lot of HTML and CSS in my day to day. Even then, I used to say "Well HTML literally means 'Hypertext Markup *Language*' and CSS is a stylesheet *language*" and yes they are Markup and stylesheet languages respectively, but why don't we consider these types of languages as sub types of programming language? JavaScript is technically a scripting language, but no one argues its validity as a programming language.

## On a personal note

even if this whole post is opinionated, this section is very specific to me and my experience.

After working two and a half years at a wonderful agency, I decided to work for a different company. There were three main factors that I looked for.

1. Interesting projects and challenges
2. Small company that isn't a startup
3. Embraces remote culture, even after the pandemic

### Interesting Projects and Challenges

This is the main reason I wanted to change companies. Although the projects could be interesting for some/most developers, we mostly built big marketing websites for big corporations. That was fun for the first year or so in the industry, but after that I was starting to want to build products and Saas style projects and that was not something we did at our company.

Although I don't think passion is important. I feel like it's important that I at least tolerate or enjoy the projects I work on. That can come in many forms like enjoying the tools you are working with, the team, the goal/mission of the project, the challenges you face, the client, etc.

### Small Company That Isn't a Startup

Going from a company with thousands of employees and is owned by one of the biggest marketing and communications company to a small twenty-ish employees company was quite a bit jarring, but in a good way. Obviously not all big companies are the same and same thing for smaller companies. After all, I've only worked at two tech companies that did very different things. Going into this small company, I saw myself cutting through a lot less red tape, especially when it comes to PTO and project architecture. At the bigger company it was a pain trying to add small npm packages to projects that it was usually easier to build solutions in-house, whereas the smaller company, there were a lot less friction when adding packages. At my current company I feel more independent while still having a good support system and that my opinions and ideas matter and aren't completely disregarded.

### Embraces Remote Culture, Even after the Pandemic

Now, this is something that my previous company did very well. after three months of being fully remote they announced that the company will keep the office, but will be remote first for the foreseeable future and I applauded this decision. I grew to really love working remotely, I feel like I'm more focused, productive, eat home cooked meals 99% of the time and don't have to deal with the harsh Canadian winter or buses. It was one of the first things I asked my new employer because their only office is in a city three hours away from me and they were 100% on board.

## Final words

In conclusion, I learned to see things with more nuance and compassion than before.

In conclusion, it was fun writing this post and reflecting on my career so far. I hope to write more articles like this as I progress in my career. Let me know what you think and feel free to share your own opinions and challenge mine. 🙂