Building YOUR OWN Roadmap to a Web Dev Job

As someone who started my journey as a full-stack developer right before graduating college and eventually started working for remote companies in Europe within two years, I want to share with you how I started this journey, the skills I had gained, and how you can do it on your own.

To watch this in a video format, check out the video below

To begin with, let's talk about the skill set that a typical web engineer has. They generally have

  1. fundamental web skills - HTML, CSS, JS
  2. backend programming knowledge - eg, NodeJS or Python
  3. A specialization in a frontend framework like React
  4. A proof of work or portfolio that they are constantly working on

Web Fundamentals

If you're completely new to web development, starting with HTML, CSS, and JavaScript fundamentals is a great way to begin. HTML provides the structure for the webpage, CSS adds styling to that structure, and JavaScript allows you to add interactivity throughout the page. If you're not coming from a technical background, it's best to start with HTML and CSS first, which allows you to start building your own web pages. Then you can move on to JavaScript when you're ready to add interactivity by sprinkling script tags throughout your pages.

For me, I started with JavaScript and particularly Node.js because I came from a traditional web programming background, which involves C++, some amount of Java, but I had never done a deep dive into it. This allowed me to quickly get started with web pages and building server-full backends to serve those web pages.

To learn HTML and CSS, I recommend looking at courses from platforms like Scrimba. They have interactive web courses where you can go through the code while the teacher teaches through the platform as well. Another platform worth checking out is FreeCodeCamp. They have a lot of courses around web development as well.

After you're done with HTML and CSS, it's time to move on to JavaScript fundamentals. A great course to get started is Just JavaScript by Dan Abramov. He dives into the fundamentals of JavaScript, helps you understand its primitives, and builds a mental model around objects and other things.

Learning Backend

Once you have a good understanding of JavaScript, picking up a backend programming language like Node.js or Python is the next step. This isn't compulsory if you're going for a front-end role, but if you want to qualify for a large number of roles.

Knowing a backend language opens you up to a lot more opportunities, and increases the variety of projects that you can build by yourself. You can also do cool things like running automations, integrating with APIs, and building shell scripts using these languages. There are many good resources online to learn these, such as Free Code Camp.

Specializing in a Frontend Framework

After you have a good grasp of both front-end and back-end development, it's time to specialize in a front-end framework like React or Svelte. The reason I recommend these front-end frameworks is that they give you a grasp around how large teams build things, and help build mental models around application state, lifecycle and building apps using components.

This skill will help you stand out from other candidates and help you land your first job faster. A useful course to go through to learn React is EpicReact by Kent C. Dodds. The free articles they've written provide a lot of value by themselves. It's also useful to go through Josh Comeau css-for-js course as well, to learn about the styling patterns in React.

In case you're interested in learning Svelte, you can find everything in one place on learn.sveltekit.dev.

Leveraging Proof of Work

Lastly, building up a proof of work or a portfolio that you are always working on is crucial. As you're building projects while learning these technologies, keep uploading them to GitHub or any other public platform where other people can also look at them. Create your own website as it's important to have your own landmark on the web where people can go and have a look.

One of the most important things to keep in mind when learning web development is to focus on building projects. When you're working on a project, you're putting into practice what you've learned, which helps you solidify your understanding of the technology. It also provides you with a tangible product that you can showcase to potential employers. Start with simple projects, like building a to-do list or a calculator, and work your way up to more complex projects like building a full-stack application.

It's also important to keep learning and staying up to date with the latest technologies and trends in the industry. Attend web development conferences, join online communities and forums, and read blogs and articles to keep yourself informed. Networking is also crucial, so make connections with other web developers and attend local meetups.

In conclusion, building your own roadmap to a web development job can seem daunting, but it's definitely achievable with the right mindset, dedication, and resources. Start with the fundamentals of HTML, CSS, and JavaScript, then move on to backend programming languages like Node.js or Python, specialize in a front-end framework like React, and build up a portfolio of projects. Remember to keep learning and networking, and you'll be on your way to a successful career as a web developer.