Ask HN: How do people learn technologies fast?

2 points by test001only ↗ HN
I keep on reading blogs and tweets about how somebody just sat through few days, learned a new technology and hacked together a new project in a weekend. It is simply unfathomable for me. I recently was studying WPF and it took me a whole of 3 months to get a good understanding of some basics and almost two projects to appreciate it (over all 2 years!).

I am currently trying to learn Angular and getting into understanding a project in Javascript/PHP. It seems to be taking forever (2 months and counting) and I am just starting to understand the basics. I feel bad updating to my boss that I am still learning. I am not able to show any valuable progress.

How do people learn and do things so fast? Or am I slow or is there any technique by which I can also improve significantly my speed of learning?

Thanks...

8 comments

[ 3.5 ms ] story [ 18.7 ms ] thread
I'm in the same boat you are - learning new stuff is hard and feels like its impossible to get anywhere. It's taken me over a year to release the simplest of android apps.

I think, though, that its a lot like learning programming languages. Once you get one, you get similar ones easily. I hope so, anyway.

Personally, I don't spend my time learning, I spend my time making. For instance, recently I wanted to learn a frontend framework. After a lot of debate I picked Ember having never used it before.

I knew I wanted to use it for our dashboard so I built it whilst constantly looking through the docs and various tutorials whilst I hacked things together and learnt as I went. It was completed within 2 weeks and then I just refactored. Had I sat down with a book or a course before hand it would've taken quite a lot longer to get to the point where I thought I could make something.

I personally get stuck or end up using the wrong constructs in the wrong places. Like I might use controllers(angular) for more than its intended purpose or in place where something else might be more appropriate. This is why I am afraid of getting into making before I get a fare handle on the basics.
I increasingly find little novel in programming technologies (at least those that make their way out of the academic research labs into the hands of real-world developers). I've already learned enough languages and frameworks and libraries that most new programming tools I encounter I can quickly size up as, "Oh, this is just like X only with A instead of B".

In short, the more of this sort of stuff you learn, the easier it tends to get to learn yet more. You might find some study of formal programming language theory useful, as being able to refer to language constructs by name could make it easier to categorize and compare & contrast them in your mind.

Can you share how long you have been a programmer? Also can you give pointers like books or courses (coursera) for studying formal programming language theory?
Hmm, I started programming around 1991, but didn't take it seriously until around 1997.

I haven't gone through this class, but it appears to cover the basics of programming language topics: https://www.udacity.com/course/cs262

And I like this book: http://mitpress.mit.edu/books/essentials-programming-languag...

You can get much, much deeper into this topic, but skimming the surface a bit was really all I was suggesting, unless you have interest in programming language design in particular.

Thanks for the links. Is "Structure and Interpretation of Computer Programs" from MIT press similar to essentials programming language?