200 Words A Day archive for 2 full years. 731 days of unbroken consecutive days of writing. 7 Dec 2018 - 8 Dec 2020. I now write daily on https://golifelog.com

Re: Re: Lessons learned - programming not yet achieved

Really enjoyed @brianball’s Lego analogy of learning programming, 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 recently. 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, in terms of HTML, CSS, Javascript, jQuery, Bootstrap, PHP and MySQL. Made some interesting little websites and apps, like this weather scraper. I enjoy learning by doing, and this course so far had just the right 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. I ultimately want to learn how to 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 learn 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.