Hacker News new | ask | show | jobs
by greysonp 3032 days ago
I think you need a mix. When I was in high school, I taught myself how to program through making games. Progress was slow, and I wrote bad code, but I had fun, and it's the reason I'm a programmer today.

Then I went to college and learned the fundamentals. I started doing projects in my spare time (often by attending hackathons), and now those projects were getting a lot better. The academics were crucial. However, I had friends that never did projects outside of class, and as a result it hurt their learning.

Then, fast-forward to my first job, and I learned just as much in my first year there as I did during my entire time in college.

So IMO, project-based learning without fundamentals (which is what I was doing in high school) ends up being really slow can produce poor results. But just learning fundamentals can be equally as bad. You need both!