

Ask HN: How do experienced programmers learn new things? - xsoul

Since I'm a novice, I enjoy novice friendly online education but feel reading hundreds of pages of programming books or documentations daunting. I'm curious how experienced programmers learn new things. Do you ... ?<p>* Read the docs<p>* Read programming books (such as those by O'reilly)<p>* Go through online courses<p>* Other ways (comment if you like)
======
poezn
When you're experienced in anything your advantage is that you can put things
in relation quickly, which helps you learn things faster.

For me, I learn most when I create something or put my learning in practice
immediately. Whether it's languages (natural or programming) or a certain
framework, or paradigm. The key is that by running into problems you see how a
piece of technology fits into the big picture.

------
gexla
When are experienced programmers NOT learning new things? Constant learning
goes with the trade.

You often don't have the time to read through hundreds of pages of programming
books, and I don't have the patience for that anyways. The best way to learn
is practice, practice, practice. You practice programming and you practice
your "look up" skills for finding new info.

------
calbear98
Build something.

I can never really learn just by reading docs, books, etc.

If you want to learn XYZ programming language, write an app in that language.
In order to get that app built, you'll need to learn whatever is necessary to
use the language.

------
peterxy37
For me, no fixed patterns. Mostly learn new things by googling. If the topic
is completely new, and googling does not work, then starts with some text
book. After reading initial few chapters, I again come to the googling mode.

------
xsoul
Indeed, Practicing and Googling are essential in learning. I guess books and
docs come as references, I once thought they were the first thing to go to.
Thanks for the comments.

------
jfb
By varying either the tooling (use Lambda Prolog to write web servers!) or the
problem domain (get deep into computer vision).

------
jfaucett
reading source code is #1, a close #2 is debugging so you understand how the
design of the software works.

