DEV Community

Discussion on: Stop letting people tell you how to learn

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Your learning experience is not unique, and I'd say there's a danger in dismissing "how to learn" advice from seasoned developers. Having trained interns for over half a decade, I know from experience that, without exception, people learn programming best by doing. Theory without application falls short. Conversely, application without theory goes much farther, but you'll hit a wall sooner or later.

In short, you always need all of the following, ideally (but not necessarily) in this order, if not learned concurrently.

  1. Basic principles: syntax, logic, computer science,
  2. Real world application (doing),
  3. Advanced theory.

The line between "basic principles" and "advanced theory" is quite subjective: in short, the former is "it works", and the latter is "it works well." Premature optimization is the root of all evil, and all that.

As to what language and tools to learn first, that's answered only by your project needs and personal interests. But we learn everything in the same basic manner: do it.

Collapse
 
joe profile image
Joe Fazzino

I'm under no impression that my experience is unique and of course it's unwise to dismiss advice from experts.

I also completely agree with your 3 points which very succinctly describe my journey into Software Development.

The biggest thing that I was hoping people would get from this, which perhaps I should've tried to emphasise more in the post is that when I first tried learning new technologies, I did it the way I had my entire life the way the British education system taught me: read a book, read it again, do the thing. This didn't work when applying it to development and it led me to believe that developing just wasn't something for me but the problem was wholly the approach I went about it.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Sure, but that's more because the Western educational system is utterly broken. ;) That's a rather typical disillusionment once you get beyond secondary school, whether it be in the UK, US, or elsewhere; the system of study that was supposed to be so good fails to equip us to learn anything practical, and we have to start over. It's a good thing to be aware of, as you pointed out: "read, read again, do" doesn't work in coding; I'd just add that it doesn't work anywhere. "Do" must be relatively concurrent with "read/listen/watch" for it to stick.

Incidentally, effective primary school (and secondary school) math education doesn't even follow that broken formula: instead, you do the math problems both during class and after. Of course, note that I said "effective"...I've tutored many college students who experienced the "read, read again, do" formula for math, and as a result, required complete fundamental reeducation once they reached community college.