Hacker News new | ask | show | jobs
by majesticglue 1077 days ago
I disagree. It's like telling someone who is somewhat interested in building cars to learn how an engine works before having them on the ground playing with the actual car parts. The issue becomes not whether they'll learn, it's about whether they WANT to continue to learn. Most people when they want to start coding, would rather want to build cool things. And then later on, they'll naturally be more interested in the fundamentals.

I argue that this is why schools are terrible for teaching. They try and teach fundamentals without making kids interested in the topic first. As someone who taught many kids, the struggle is always making them interested, not the rate at which they learn.

I remember when I started programming, the worst advice i got was on stack overflow, that I should learn from this thick c++ textbook as a start... Wasted couple months on that book, where the concepts went through one ear and out the other, became extremely disinterested. Only until someone told me to just learn Javascript and build things was when I progressed and learned rapidly. Took me only a year after that to get a job with me becoming interested very quickly on learning fundamentals from there. If I kept learning from a book, it would've taken me several years before I got to even building. It's silly to assume someone who learns from the top down can't learn the fundamentals at some point.

Now I've learned game development and currently learning ai on the side. I've tried bottoms up learning many times, but it is incredibly slow to get my goals. Top down and learning fundamentals after you get your hands dirty has been the absolute fastest way for me to learn new topics. With bottoms up, while you may learn many of the basics, you also happen to learn a bunch of extraneous information that you may never use, and will forget because you don't use it.

1 comments

There's space between "read this giant c++ tome" and "you're good to go with a couple of months of React", quite a lot even.

From my experience with bootcamp people, it leaves them woefully underprepared. But my sample size is small: 3 people, 3 separate bootcamps, similar results. They knew one portion of react, no fundamentals.

And sadly a couple of them really took to using Copilot. So they don't know how to do what they're doing and couldn't explain their submitted code.

Just the worst of all worlds there. They were effectively incredibly expensive Copilot subscriptions (not to belittle them, they did that themselves)

definitely.

I just think for some, bottoms up learning has quite some disadvantages and was an approach that I've used for a long time with okay results. It would get me to where I wanted to be...but it takes way too long sometimes.

Of course there are people like you mentioned though who only do top down learning but just never go into learning the fundamentals ever, which is another problem in its own right.

I've gradually taken towards "always learn as if it's a sport" as the approach to learning. Which, if you look at the sports science recommendations is:

* Isolate highly specific techniques into drills.

* Then go directly to practicing live gameplay. Ignore intermediate exercises.

And the approach with programming can, in fact, do this, if presented properly: definitely, we know how to isolate things into short follow-along examples. What tends to be missing is the "live gameplay" element, because it's hard to set up sample projects that are complex enough to reveal the need for a particular technique.