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
- fundamental web skills - HTML, CSS, JS
- backend programming knowledge - eg, NodeJS or Python
- A specialization in a frontend framework like React
- A proof of work or portfolio that they are constantly working on
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.
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.