A Starter Pack for Aspiring Coders
Some building blocks I used to achieve basic competency in developing web applications.
So you want to learn to code. Great! Let’s get you started.
Think of something you want to build. It doesn’t need to be anything grand, but it should feel fun, exciting and maybe even useful.
Setting up a design portfolio, making a game, writing a script to automate weekly forklift sales reports. If you thought of something, brilliant! Hold that thought. If not, read on, we’ll revisit.
To be clear, learning to code is a lot of work. Then again, with some effort, you can make a stone do what it’s told. You’ll have an army of robots packed inside data centers for your convenience, awaiting your orders.
Where was I? Right, web development.
The tl;dr version of steps to take, in order, is here:
- HTML / CSS
- JavaScript
- A JavaScript framework
Still here? Excellent!
Developing web apps isn’t the only way to a coding career, but it’s probably the fastest. You can build almost anything with JavaScript, and you get to build things pretty soon after starting.
I’ve curated a list of learning resources I found the most impactful in 2020, the year I got serious about learning to code. These are the big ones that really ignited the spark and kept me going, the ones that drove a successful career pivot.
They are still extremely relevant entering 2022, and probably for a long time to come. Most of these assets are free, the rest are affordable. All are worth it, recommended with five stars and a full heart.
Learn website layouts
- Study HTML/CSS at Freecodecamp.
- Focus on Flexbox and Grid
- Get familiar with MDN early on. Seriously, it is an absolute treasure.
Establish fundamentals
- Simon Allardice has a handful of astoundingly well summarized walkthroughs over at Pluralsight. This one is my pick.
- Harvard’s CS50. I can’t speak highly enough of this course, just a phenomenal introduction to all things computer science. It’s mostly not in JavaScript, but it’s extremely applicable.
- University of Helsinki’s Python programming course is an excellent follow-up to further solidify the foundation. Less computer science, more coding.
- Learning How to Learn on Coursera. You’re going to be doing a lot of learning for a long time, this is worth taking early.
Get to the JavaScript part already!
- Pick up Eloquent JavaScript and JavaScript: The Definitive Guide. Do get the newest editions if you can, the language has changed in recent years and the modern stuff is where it’s at.
- Enroll on The Modern JavaScript Bootcamp Course. Make sure you get the big Udemy discount, they’re almost always on. Anything by Stephen Grider tends to be great and he has a formidable one-two punch here with Colt Steele.
- Once you’ve gotten the hang of some basics, start practicing some quiz-like problems at Code Wars and Hacker Rank to reinforce the habit of writing code.
Note: Before moving onto the next steps, see if everything here makes sense. Take some time to strengthen your command of JavaScript and the DOM. Learn web forms.
Dip into React, or Vue
- You’ll most likely want to learn at least one major framework for building user interfaces. A short, free video course about the very basics of React is hosted at Egghead, by Kent C. Dodds. Highly recommended, probably worth watching in its entirety at least twice.
- Dave Ceddia’s Pure React book limits focus on just the core functionalities of React, which I found very helpful when starting out.
- Vue is another popular JS framework that you may wish to consider. By all means explore the syntax of both frameworks and your relevant job market, but don’t overthink it. Just pick one and get started.
Build something
- That thing you wanted to build? The one I asked about at the start? Now’s a good time to do something about it, if you haven’t already.
- Don’t know what to build? Try Wes Bos’s JavaScript 30, an absolute goldmine of little projects you can complete in a day. The JavaScript refresher will come in handy too, it’s 100% worthwhile to keep improving those Vanilla JS skills while learning React! He’s another great teacher.
Test the waters
- Send a few job applications once you’ve made it to this point, maybe even sooner. Alternatively, find a client who needs a website and is willing to pay for it. I asked and received very valuable feedback after my first rejections, and also got a major confidence boost from seeing I wasn’t far off.
- Look into contributing to open source. Perhaps a library you’ve found useful, maybe fixing out-of-date documentation or writing a few tests. You’ll learn about pull requests — here’s my first one! This also trains you to read code written by others, which is a crucial skill. First Timers Only is a good place to start.
Alternatives exist to everything listed here, feel free to explore them. It’s a good idea to do so, sometimes things click when you get bombarded by the same idea from different angles.
For example, you might find that p5.js best captures your way of thinking, or perhaps The Odin Project has already laid out the perfect learning path for you.
Whatever you find to be true, don’t get stuck micro-optimizing your study plan. What matters is getting started and sticking with it; writing code, day after day. Make it a habit.
Once you’ve gained momentum, keep on creating things. Explore stuff you’re interested in. Maybe it involves wrangling sports data with Python to visualize in D3, perhaps writing compilers and containers in Go is your thing.
Then do whatever you want. You can speak to golems.
Update log May 5, 2022: Some wording tweaks, link updates.