Why I dropped online courses and learned by doing instead
There's an analogy about learning programming that I really like. Learning coding is like Lego, about starting small, block by block, to learn how things work before trying to bundle things together. In many ways, that’s how I started out on my coding journey. But I’m realising that maybe that has to be turned upside down now.
I did an online course on Udemy, learned the fundamentals of front-end and back-end development - HTML, CSS, Javascript, jQuery, Bootstrap, PHP and MySQL. Made some interesting little websites and apps, like a weather scraper. I enjoy learning by doing, and this course so far had a nice balance of 80:20 practice and theory for me.
But as the saying goes, there’s many ways to skin a cat, so there’s many ways to learn programming. Or anything for that matter. Particularly for programming, I feel like I’m starting to hit a wall. After all, I’m still following a predetermined course structure, set by someone else who have no idea what my level of proficiency is (or lack of), what my larger goals are, what my learning style is like, and how best to help me address those things.
Ultimately, my goal is make products, but I feel like I’m constantly having to second-guess how the course is going to help me with that goal (even if they are fundamentals).
So at this stage, I’m going to turn the “start small” approach on its head and go big instead. I’ll just try to build the product I want, with what little I know, and pick up the programming knowledge I need from there. In that way, it feels like I only need to learn what I need to build my product, nothing more, nothing less. Very efficient. No second-guessing whether something will come in useful later, like while on the course.
So what’s the best way to learn programming? Start small? Or go big or go home? Or is there a third/fourth/nth way? I think there’s no silver bullet answer that applies for all situations, backgrounds and people. At least based on my own narrow silver of experience.
Best to try out various approaches, and adapt the best one(s) to suit your own context. And be open to changing that approach you initially picked when your situation changes.
Follow my daily writings on Lifelog, where I write about learning to code, goals, productivity, indie hacking and tech for good.
Top comments (5)
I can certainly agree with the idea that you should only learn what you need - in order of importance.
I wonder if it's the "online" part that the problem - or the
or the
It can feel very frantic. I've certainly wasted many nights and months trying to cram information. If the goal is "learning" - they you aren't going to be doing everything right - and I think that people want to leran to do everything the "Right" way - but that's not actually learning. The learning happens by doing the things wrong a lot, first.
What's your plan? What are the things in order of importance? Specifically to make products?
You can do that with no code too, right? Or a basic prototype - and then hire a team to build it once you get funding? You certainly don't need to become a programmer to design/build products.
Yeah well said. I think beginners don't know what they don't know, so they follow along thinking they **should* learn to do it the 'right' way. I guess I needed to go through a few courses to come to that realisation that they weren't serving me and my goals.
Yep my plan was to make indie products. I don't really care if it's coded or nocode, or which tech stack I use, as long as it gets made. I often use nocode to launch MVPs. But I'm not closed to using code - I eventually learned how to code and built Lifelog. Still feel like a beginner though!
maybe you don't know about SimpliLearn's Screw online coding courses, you can try to refer to it, if necessary you can register for a lower price if you use SimpliLearn's discount code
Very thoughtful, thank you.
Thank you too!