Web dev resources
This post will serve as a hub of resources that I found useful on my journey to becoming a developer. I’ve been teaching myself programming since the start of 2021, and in that time I came across an entire heap of sites, courses, and tutorials that have helped me progress - and I wish to share those so that they may help others just like they’ve helped me!
CS50
CS50 was my one of my first experiences with programming. It teaches you the fundamentals of programming very well, introducing you to programmatic problem solving and the right way of approaching problems.
The content would’ve been a bit of a slog if not for David Malan’s energetic lectures. This cours comes heavily recommended by programming communities online, as it provides you with the right fundamentals and thinking that you’ll be relying on for the rest of your career.
The Odin Project
This is a fantastic set of courses, well maintained and regularly updated. Its primary focus are web technologies: HTML, CSS, JavaScript, as well as Ruby on Rails. The beauty of the course is that it doesn’t hold your hand too much - it’s often up to you to read through documentation sites and learn to research and find solutions / extra info online. Personally, I think that the single best way to learn is to build projects, and this course has that covered in spades. You’ll be making apps such as a Tic Tac Toe game, a Todo List, and a Weather app. All of those are extremely fundamental apps to make that will teach you how to interact and manipulate state / fetched data.
A lot of frontend work can be described as ‘getting some resource, manipulating it, and displaying it’, and those projects cover this really well. Later on you’ll get to creating some CRUD applications that interact with databases, which will help you develop and understanding of working with both front and back end tasks.
Full Stack Open
After I made a good bit of progress with Odin, I found this course offered by the University of Helsinki. I would honestly give this course a 10/10 - it has definitely taught me the most about web development. Throughout this course, you will develop a single CRUD app, with the course providing you with explanations and examples and leaving you to develop your own solution based on those.
Its main focus is building Single Page Applications (SPAs) with ReactJS + NodeJS. SPAs are no longer the flavour of the month, but this will nonetheless teach you advanced concepts when it comes to developing a full stack application. I would really recommend this course to those who have a good understanding of JavasScript, as it does assume you have previous knowledge of programming with it.
Following a structured course like those 3 is good to start with. However, in order to progress and really improve, you need to simply build things by yourself; that is where your weaknesses and problems will become painfully apparent as you are no longer simply following what the site tells you to.
It’s often easy to follow along some content and think “Ah yes this all makes perfect sense”, and then when you try to make something yourself you soon find yourself at a loss.
Some ideas
Here’s a list of other resources that I found really useful:
- Roadmaps: Checklist for things to know for frontend and backend development
- Codewars: Fun coding challenges/problems
- devChallenges: Once you have basic knowledge, try your hand at recreating some of these sites - great practice
- DevDocs
- JavaScript.Info: Probably my favourite site for JS docs, also includes exercies!
- Learn CSS
- Free Code Camp
- CSS Grid and CSS Flexbox guides: I still regularly visit these, extremely important to know.
- PHP The Right Way - Best resource for learning PHP
- NodeJS cheatsheet
- React cheatsheets
- HTML5 cheatsheet
- Git cheatsheet
- Project Euler: Leetcode site
Bonus content
Some of my favourite content creators
- NetNinja: British web guy, high quality tutorials
- Brad Traversy: great tutor and all around inspirational guy
- Code Creative: UK based self taught guy, good info on hiring process
And finally… The Cursed Computer Iceberg