We’re going to focus on the ??? part. By the time you’ve reached step two in the process, you’re probably feeling pretty damn good about yourself. You’ve glimpsed some of the potential of The New Thing, you’ve implemented a few basic concepts, and perhaps you’ve even solved a few problems. You’re probably excited to start building stuff with The New Thing. Let’s do it!
In my experience, if you panic, you will dither, and you will never get anything done. This part is scary — there’s a whole world of options to explore and decisions to be made. You might feel a bit like you do when you’re at the supermarket — dazed by all the bright lights and trying to select a pack of toilet paper from a wall full of options.
Let’s mitigate that panic somewhat.
First things first:
Seriously. If you try to make some things with code and it doesn’t work, no one is going to sit you down and tell you you’re failure, or a terrible person, or that you’ll never be worthy. I can almost guarantee you that people are going to be extremely impressed that you are trying and learning new things, being creative, and tackling problems. If yourself tries to tell yourself that you suck, please try to stop yourself.
Figuring out what to build can be pretty intimidating, right? You want to make something useful, or cool, or innovative, or creative. If you don’t have a specific idea, though, don’t try to force an idea to materialise, and don’t let that discourage you from forging onwards. My suggestion is to have a standard app that you build when you’re learning something new. For me, it’s a messaging app. I try to make an app that has users, who send messages to each other. Maybe the messages have different states (‘sent’, ‘read’).
My second piece of advice is to have an app that you continually add to as you progress in your learning. It’s a lot less intimidating than starting a fresh project each time, and it will give you experience in maintaining and improving projects, which is a huge part of life as a professional developer. Your learning progress might look something like this:
Iterating continually over an existing project can be really satisfying — you improve your project, you improve your skills, and each time you’re able to focus directly on The New Thing you’re learning.
In part two and part three, we’ll be looking at other types of projects you can build while you’re learning, taking detours, and what to do when you get stuck.