Learning To Code pt. 2 | Why people fail to learn to code
In the Last Article, we focused on demystifying the excuses we have for not learning how to code. In this article, we will focus on ‘crossing the chasms’ aka ‘the valley of death’ aka the REAL reason why people who wishes to learn how to code will hop on Codeacademy for a month, finish a course — only to give up altogether. Surely learning to code is pretty tough, there is a giant learning curve for beginners. The real reason most people quit though is totally avoidable
So what’s the real problem here?
Reason 1: “I was learning X, but I’ve been told by Y to learn Z programming language because it’s da Bestest thing.”
I like to compare Programming languages to Sports teams, because every developer has their own (highly biased) favorite language. the conversation of ‘this X language is better than Y’ is purely subjective. Languages are Tools, sure they are more suited to certain tasks than other, but ‘You should learn this’ argument is uncalled for.
Unless you have decided on what exactly you want to be developing. Do you wanna make Websites? Web Apps? Startup MVPs? Machine Learning? IoT? Hardware? VR and AR? AI? Mobile Apps? Blockchain Technology? Whatever answer you pick will help you narrow down to 5–10% of your options.
Beginners suffers from Paralysis by analysis, stop letting them sway you mid-way, pick a damn language and stick with it.
Reason 2: “I Finished the entire course on Codeacademy!…What happens now”
This problem is 2 fold, as much as I respect Codeacademy as a gateway drug to being technical, it doesn’t do too good of a job taking beginners across the chasms. Sure they managed to finish a course. They know the basic syntaxes and brief understanding of how these things work. BUT THESE PEOPLE JUST DON’T KNOW WHAT TO DO NEXT. Codeacademy is well suited to bringing beginners onboard the Coding hype train, except at the end of the line they got thrown off the car — stranded in the middle of a desert without water.
The next problem is that Codeacademy’s is well known for it’s on-site IDE (Integrated Development Environment), but it never describe how these beginners are supposed to code in real life. A great example would be Ruby. I finished learning Ruby on the site, only to realize that to code Ruby on Windows there are many many other things I need to configure on my Windows machine before I can start coding! I also have to find a good code editor (“Is Notepad suffice?”), and use command line (“What even is that?”). The real Ruby development ended up looking much different from the place I’ve learned from.
Okay so these are the problems. So how does one cross the chasms and not give up learning Code after 2–3 months?
1.By keeping engagement level really high
In my personal view, the reason I’ve stuck to coding thus far working on something that I find to be genuinely exciting! After learning all the basic syntaxes, I would get to making something COOL as fast as possible (cool is in all caps, because it’s very important).
Cool stuff is engaging, boring text book example is not really engaging. Funny app that makes fun of your friends face is engaging, a todo app is not really engaging. Building a complex mobile app that takes Twitter API is engaging, a Hello World app is not really engaging.
The real answer is find a channel that keep you engagement really high. 1 year after learning how to code I still spend my evening thinking about how to implement a complex feature on my Ruby on Rails app. Because it’s a tough challenge, I want to beat it. That’s how I’m still learning how to code
2.By building something that solves your own problem
If it’s a real problem, you can’t stop thinking about it. It pisses you off that you can’t solve for this one thing. There are solutions out there but you also have a problem with them: It’s just not built the way you wanted it.
Starting from a pain point will give you enough drive to carry you along the learning process. All I’m saying is that if it is enough to help people start a business, it is enough to help you learn how to code.
When I started learning CSS, I made Worktimely, because there were no work timer that was built just the way I want them (they are not Kawaii enough). Or when I built Launchtoolkit because people keep asking me for startups resources, I keep having to tell them the exact same tools, so I pointed them to this one website instead. Sure the code isn’t very good then, but they both solved my problem, and they both helped me learn to code.
3. But You do you boo boo
Look, let’s be honest,
Some people like Textbook examples, that’s the reason they exist.
Some people love buying for online courses, that’s also a reason they exist.
Some people love learning from school, although I find that hard to believe, but that’s probably why school still exists.
You do your thang.
Just remember, whatever you do,
1) Do tough challenges
2) Build cool stuff
3) Solve your own problems
4) Pick your own poison, find out the best way you learn
K thanks bye