How to build things
Read in 27 minutes
It's late January.
The Buck's Fizz has run out, you've swept up the confetti, and you kissed your gran goodbye until next Christmas.
It's time to get back to work.
But the reality is that job sending a bazillion cold-emails a day just isn't hitting the same way it used to. Or you work with developers, and you are tired of being told we can't do that and you want to understand why we can't.
Still need convincing? Here's a job listing I got today for $800,000. Sure, you won't get that one (at first). But there are very few industries where this is a legitimate career goal.
So, in the spirit of the new year, I've decided to put together the definitive* course tutorial list for 2022.
You're welcome, you little scamps.
Note: I'm a big believer of learning by doing. The goal of these courses should be to have your website live on the internet.
Why live? Because it'll be an ugly, ugly baby. It will embarrass you, and that will incentivise you to learn more and be better.
Learn the basics
First things first, you need to learn HTML and CSS.
These are the base lego building blocks of the internet. It doesn't matter what framework you use, eventually its going to spit out some HTML and CSS.
So it's helpful if you can read it.
- + HTML is the function of websites. Every button you see, every piece of text that's rendered to the screen and absorbed by your eyeballs is HTML.
- + CSS is the form of websites. Its the styling. Every colour, every rounded square, every beautiful font has been written with CSS.
I recommend this course.
Now you might be thinking, that's cool - I could make a static version of Twitter. But, how do I make it move? How do I make the content dynamic?
That's where programming come into it.
Also, this is a great cheat sheet.
And surprisingly it clicked.
I guess what I'm saying is - coding is hard - so trying out a few different languages might help you see the fundamental patterns that govern all languages.
Never be afraid to step sideways.
✨ React ✨
A lot of the benefits of React are not going to be obvious to you yet. It's going to feel like you're having to write slightly different HTML for no reason.
This is true and false.
Right now, its true that is all your going to be doing. But when you start to advance into databases and APIs, you'll have a solid foundation upon which to apply those techniques.
You'll have to trust me on this one.
This the course (you only need the basic version).
But what you might struggle with, is how do I make a website with lots of different pages? Or how do I even get that website on the internet so other people can see it?
That is this step.
I'm going to recommend four pieces of technology.
- + Git: A way to track the changes you make to your code.
- + Github: A place to store your code.
- + Next.js: A framework for building React web apps.
- + Vercel: A way to deploy your code.
Along with two courses that will give you a rough understanding of all four jigsaw pieces:
Right now, especially after that last section. You should have something live on the internet (hurray! 🎊) but you might feel like you don't understand anything.
That's okay! Imposter syndrome is a real thing! You've done a crash course through what must feel like a bazillion different things. But lets not forget, you do have something. That's more than a lot of people can say.
My advice would be to take a breather, and then try and build another website from scratch. Pick your favourite web developer and try and re-create their portfolio.
By your third or fourth project, you'll have a pretty decent grasp on what its like to be a frontend developer.
The glaring admissions
Wait what, a frontend developer? I thought you were going to teach me the whole enchilada.
Here's the thing. Coding is a lot. Trying to explain authentication, authorization, APIs, data-fetching and databases all at once?
It's a recipe for burnout.
Plus, once you can build something you can see, it becomes obvious where things like the database slot in to what you already know.
Thanks for reading! If you ever need any guidance, you can reach out to me on Twitter. Come say hi!
* It's not definitive, the cake is a lie.
** Some of these are paid courses, and I want to make it clear I'm not being paid to promote them. I just think they are great.