When learning how to code, I kept hearing the same advice.
“Tutorials are great, but building projects is the best way to learn. Just go build stuff!”
But… how?
As a beginner, this is like hearing, “Just go skydive!”
When starting out, the idea of building an app from scratch is daunting. I felt overwhelmed when I tried, and I gave up. So I continued taking only coding tutorials — and my learning soon plateaued.
I was stuck.
I began to figure out how I could get to building projects, but not ones that seemed so complex that I’d lose all motivation to keep going. Eventually, I found ways to ease off my tutorial training wheels and start building my own apps. And later, when I got my first job working as a developer, people asked for my advice on learning how to code. Here it is.
Building projects is the best way to learn — but you don’t have to dive straight into creating a project that feels impossible to start, let alone finish.
There are fun, tangible ways you can shift from just taking tutorials to confidently building your own projects.
Here’s 3 ways that worked for me.
My sister, a senior developer at Eventbrite, suggested a simple but powerful exercise.
After doing this for awhile, the idea of building my own app didn’t seem as intimidating. I started a new project and broke it down into several ‘features’, all the little steps I needed to take to complete it. I started by building just one small thing, as I had done before.
Andrew Mead’s JavaScript courses on Udemy have sections called ‘Build it’ challenges, where he walks you through building an app, then challenges you to add a feature to the app you’ve just built. He then shows you how he would go about building that feature. You build almost as often as you watch the tutorial. Regardless of whether you take his courses, do this for every tutorial you take.
Add new features to your tutorial apps. See how much faster you learn when you’re always building.
Starting a new project made me feel like I was at the bottom of a mountain, wondering how I could even start. But adding new features to tutorial apps felt like taking challenging, but doable, steps uphill. And eventually, when at the bottom of another mountain, I knew how to get going.
Tip: Don’t worry about if the new features are messing up the layout or structure of your app. When I stressed about this, my sister would point out, “You’re worrying about step 20 when you haven’t completed step 2.” Once you’ve built so much that you’re drowning in all your cool projects, then you can worry about things like that. For now — get to building!
Seeing yourself progress helps you stay motivated when learning something new. I needed to challenge myself and do stuff that was hard for me. But I also knew I needed to see myself set and hit the goal of starting and finishing a project, however small. I couldn’t stay in tutorial land forever, as great as it is.
Will Sentance, the CEO of Codesmith and a teacher at Frontend masters, was asked, “How do you build something feasible — that doesn’t take forever?” His answer?
Build Google Chrome extensions.
Have fun.
“Tutorials are great, but building projects is the best way to learn. Just go build stuff!”
But… how?
As a beginner, this is like hearing, “Just go skydive!”
When starting out, the idea of building an app from scratch is daunting. I felt overwhelmed when I tried, and I gave up. So I continued taking only coding tutorials — and my learning soon plateaued.
I was stuck.
I began to figure out how I could get to building projects, but not ones that seemed so complex that I’d lose all motivation to keep going. Eventually, I found ways to ease off my tutorial training wheels and start building my own apps. And later, when I got my first job working as a developer, people asked for my advice on learning how to code. Here it is.
Building projects is the best way to learn — but you don’t have to dive straight into creating a project that feels impossible to start, let alone finish.
There are fun, tangible ways you can shift from just taking tutorials to confidently building your own projects.
Here’s 3 ways that worked for me.
1. Add new features to your tutorial apps
Tutorials were (and are) a big part of how I learn to code, and they allow me to learn from some of the best programmers. Yet, at the end of project-based tutorials, I would often realize that although I had a finished app, I hadn’t built it so much as I had simply watched the instructor and copied their code.My sister, a senior developer at Eventbrite, suggested a simple but powerful exercise.
I took a React tutorial where you code up an app, then I added a button to the app. Next, I decided to add a search bar to the app and figured out how to build that. Then I came up with another feature and built that. This works well because I was starting with what I already knew (how the app worked so far), and slowly building on top of that knowledge. Doing so felt difficult, but achievable. The more I built stuff, the more my confidence grew.“Take the application you’ve built in your tutorial, and come up with one small feature you can add to that app. Then build it — on your own.”
After doing this for awhile, the idea of building my own app didn’t seem as intimidating. I started a new project and broke it down into several ‘features’, all the little steps I needed to take to complete it. I started by building just one small thing, as I had done before.
Andrew Mead’s JavaScript courses on Udemy have sections called ‘Build it’ challenges, where he walks you through building an app, then challenges you to add a feature to the app you’ve just built. He then shows you how he would go about building that feature. You build almost as often as you watch the tutorial. Regardless of whether you take his courses, do this for every tutorial you take.
Add new features to your tutorial apps. See how much faster you learn when you’re always building.
Starting a new project made me feel like I was at the bottom of a mountain, wondering how I could even start. But adding new features to tutorial apps felt like taking challenging, but doable, steps uphill. And eventually, when at the bottom of another mountain, I knew how to get going.
Tip: Don’t worry about if the new features are messing up the layout or structure of your app. When I stressed about this, my sister would point out, “You’re worrying about step 20 when you haven’t completed step 2.” Once you’ve built so much that you’re drowning in all your cool projects, then you can worry about things like that. For now — get to building!
2. Build Google Chrome extensions
As a beginner, I was itching to build and finish something. Yet, when I did try to build new projects, I felt discouraged realizing I could work on an app for weeks and weeks and still be nowhere close to completing it.Seeing yourself progress helps you stay motivated when learning something new. I needed to challenge myself and do stuff that was hard for me. But I also knew I needed to see myself set and hit the goal of starting and finishing a project, however small. I couldn’t stay in tutorial land forever, as great as it is.
Will Sentance, the CEO of Codesmith and a teacher at Frontend masters, was asked, “How do you build something feasible — that doesn’t take forever?” His answer?
Build Google Chrome extensions.
Have fun.