5 ms·
What I learned from my time in grad school (physics) is that at least for the hard sciences, reading is not enough, you must DO. Unfortunately this isn’t easy.
by jeffwass 5y ago
What I learned from my time in grad school (physics) is that at least for the hard sciences, reading is not enough, you must DO.
Unfortunately this isn’t easy. It takes physical effort and will power to resist just reading over the words and feeling you’ve internalised something vs actually forcibly mentally thinking through the steps.
If the subject is something like math or physics, do some related ‘homework’ problems.
If it’s programming, actually implement something in that language or framework.
If it’s foreign language, try putting together useful sentences with the words and language constructs in question instead of just racking up points in Duolingo. Better yet talk to a friend in this language.
If it’s philosophy or history, well then it’s less clear. In that case your idea above may be the best you can do, either explaining to someone or even pretending you’re explaining to an imaginary newbie.
This is just my two cents but what I found works for me over the past few years. Personally I don’t
understand how people here on HN claim they can learn a math topic (eg quaternions) just by watching a YouTube video, or understand functional programming just by reading thru SICP but not doing a single exercise. Maybe they can, but in my case I need to work through some actual pencil-on-paper or hands-to-keyboard examples myself to really grok the subject.
- simonblack 5y agoWhat I learned from my time in grad school (physics) is that at least for the hard sciences, reading is not enough, you must DO. I came to say that also. I find that just reading a technical book is the fastest way to get drowsy, while retaining nothing (or so little, it's a negligible amount). I find that to learn anything I must have a project. Then, when I inevitably strike a roadblock, I refer to that technical book for the answer to my lack of knowledge so that I can move along with my project. If I subsequently forget that knowledge, I know that I did have an answer previously, and that I found that answer in a particular place. Also, I find myself buying fewer and fewer technical books these days. Once upon a time, the only way of obtaining knowledge was via technical books. I used to buy dozens every year. Currently it's easier and faster (and less expensive!) to use Google or similar websites.
- dondraper36 5y agoI have a master's degree in applied mathematics so it goes without saying practice is far more important than just reading. That said, for better or worse, software engineering is not as strict and formal as mathematics. There are a lot of opinions backed by somebody else's experience or, just, reputation (say, books like Clean Code or Clean Architecture). Recently, I have been reading mostly not about programming languages or algorithms. It's easier to understand these by practicing, writing code yourself, etc. When it comes to more abstract subjects, however, it's more challenging. For example, clean architecture, domain-driven design, different solution approaches in distributed systems. It's not that one has to memorize, but rather internalize the principles. It doesn't help that there is plenty of opinionated advice on the Internet with mutually exclusive approaches and recommendations.