What is the toughest part of learning to code?
Back in 2002, I was a music major with no desire to become a computer programmer. I quit three times. I was still totally determined to make a website for my band — so that we could take over MTV and then the world!
In the beginning, I cycled through a few thousand hours of reading and writing code, using languages that I now know don’t even make sense for making a website (like Java & Perl, I had problems). Until the day I finally started to build the damn thing. That was when it all clicked.
These days, I teach HTML and CSS, and I can see it in my students’ eyes — the fear. I have a lot of empathy for you. Really. I’ve been there.
Here are 6 reasons why you’re not motivated:
1. You’re not making a real project.
One of the biggest problems that HTML/Rails/Python students run into is that they spent too much time thinking about code. Yeah, yeah… you’re great at taking quizzes, but you’re terrified when it comes to actually building something real.
Go and make something! Don’t know what to make? I’m sure you have friends who need a website. What about your dad? Or a local non-profit? Figure it out.
Hell, you could just make a one-page art project of awesomeness. For example, a student of mine made this “YOGA & SMILES” website and I couldn’t be any prouder.
Seriously — it’s my all-time favorite. I challenge you to beat it.
2. You don’t understand problem-solving.
Pay attention to how you solve problems, and not just how to use the tools. Otherwise you’ll keep solving the same problems over and over again. It’s less interesting to “learn to code” just for the sake of leveling up your skill set. Learning how to solve actual, real-world problems is the skill. There’s a difference.
3. Process makes perfect (and you don’t have a process).
Once you solve a common problem (for example, “How do I set up Github?”) outline the steps you used and duplicate the process next time. Otherwise, each time you begin, you’ll be starting from scratch. Ew! No. Define a distinct process, and improve upon your process each time.
4. You think that you need to know everything.
“I have no idea” is a recurring daily panic — but I’ve learned to breathe deep and ease into the fear.
I’m telling you right now: you don’t have to know everything. There— I said it. I teach HTML and Rails, and even now (as a teacher), people ask me things about those two languages that I don’t have the answer to. Just free yourself, and say it out loud, “I have no idea.” Use Google to figure out the answer. Stay curious, keep learning.
5. You think using Google is cheating.
Well… you’re wrong. IMHO, 75% of developing code is Googling,
…and it’s ok to admit that. Don’t be afraid to Google the problem 17 different ways until you find the answer you’re looking for.
6. You don’t surround yourself with other brilliant coders.
Learn from people who are smarter than you. Don’t be afraid to ask for help. Go to Meetups and Hackathons, take classes, get an internship, go out into the world, and live. Go and live!
Enough talk. Put a deadline on the calendar, and go make something.
If you’re serious about coding, though, we make it easy for people with classes like Programming for Non-Programmers, for beginners who want water-wings and a little nudge before they jump off the deep end. We got you covered.