You've Probably Read Enough
bennesvig.com
bennesvig.com
I hate to admit it, but my retention rate was just miserable, probably less than 50%. Sure, remembering stuff "cold" on the next day is different than remembering an association during a conversation (e.g. "Ya, I read something about 'X' the other day."), but it was enough to make me wonder if my educational entertainment reading was time well spent, or time wasted?
Everyone needs breaks, and it's fun to keep up with what's going on in the world, but I might be better off doing something else...
I think there's a whole cult that promotes learning all kinds of things by remembering by association, can't remember what it was called. My father was introduced to it when he tried to learn a new language, but it failed miserably at that (not all tools are suitable for everything).
Anyway, another good technique to recall something is to think about something else for a moment and not concentrate on a particular thing you can't recall at that moment too much.
And then I promptly picked up a new book to half read after life distracted me for a week and I forgot about that one.
What keeps me coming back to HN is my ongoing curiosity of how technology is evolving. (And also a slight paranoia of another hacker publishing exactly one of my side projects before I do :) I enjoy being engaged with other like minded strangers. And I believe this place helps you better predict, even appreciate the direction of technology.
Just so long as you have balance and it doesn't keep you from actually getting things done. As for the article's point, I do agree. Doing something is immeasurably more beneficial for you than reading about it.
"A Place for My Stuff" http://www.youtube.com/watch?v=MvgN5gCuLac
I would also claim you want to 'relax' during breaks, that is, not actively think about something. I can't think of many better activities then reading HN.
There's room in life for casual conversation. It doesn't have to be relentless study all the time. And even if you're intent on only reading stuff worth memorizing you can't achieve that goal. You can fight Sturgeon's Law, but you can't always expect to win.
I think the 2nd mistake might actually be more common, given the amount of wheel-reinventing (and not always reinventing well) that goes on, but it's hard to say.
We only need to wear seatbelts on the days we'll get into an accident, right?
I do think it is ridiculous to not research an immediate problem like how to crop a picture in Photoshop.
- Drawing U.S choropleth thematic maps (flowing data)
- A/B testing, Adwords, SEO (patio11's blog)
- D3 framework
- VIM advice
- Product development and importance of design
- Being data driven
- Conversion optimization
- Importance of machine learning on web scale problems
- Stupid business models vs business models that actually seem to work
- Mistakes to avoid
Yes you learn by doing. But you learn just as much through discovery, and discovery only happens when you read a shit ton more than you have to. Discovery leads to idea generation. Idea generation leads to products. Creating products leads to learning.
You'll learn more starting out in Rails, for instance, by getting the basics of controller actions and their relationships to views and then immediately code some stuff. After that you can code till you're blue in the face but you still won't know nothin' bout polymorphic relationships or has_many :through. For that, you need to read some more.
I found over the years I need to have a steady cycle of practical coding, reading, coding, reading. It just depends. If I'm in the heat of getting features out the door, I don't read at all usually, I'm just doing what I do. When things settle down for a bit, I pull out something to read that pushes my weak areas. Maybe algorithms, or TCP/IP stuff I've neglected, or going over stuff I knew at one point but lost out of my wee lil noggin.
That said, when I'm reading that stuff I'll usually have a terminal open where I can practice, either in the shell, repl, mysql terminal, etc. So the cycles of reading/coding can be get real short. That's when I get the most into my brain, actually -- long sessions of doing both together.
x$_{spring} = A sin(\omega t)$
and $x_\mathrm{spring} = A \sin(\omega t)$
is qualitative and unmistakable.If you care about making things, there's no substitute for doing. If you care about quality, there's no substitute for learning from the experts who have gone before you.
In college, I always felt that I couldn't start my math homework until I'd read the chapter thoroughly. It wasn't til my last year/year and a half that I realized, the best way to learn upper division math was to dive right into solving the hard problems, referencing back as needed.
Sometimes I wondered if I would have done better having given myself more time to study the materials.
Personally I believe you have to do both for the fastest learning process. The "read, do, reflect" cycle. If you're not actively "doing" then you will read and associate things quite differently. Without doing, you can build up a very strong theoretical knowledge about a subject, but in doing, not realise the correct time to act on that knowledge. It can also lead to analysis paralysis, as you /know/ there is a bigger picture, and you're trying to figure it out - where as the guy who never read, but just learned by doing, never got slowed down by wondering about that bigger picture.
I know people who just do, and never read - they miss out on a lot of shortcuts they could easily learn, or understanding the bigger picture, motivations etc.
Reflection happens quite naturally for most of us here, but you'll often find it works best when you are actively writing ideas down, or communicating them to others. It then fuels going and reading or doing to fill knowledge gaps.
If you're not doing, then the next best thing you can do is mental rehearsal - if you /did/ have to apply this skill/knowledge to a real situation, how would you do it. You can then find yourself self-coaching when you do the activity for real.
As an aside, this is why hobbies are a Good Thing (tm). They allow you to have different sets of associations, so when I'm learning about a new area, I can link an idea to say organising a scuba dive, rather than something like a sprint planning session.
Doing takes work, it requires making decisions, it requires critical thinking. Reading helps you delay this with an activity you can justify to yourself as being helpful in the long run.
However at a certain point, you've delayed too long and the time investment you've sunk into reading has been way too much for what you're getting out of it, compared to the act of doing and producing something and/or learning from experience.
(Edit: spacing)
A recurring theme of discussion on HN is whether or not the submissions are getting worse. I tend to think they're not. (Although the comments are another story.) It's just that the twentieth article you read on something like lean startup methodologies is a lot less interesting than the first one.
Unfortunately, most of what's out there on the blogs are only meant to be tasted...if that. Direct experience is valuable, but direct experience guided by an informed authority can be even more valuable.
I probably have some ulterior motive for reading, rather than really doing it in order to be qualified for that startup idea I have.
But I won't know that until the next article gets upvoted that tells me my mental state in one sentence!
Coming from the business end of things before I started programming, I learned about IPOs not from business classes but from reading about which companies would IPO. I learned about vesting schedules and cap sheets by reading about people discussing these things. While it's taken years for me to feel like I understands most of the ins and outs, it's also something that you really should be learning second hand. You don't want to be talking to a potential investor and have to ask him what a cap sheet is.
It's not about, "I will read this and understand," it's about immersing yourself in the culture and picking things up as you go.
Personally, I've set myself the arduous task of mastering English. If you are reading for less than half your day, you will probably never get there with that one.
Written language is a wonderful tool for understanding the past. If you think you know everything there is to know about the past you are indisputably wrong.
Apply for VISAs or other things at an English speaking foreign embassy.
Go on craigslist and find stuff for sale phone them and ask questions about whatever it is they are selling. Phone recruiters from craigslist or something.
Figure out something to do that involves English and just do it.
Mastery for me would be mastery of English as an art and as a craft. It's about making something people want to consume. Poetry, novels, songs, technical manuals, plays, screenplays, essays, esoteric manuscripts, perfect commentary, and so on. Those are mediums, I want to create something that lives beyond my lifetime. Mastery for me is writing something that becomes truly immortal communication.
Then when you come across a problem while building your product, you can say to yourself "Hey, this is what Mark Suster was talking about in that one blog post...how did he solve the problem?"
I've been "self-teaching" (mostly via O'Reilly books) since 2007 and I have completely changed my career. I grow as a programmer more and more every day, mostly thanks to reading.
Sure, I've read books like "Learn You A Haskell" without putting much into practice. But I feel I am much better off reading about new ideas even if I can't make every day use of them.
Ditto for gatekeepers. Have a legal issue you want to research? You went to the law library and sat there for hours and used the coin op copier.
Even if I don't "get" everything yet -- knowing that Final Cut can do "X, Y, Z" and it's somewhere in the middle of the manual -- can be useful in removing some of the early frustration in the learning process.
I'll know something is possible, and vaguely know what the technique is called, and I will be able to incorporate that knowledge into my thinking.
Then whenever it is time to build stuff, there's a lot of very specific googling to lay down a strong foundation of a solution.
Raises his hand
And the damned truth is, I know I'll probably fail because of it.
Not that that helps.
The task at hand is merely to focus your attention on the specific path and along that path you'll learn what you need to do the other things in the field.
If you're trying to learn accounting it won't work by just reading a book, or just trying to balance your cheque book, but if you have a book and you refer to it while progressing through the balancing of your cheque book you'll learn what you need to know, and a large number of things that you didn't know you didn't know which you can learn later with a specific task in mind.
I've found that I read through technical books/articles to get through them as fast as possible rather than actual learning. In the end, they don't help me much because I forget most of it.
Lately, instead of reading chapter after chapter of a book, I like to take in a concept, reflect on how it might have applied to past, present, and future projects. Then, I like to write code to prototype the concept, while examining at how I might have done it previously. I find it helps a lot more than blind reading. Of course, it also takes a bit longer.
Studying, doing, reviewing is a good feedback loop. You study what you're going to learn in small chunks, spend some time grinding it out and working on it the best you can, then stepping back and reviewing your progress or lack thereof. Then back to reading, either reviewing what you read before, or moving onto the next chunk if you've mastered the previous one.
Reading articles after articles instead of doing things is a very common form of procrastination. From Wikipedia: "procrastination refers to the act of replacing high-priority actions with tasks of low-priority".
<on-topic-shameless-plug>
To fight this plague I'm working on an anti-procrastination web community for startup founders and people working on side projects: asaclock™ (http://www.asaclock.com).
</on-topic-shameless-plug>
before you "do", you have to read how to do (otherwise you wont know where to start, and will most likely end up getting bored and give up ) , do it , and then read how "they" do it. that one more article could piece together the puzzle you're stuck on. while i agree that learning by doing and breaking stuff is the way to go, reading is just as important to me.
And then I end up in the other place where I have tabs of articles and kindle's of books, instapaper and reading list full.
Right now, since I'm in "startup" mode I'm both producing (code, writing, on-boarding docs) and consuming and I'm completely overwhelmed. But I wouldn't have it any other way.
These are the guys who tweet about 'this cool new language, Lisp' and talk about basic CS algorithms as if they were breaking news, discoveries that will disrupt the industry.
That said, at the end of the day, yes: doing is great for understanding.
I guess a lot of it was getting burned out on tutorials, I have a hard time completing them, because the thrill of programming for me lies in solving a new problem, not typing in someone else code. It has been hard for me to pick up rails even with the excellent rails tutorial just because I dont find it all that exciting to type in verbatum code. Anyone have any good suggestions for learning new languages?
I think that just starting small scope projects and adding to them incrementaly with some good ref materials might be the solution.
For the holidays, my current plan is to go through a chapter a day of the programming books. Not just read through it, but actually do the example projects, retyping out the code line by line, understanding both the big picture and seeing if there's any gaps in the code that I don't understand. Actually try to experiment afterwards, try to build on top of smaller projects and put them together.
Sure - there is a limit of healthy news consumption, but if you stop reading altogether (or limit yourself only to "worthy" content) you may wake up in a couple of years and discover that you're an ignorant fool.
That being said...I also think that going on information diets(vacation to a beautiful place) for a cpl weeks every few months can be very advantageous for very long term memory retention and also for letting the brain derive awesome conclusions from all that information...just like sleeping for 8 hours everyday has been proved to improve short term and near long term memory retention.
Since this article doesn't obviously have an intended audience, you seem to be saying that everyone, everywhere should stop reading all articles once they posses the ability to read English well enough to comprehend this article. It is an interesting idea, but I suspect that this would lead to very uneducated people, so that people who ignore your advice are going to be better educated. If a senior citizen is told, "You've probably read enough" then, yes, maybe they will agree and proceed to purchase a plane ticket to the Bahamas. But if a teenager reads this article, the reaction will probably be, "sure, and by the same token, can you tell my teachers to stop assigning me homework?"
In any case, the core of the point is that by ignoring your advice, your readers can be better educated. Now, I am a Christian, but stupid priests who proclaim the creation myth until their vocal chords give way share something with you: if you ignore THEIR advice, you will be better educated, at least in science.
But really, you're right. The human race has reached the end of knowledge. There really isn't anything more anyone could possibly learn, so why try?