Ramblings in Web Dev

How to become a Web Developer

October 31, 2020

Over the years I’ve gotten questions from a number friends on how to get started as a Web Developer. I’ve put together all the links and advice I’ve shared, and created this post.

If you want to just get stuck in go to https://www.freecodecamp.org/ and off you go. If you want to know more read on.

There are 3 main ways to learn coding:

  1. Self Taught - online learning
  2. Online/In Person Bootcamps
  3. College Courses

This document focuses on the Self Taught route. I’ve included some links to learn mode about bootcamps.

The route you want to follow will depend on your circumstances.

Bootcamps are generally the fastest way to get job ready, but are costly. They tend to be more specific than college courses.

College courses, give you a more general grounding in many different computing concepts but take longer. They can be cheaper or more expensive that bootcamps depending on your location.

Self learning is cheaper but will typically take longer. It will suit some people but not others. The challenge with self learning is often sticking to a schedule as there is less structure.

What Language to learn?

In short it doesn’t matter so much which language you learn, its more about learning the concepts. Certain languages are easier than others. Certain languages are more used than others. Some popular languages are:

  • JavaScript
  • Python
  • c#
  • Java
  • GoLang

I recommend starting out with JavaScript. You can use it for websites, for the frontend code and also for the backend server code. Its flexible, relatively easy to learn and widely use.

Below are links, resources and tips on how to become a web developer. These all focus on JavaScript, CSS & HTML.

FreeCodeCamp

This is a great place to start. It is project based, has a great community to turn to if you need help. The curriculum is great to keep you on track. You will likely need to supplement the curriculum with other learning resources.

https://www.freecodecamp.org/

Following the curriculum is a great start. Along the way you will have questions. Below are a few places to get those answered.

FreeCodeCamp Forum

This is great when you stuck on some small issue or need some advice on learning resources. People are generally friendly so post up here as much as you can

http://forum.freecodecamp.org/

Stackoverflow

This site is used a by beginners and professional developers alike. Its a great place to search for specific errors. If you post here try an full code snippet and a details explanation of your problem.

Communities

Reddit

Here are some handy subreddits. Try not to get sucked into them too much. Some of the info on these will not be helpful until you’re a few months in

https://www.reddit.com/r/learnprogramming/ ⇒ Good for questions on where to find learning resources

https://www.reddit.com/r/webdev ⇒ Good for career advice from people currently in the industry. Good for reading about trends in the industry

https://www.reddit.com/r/cscareerquestions ⇒ Good for questions on interviewing/ starting your careers in software development

https://www.reddit.com/r/javascript/ ⇒ Good for finding out about

dev.to

Good place to read articles. Handy if you want to do some dev stuff but need a break from writing code.

https://dev.to/

Chingu

https://chingu.io/plans ⇒ Not sure how good these are but worth a look. You get linked up with others who are learning to code and do a project together.

Learning Resources

MDN

JavaScript encyclopedia. Great for referencing functions and syntax. https://developer.mozilla.org/en-US/docs/Web/JavaScript

Web Bos

One of the best creators of Web Development courses out there. Recommended once you have the basics of HTML, CSS and JavaScript down. https://wesbos.com/courses

  • Beginner JavaScript
  • What the Flexbox
  • CSS Grid
  • ES6 for Everyone

CS50 Introduction to Computer Science

This is Harvards intro to computer science. Haven’t done it myself but it gets high praise online. I watched the first couple of lectures and they seems very good. It would be a good compliment to freecodecamp as it covers some of the more lower level computing concepts that are probably glazed over in freecodecamp. I would wait to do this once you’ve a few months under your belt. The lecturer is very good.

https://www.edx.org/course/cs50s-introduction-to-computer-science

https://www.youtube.com/user/cs50tv

One of the lads in work did the course and did a bit of a write up on it:

https://medium.com/synapse/learning-computer-science-online-3d16cbcd73a5

Full Stack Job Ready Curriculum

This is like freecodecamp++. Its a big list of resources that is very comprehensive. Some of it is probably unnecessary for a Junior position. You could go down a rabbit hole here, but there are some good links and ideas for projects there.

https://github.com/P1xt/p1xt-guides

Udemy

Udemy has a huge amount of courses.

  • They are cheap (you can always get them for less than $20 if you visit using incognito mode in chrome).
  • The quality varies a lot. I find that they are good to get a basic understanding of stuff.
  • Once you want to dive deeper you are better off doing more detailed courses like the ones from Wes Bos

Here is a list of good intro courses: https://forum.freecodecamp.org/t/the-best-udemy-web-development-courses-top-free-courses/188730

Front End Masters

This is a pricier option. They vet their instructors, so the quality will be higher than Udemy. They have learning paths for beginners as well as more advanced courses.

Bootcamps

These guys have made their curriculum available for free:

https://open.appacademy.io/

List of online bootcamps

https://learntocodewith.me/posts/online-coding-bootcamps/

Tools

Online Editors

CodeSandbox

One of the best online editors. Has lots of helpful features, great for JavaScript. Choose the Vanilla sandbox to start off with

https://codesandbox.io

CodePen

Good for CSS and HTML but is missing a lot of features that codesanbox has.

https://codepen.io/

Hosting

Cheap and easy platform for hosting websites: https://www.netlify.com/

Easy backend hosting: https://www.heroku.com/

Backend & Front end hosting: https://vercel.com/

Desktop Software

Its best to start off with online editors, but once you get to the stage of developing on your desktop these are a good set of tools to use:

VSCode - https://code.visualstudio.com/

iTerm (Mac or linux) - https://www.iterm2.com/ ⇒ for running terminal commands

Source Tree - https://www.sourcetreeapp.com/ ⇒ git desktop UI

Notion - notion.so ⇒ note taking and organization

Books

You Don’t Know JS Yet - https://github.com/getify/You-Dont-Know-JS

Eloquent JavaScript - https://eloquentjavascript.net/

The Pragmatic Programmer - https://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X

Effective JavaScript - https://www.amazon.co.uk/dp/0321812182?tag=hackr-21 . (advanced)

General Tips


I'm Tom Collins a Web Developer based Dublin. I build web pages and online tools for HubSpot.