Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've studied digital media design for learning, and I have to admit and I think that the thing that most people overlook is constructing proper scaffolding so they can bootstrap themselves as they learn.

The fact is that there is such a wealth of resources out there that beginners often-times quickly get derailed. The most important thing to start is actually to try to find a way to dull out the noise and actually learn solid principles. Someone trying to get into web development today can quickly spend a week trying to set up Babel and PostCSS and get tremendously discouraged before they realize they are actually going about it the wrong way.

My suggestion to people who are new to coding is to actually go into a domain where that ISNT going to happen. If you have the motivation/time, don't try to learn to program by learning web dev. Instead, pick something like "Think Python" or some other resource that you can use as the CANONICAL resource for truth, and that will give you a linear path to progress to. Your advice about doing it yourself and pushing and the 80/20 rule is all gold, but I think it will be met with limited success if a person doesn't have a clearly established guiding path like that from the getgo.

And once that friend gets comfortable enough with programming principles and wants to then explore specific application domains, I would again make the same recommendation as before. Find that ONE canonical resource that can move you to the next step, and proceed with it as your bible until you have enough under your belt that you can then go out and explore concepts -- which you now can hang onto the solid foundation you built. For web, for instance, Steve Huffman's course at Udacity is pretty excellent at giving you the barebones of how a web application works. Do that. Forget styling, forget responsiveness, forget everything... but use that as your one-stop-shop to understand how a website works. Ok, now do your own. Ok, now explore that a little. Confident enough? Great, find another canonical source for SPAs. ng-book is great if you want to do angular (and I'm sure their react book is just as solid). Done all the examples in the book and feel confident? Ok great, now go read blogs about these things. Lather, rinse, repeat.



That's actually really good advice. Agree completely that finding a good canonical source that takes away all possible ways to get derailed is awesome.

The only thing I'd say is that I do think web dev is still the best thing to learn first when getting intro programming for two reasons: There's something about having what you've made out on the internet for anyone to see, that has a URL attached to it that is much more rewarding that writing something that lives purely in your own computer. The second reason I think webdev is very good is because there's a huge job market out there for it for which the barrier to entry is fairly low. I think it'd be very hard to get a job as a backend engineer with 0 experience being self taught, vs starting out in front-end web-dev (not that one is harder than the other!).


I agree with much of what you said. I self-taugh that way (Codecademy). I teach my nieces this way. However, If I had it to do again I would have started with iOS - my current profession - or Android, simply because the IDE is more defined. Web technology is all over the place. Unless you wrote vanilla JS, you could spend more time fretting over if AngularJS is the way to go if XYZ is better... Sure it was difficult to go from JS to C/Objective-C but if I had considered that from the start I wouldn't have lost the first three months confused about differences between Ruby/Python and JS.


I've started the same path & after being confused about webdev flavor-of-the-month technology to learn for a few months, I'm trying to settle on learning iOS/Swift, fundamentals, data structures & algorithms. At least with with iOS(or Android), there is a goal of making an App & submitting it to a store.

I still have doubts & keep distracting myself by going back to look at webdev/JS tutorials/books/videos because it seems like there is more webdev jobs available & I'm not sure how to go from webdev tutorials/self learning to an actual job. I already know HTML/CSS & have made static sites for small businesses in the past.


Solid advice!

I think learning is more about structuring knowledge than merely memorizing the facts. The more you understand how and why something works, the easier it becomes to structure that knowledge. Then learning as a whole just becomes a simple composition of understanding the parts.

Music theory is very well organized in that respect. There are very few core concepts to learn (notes, intervals, scales) and everything else is built by composing them. Our theory can be seen as the same (values, functions, objects) and Lisp somewhat embodies it. Music just has the advantage of time to organize that knowledge.

I feel this is also why learning new abstract concepts over time is harder, because you need to shake a large subset of that knowledge tree you've built over time to fully understand their implications.


Can't agree enough with this advice. I did cs50x followed by hartls rails tutorial and now I'm working professionally and find it trivial to pick up new tech (using the single canonical redource to get started of course).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: