29 September 2015
Okay, hands up if you got into coding because of an inspiration. Did you start this journey because you had an idea for an app that you wanted to build? Now that you’re three, four, five months down the rabbit hole, how is that inspiration holding up? Not so well? I see.
Have you spent the last three weeks repeatedly banging your head against the wall because there was some problem that you just COULD NOT solve? And then when you tried working on a different part of your app, within a day or two you ran into another brick wall? Is your code starting to resemble a maze and you can’t seem to find the exit anymore?
Trust me, I’ve been there. It sucks. It makes you doubt yourself, doubt your intelligence, and it just wants to make you give up, doesn’t it? But then, when you’ve had some time to recharge, like, say, after a vacation or a fun weekend out with your friends, it’s right there again: that inspiration, that vision that you had, that made you get into this whole thing in the first place. But now it almost feels like it’s taunting you. Like a fata morgana that you just can’t reach, no matter how hard to you try.
Unfortunately, that happens to a LOT of people. It happened to me as well. Fortunately, there’s a solution, but it requires that you’re willing to face an uncomfortable truth. Are you ready to hear it?
You. Just. Don’t. Practice. Enough.
Well, I don’t blame you, since that’s what all those bootcamp advertisements basically promised you. But if you think about it, it becomes obvious pretty quick: it’s a bit like walking into a NBA pro tournament after playing hoops all day with your buddies at summer camp, and expecting to beat Kobe Bryant at a penalty shootout. It’s just not very likely to happen.
Now, what’s the difference between you and Kobe Bryant? That’s right: HE’S HAD MORE PRACTICE. Plain and simple. That’s the bad news and the good news. Bad, because it means that the rolling in dough part might just have to wait for a while longer. Good, because it means you can DO something about it.
How do you practice? Well, first of all, you do it every day. Do you think Kobe takes a day off from practicing free throws, just because he’s already done it like a million times? I bet you he doesn’t. The key is making your practice a daily habit. It should be as automatic as making coffee when you get up, or brushing your teeth before bed.
Second, what makes practice different from a tournament? The stakes are much lower. Instead of having thousands of spectators watch your every move (and millions on TV), you practice in an empty gym, at 6 in the morning, when nobody’s around. Let’s translate that into coding terms. Your app, the thing that got you into this whole thing in the first place, that’s the tournament. This is prime time. It’s where all your knowledge, skills and preparation come together to make something amazing happen.
So, where’s the empty gym at 6 in the morning? Right here:
All of these sites let you practice your coding skills by solving short, focused problems by writing throwaway code (i.e., code that you don’t really have to maintain later). Two of these, CodeWars and Exercism, let you see other people’s solutions (AFTER solving a problem yourself), and discuss your code with other members. The third, CodeCombat, is actually aimed at middle school kids, but it’s fun for grownups nevertheless. Plus, it starts getting more challening a few worlds into the game. At the very least, it’s a fun way to practice the basics if a particularly difficult problem on one of the other sites kicked your ass.
If you’re serious about learning coding, these sites should be at the top of your bookmark list. They should be the first thing that pops up when you just type their first letter into your browser’s address bar. If you want to get better at coding, make a commitment to attempt to solve at LEAST one problem on any of those sites each day. Even if you don’t feel like it. Even if it seems too hard. Try and spent at LEAST 20 minutes coming up with solutions, even if none of them work. Do you think Kobe started out by hitting every single throw?
Yeah, neither did I.