Why Do Some People Learn Faster?
wired.com
wired.com
When I read a post like this, I try to apply it to making myself a better programmer in the "high note" sense. Trouble is - it just doesn't apply (and I am a huge fan of Dweck's work). This article is one for the masses - not people who are trying to create the next Google. Motivation, hard work and an ability to learn from mistakes are all necessary, but ultimately not sufficient for our craft.
If I had to guess what the missing ingredient is, I would say creativity.
Heck - we are programmers. We get immediate feedback on our mistakes all day long and anyone reading this post has most likely gotten really really good and learning from those mistakes. ...but, how many of us are hitting those high notes?
For example, in this day and age of fast processors, abundant memory, large hard-drives, you can't expect a novice to put much emphasis on efficiency. He'll code and will run his program just to see the output appear almost instantly. A veteran will look at it and shake her head, but that's because she knows that back in her days, code this inefficient guaranteed that you'd spend the day in the lab just waiting to see the first letter of the output. Don't expect the newbie to learn that lesson any time soon, with his blazingly fast laptop, on which he's working comfortably from his bedroom. Now, hand him one of those snail computers at his next internship and watch the transformation operate.
The difference is that an expert will be able to make a good decision about that trade-off. A novice is restricted to the tools and practices they are familiar with - they might come to the same conclusion, but not for the same reasons.
But the manifestation more relevant to the real world is not having the experience base to realize it's biting you in the ass. Specifically, even though X is working, it could be working better, for less effort. Or another common case is X is not working and you misidentify why ("lazy developers not willing to do the work" instead of "used the wrong paradigm for the job", for instance).
Who succeeds is a function of what projects they were working on. And that, is almost purely random and a result of circumstances. We like to think that Sergey and Larey were more brilliant than anyone else, for example, but the truth is they just stumbled into the right thing at the right time.
Don't discredit yourself as a programmer for not yet having a huge stroke of luck.
In this view, the lucky may not have recognized opportunity better, just created better opportunities for themselves (through hard work). Even if this notion isn't completely correct, I like how it incentivises working rather than waiting.
Edit: corrected my phone's overzealous auto-correct.
ps. huge fan of Empire! thank you sir for working on that game. i think Sid Meier cited it as a design influence for Civilization as well.
"In the fields of observation chance favors only the prepared mind."
I would argue luck does play a big role, and that they weren't lucky enough to be born into a country with the standard of living, educational resources, and number of tech jobs that Americans have is the major differentiating factor.
Also it is a bit of a logical fallacy to say just because luck is not the main factor in success that being unsuccessful means you are lazy or dumb rather than unlucky.
You can take the luck argument too far though. You were lucky to be born as the you that you know because there were millions of other sperm competing to fertilize your mother's egg.
But honestly, I came pretty close to "winning" by the time I was 10 years old. I was born in one of the richest countries of the world, to well-off parents who were science/technology-minded, attending a good school district, etc. I also happen to have computer science as one of my strengths from a young age, partly due to foresighted parents who sent me to an after-school Logo program, and partly due to what feels like natural affinity. That pays well, while I could just as easily imagine being gifted in something less-lucrative, like music or history (I'm personally completely in awe of people who have perfect pitch and what seems like an innate sense of rhythm). I had to do relatively little on top of all that to succeed, at least compared to what other people would've had to do to succeed similarly. Basically had to not completely fuck it up. (And I assure you I am lazy as shit compared to a lot of people doing less well.)
When I see "fail fast", what I really think is: "increase your sample size".
But you can't directly control luck. You can directly influence the other factors, and while luck does play an important role, so do other factors. To borrow a quote, "The harder I work, the luckier I get."
You're also using a limited angle of success (Larry and Sergey's business success via google). Many of the other "best programmers" on your 1000 person list may have non-commercial success (their creative project leads to a highly cited paper for example).
If you just took the top 1000 programmers (again assuming you could) in 2003, it's unlikely that Mark Zuckerberg would have been one of them. Not that he wasn't a great hacker, but what metric could have demonstrated his creative/business abilities as an undergraduate?
Of course luck is involved in anything. Einstein was "lucky" that he happened to be obsessed with the relative speed of light to different parties at a time when we knew a bit about how light/gravity etc worked. Perhaps if he'd been born in Newton's time, his style of intellect would not have had the same impact. Nonetheless we can, in hindsight, only measure someone's achievement, not his/her luck.
No doubt hyper-achievement (like Einsteins' or Zuckerbergs') is evidence that the achiever possesses a high degree of work ethic AND talent with at least a bit luck thrown in. No doubt that you would agree Hyper-achievers are a subset of "Potential Hyper-achievers" (those with talent & work ethic) and someone's level of achievement will roughly correspond to his/her personal characteristics.
In a particular poker game, it's mostly luck whether you come out ahead, but over time (as in life) those who practice harder and play smarter will (usually) come out on top.
But sure, it's suggestive of what you say.
A factor in that is developing a strong associative memory. This means seeking out many many kinds of knowledge and experiences and constantly trying to connect them together. It's not banging "random" ideas together, because your associative memory filtera it down.
tpatke: > it just doesn't apply (and I am a huge fan on Dweck's work). This article is one for the masses - not people who are trying to create the next Google
aristus: > defining characteristic of highly creative people is their ability to change their mind at will. ... A factor in that is developing a strong associative memory ... seeking out many many kinds of knowledge and experiences and constantly trying to connect them together
Being wrong, persisting, and trying to learn from the mistake takes effort. It's difficult, and I suspect as difficult as (if not directly linked to) exerting self-control. Connecting thought is here: http://psr.sagepub.com/content/11/4/303.short
A good question for Moser/Dweck would be: is the physiological response of a child to a mistake a function of their blood glucose levels? I suspect that it is: anecdotally, people are a lot more optimistic and willing to explore an issue instead of yielding to to surface obstacles if they're on a sugar high.
I wondered this as well. Even if it's not necessarily glucose-focused, there are a ton of angles. Depression? The two ends of manic/depressives? Sleep -> mood -> mistake response? Talking to an attractive member of the opposite sex and having it go well/not well?
I suspect that Moser/Dweck would find that programmers in a state of flow encountering a compile/runtime exception would exhibit significantly lower amplitude signal associated with immediate negative response.
Since ERN amplitude is associated with better learning, it might be the other way around, that people in flow are producing stronger ERN's and correcting their mistakes faster.
I hadn't thought about it in terms of Dweck's work on open-mindedness but it seems like accepting failures and persisting probably fall into the category of tasks that cause ego depletion. Very interesting.
When I'm working with code that doesn't have it, runtime errors significantly lengthen the time between insights, as I hunt for the root cause of some bug.
The general point is that you do better work in small increments and revisions than you do, like Coleridge, getting high and watching masterpieces spill out of you, like Kubla Khan. You will be less sensitive to small things destroying your work, like Coleridge's visitor. Truish story.
Aside from the tone, maybe, this article is not 'one for the masses.'
Jony Ive didn't just sit down and whip up the iPod, to use Spolsky's example. We don't see the blood/sweat/tears that goes into it. From Ive:
One of the hallmarks of our team is this sense of looking to be wrong ... It’s about being excited to be wrong because then you’ve discovered something new.
Obviously Ive has the creative ingredient. And some are going to be predisposed with talent. Michael Jordan may have had his famous "4am club" where he hit the court every morning to just drill, but so did Scotty Pippen, and he never hit the Jordan high note clutch performances that make my jaw drop watching 20-year-old replays. So I see your point, that talent matters. But the other way to look at it is that Jordan was just better at learning from his mistakes in those 4am practices.
So no, this is not some pedestrian piece of feel-good soup. Great work, in programming, design, anything, is about repeatedly pushing a boundary, recognizing where you messed up, fixing it, and repeating that all over again. The people who do this best are the people who believe that by iterating they can get better. This works even as you get all the way up into the stratosphere of a field.
[1] http://www.dailymail.co.uk/home/moslive/article-1367481/Appl...
It could partially be natural talent, however much of it is nurture. Carol Dweck has proven that the growth-mindset can be taught. Parents, friends, communities, media and school systems alike can promote "fixed" mindset thinking through various means, thus limiting learning from mistakes. It's incredible how much harm someone can do by steering someone off the growth-mindset path.
So maybe there is something to being part of a "4am" club.
http://www.maxpreps.com/news/WpxTIZzCckWkptFeAcuDrw/how-mich...
Don't know if it was actually at 4AM or not.
Now this being said, in the environments where I work, I have met a lot of top-notch programmers and a much larger number of mediocre programmers who crank out huge quantities of unmaintainable code. And of course unmaintainable code is contagious: if you work with it, the quality of your own code suffers.
And so I have come to a contrarian perspective on a lot of this.
The difference I think is that the top notch programmers tend to be interested in improving. There is nothing worse than reading through the SQL-Ledger codebase and realizing that despite some modest improvements in security over the years (though not enough IMO) the coding style has never improved (\%$form? Really? Still? And no 'use strict?' what will it take?). Instead they make up for a lack of self-improvement with extra brute force effort in things like testing and debugging.
So this leads me to conclude there are two fundamental types of programmers out there: brute force programmers (the majority), and those programmers who substitute quality of effort for quantity of effort.
The majority of programmers are mediocre and never hit high notes because they believe that what matters is how much time and effort they put into programming. The other programmers spend less time and effort coding, and more time and effort thinking about coding. They recognize that this is where the key investment lies, and that time spent here saves a lot of effort elsewhere.
One problem with programming is that you rarely get immediate feedback on the mistakes that matter---areas like style, clarity, maintainability, and elegance of design. It's only if you go back and question your ability in these areas can you improve. But time spent thinking about these things, going over past efforts and critiquing them, is time that is not spent programming.
I sometimes think programming should be learned first through an apprenticeship, then through journeyman programs where an individual learns from many accomplished programmers, and finally certified to take on students.
High notes, low notes who cares? The test of the acceptable programmer is in the works he/she creates. And to judge that requires answering the following:
1. Does the software do what it's supposed to do? 2. Does it do what it does efficiently?
That's it.
Forget wanting to belong to the legions of hallowed programmers who use the latest/best programming languages or frameworks.
No programmer hits a low note ... unless they want to. Those are not programmers but itenerant workers just filling in for the time-being. (Which could last 30 years. :) )
Ciao
There could be kids in the class with 2 years internship experience with the exact language on similar projects and those that have never programmed before.
Comparing professionals would be much more useful.
Oddly enough, I never made much of the fact that if I really wanted to do well in a class (because I was in love with the subject teacher for example ... :D) I could actually put the work in to get to the top of the class ... I just put it down to being smart.
This had a lot of bad repercussions when I went to college. For the first time in my life I was not only competing with a shitton of people just as smart as me, but almost as many people who were WAAAAAY smarter. Trying really really hard to only make B's was a huge blow to my psyche and I was very demoralized and uninspired for a long time. It wasn't until I realized that not only did it take hard work, but for me, inspiration or passion was necessary to truly excel at something. That's when I realized that I just had to shun things I really wasn't interested in and devote myself to things that I really wanted to be good at.
Even nowadays, I still look at people in this field who I consider quasi geniuses (DHH, Yehuda, Resig) and wonder if I can ever get to that level, and whenever I doubt myself, I go back and read this very deeply inspiring article from John Nunemaker http://railstips.org/blog/archives/2010/01/12/i-have-no-tale...
tl;dr Praising smart kids for their intelligence is a sure-fire way to screw them up for years.
"But people can learn languages at any point in their lives. Being immersed in a language is important. Personality is a contributing factor too - not being able to tolerate feeling foolish from making inevitable errors will make learning a new language a difficult process.
"The cult of the hyperpolyglot"
But people can learn languages at any point in their lives
Of course. I learned German, from nothing to fluency, in my twenties; and the same with Czech in my thirties. But if you ask me, for example, how a German or Czech name sounds, my answer won't match with native speakers. You can get all the definitions, make no mistakes in the grammar, but you won't understand it at a deeper level. A language is way to express a culture, and the culture is gigantic and ineffible compared to the language.
This is just an excuse that will limit you. Yes, kids might learn at a faster rate, but they also don't do anything else but learn that language for years. Most people have busy lives which doesn't allow for this unless they completely immerse themselves. As an adult, you also have the advantage of understanding difficult concepts (because you've already learned them in your native language), which speeds up the learning process.
" You can get all the definitions, make no mistakes in the grammar, but you won't understand it at a deeper level. A language is way to express a culture, and the culture is gigantic and ineffible compared to the language."
Then you don't really know those languages as well as you think. Part of knowing the language is knowing the culture. This requires immersion, studying, and discipline.
I've been studying Japanese for the past 5 years and I've started a couple of meetup groups in my area for studying. What I've found is that 99% of the people that try to learn a new language as an adult give up at some point. Mostly when they get to any point of difficulty. You also have to be disciplined enough to study it every single day.
Something else I've learned is that the similarities between starting a business and learning a new language are actually very similar.
Apoligies if I am making a strawman or unfairly characterizing you, but lately I've been seeing a lot of "Get Motivated" stuff here and on reddit that is completely false.
Sorry, but children do have the "language acquisition" device. I'm bilingual and learned both my languages during those golden years. My memory as a child is amazing, and I can name scene for scene the movies I watched once as a child, yet I can barely tell you the plot of the movie I saw last month. Childhood learning and the malleable brain really isn't something in dispute. Immersion isn't remotely comparable.
My wife lived for 5 years in Russia and studied the language all through college. She's no where near my childhood learned Greek which I speak maybe 5 or 6 times a year. Her Russian fades quickly too. If she's not using it, she's losing it. Oh, she speaks 4 laugnages at a proper adult level too. She needs to keep using all 4 or she will also lose them. She's no stranger to language learning or immersion. My Greek is permanent, btw, no need to practice or anything. Its forever mine.
There's just something really sad about how the motivation crowd has been co-opted by the meathead sports metaphor crowd "GIVE 110%!!!!". There's science and reality at work here. Yelling and overly positive platitudes aren't helping. If anything its a disservice to the people who really are looking for answers while trying to get motivated or trying to learn a second language. Motivation and learning and hacking them is a lot more complex than just willing yourself to make it happen. There's a fair bit of complexity here, especially when people have unrealistic expectations and do not love the process of learning and trying. Loving the process, being humble, asking for advice, accepting the pain, accepting looking like an idiot, etc are far more valuable to me than the whole "TRY HARDER!!!!" sports cliche.
I agree though that a language learned at childhood more easily sticks with you than one learned later in life. This makes sense for a number of reasons. However this is a completely different topic than one's ability learn a language.
Just curious -- how many years did you spend immersed in Greek? In addition, speaking Greek 5-6 times a year is great. If you changed that to 0 times a year, I can assure you that your ability to speak it would dissipate.
http://www.newscientist.com/article/mg21128224.000-age-no-ex...
http://www.sciencedaily.com/releases/2005/06/050615060545.ht...
Here's a great example: I worked in Berlin for a Jewish woman who moved to America when she was 5. She didn't speak any English, only German, at the time. When she came back to Germany at 15, she had to learn German from scratch (completely from scratch). She was 50 when I worked for her and her German was flawless, but my German friends said that she occasionally made the tiniest of mistakes which made it clear she wasn't a mother-tongue speaker. She didn't make such mistakes in English.
That said, perfect language acquisition is not impossible for all adults. My brother started learning Chinese at 20. He learned it so well that people he first talked to over the phone are sometimes confused when they meet him - they can't believe that he's not native Chinese. (But he's been having to work to lose his Taiwanese accent.)
Compare this with an adult that's been learning a completely new language for 5 years. As in seriously learning, dedicating at least one hour per day, 3-4 days per week. Plus living in the country, listening to radio, tv, etc.
I think the adult will win. Even if you compare with an older kid up to maybe 13 years old, but then it's cheating because that kid has been learning the language for more than 5 years, even if you increase the "start learning definition" to age 7.
Praise your kids when they do well. Point it out when they've made mistakes (in a graceful way). Teach them that doing better next time is always within their power if they apply themselves.
Most of all, let them know that you make mistakes but that you learn from your own mistakes and are willing to work hard to do better. Be a good example of coping with life and its difficulties, including the difficulties of parenting.
Did you read what I posted or make up something in your mind based upon your preconceptions?
All I said was that praise should be deserved. When you disconnect someone's mental model from reality, it has consequences.
History, if you will, is littered with the corpses of people who thought they knew exactly how to fix the american educational system (or whatever: pick your policy obsession, it's all the same).
I looked at it like riding a bike. Almost noone says they cant ride a bike if they make a mistake and fall. They try to adjust their balance better or think about what caused them to fall. They key is that they get back on the bike. However, in other areas of life, people dont think that what they are doing is like riding a bike when it really is.
With that approach I was able to teach myself programming, linguistics, etc. Its kind of awesome to read this article a decade or so afterwards.
I had this epiphany three years ago, and it has been my manifesto ever since (http://jamesthornton.com/manifesto).
My frustration is that I want to see things in another perspectives, but I simply can't a lot of the time..
If you have a firm grasp of something then you understand how to manipulate the concept in different contexts. Adding a new idea allows you to simply twist contexts to include the new knowledge and you've "learned" how to do that new thing.
As things get more complex, so does the contexts and thus it gets harder to "learn" if you've been doing rote learning all along. Rote learning is memorizing a new idea in a specific context and there is no room for morphing that context.
If you get good at morphing contexts to fit new ideas then you can also get good at taking two different contexts, merging them at getting new concepts out of it: this is the act of inventing.
For example, I was always very intrigued by calculus because most people talk of how difficult it is. I wanted to know why it's so difficult, so the first opportunity I had I took a calculus course. The subject itself wasn't necessarily interesting, I wanted to know what the fuss was about.
I really couldn't disagree with this more. No doubt, failure is important in learning. However, to be educated or have an education, at the end of the day, you need to get something right.
Personally, I don't learn by failing fifty times and never succeeding. I don't learn how to lose weight if I try fifty diets and never lose a pound. I don't learn how to talk to a girl if I speak with a dozen of them and get shot down every time. I don't learn how to rockclimb by falling off the rock and never gaining elevation.
That is negative re-enforcement. I have learned what not to do--the opposite of what I set out to accomplish. Education is progressive. I learn by failing until I succeed, if only a little bit. Then I go back and try to succeed even more. That's the hard part, not calling it quits. Finding inspiration and success in the smallest scraps of result.
Just don't sell education or yourself short.
So mistakes are only half the key to learning.
You have to learn FROM the mistake. Learn what you did wrong, and don't do that again.
Simply repeating your mistakes does nothing.
Can you really try 50 diets and not know what doesn't work in a diet? Don't repeat the same mistake in each diet - that's pointless.
1.) When I've had a decent night's sleep. 2.) When I've made efforts taken to manage stress. 3.) Coffee!!!! (Dyn-a-mit-eh!) 4.) When I'm just in interested in why I made a mistake. 5.) Active presence of mind that I should be focusing on the task at hand. 6.) When I'm interested in the material. 7.) When I don't give a damn how about smart or dumb I might think I am. 8.) Removal of any negative influences at the moment. (PHB)
And most importantly,
9.) When I've exercised that same day.
Growth mindset -- “[W]e can get better at almost anything, provided we invest the necessary time and energy.”
A fixed mindset and a growth mindset are not mutually exclusive beliefs.
As I see it there are three dependent factors in accomplishing a complex task:
1.) intelligence -- raw computational power (impacted minimally by sleep/diet/use)
2.) knowledge -- data stored regarding a given task (impacted immensely by attention/research/exposure)
3.) wisdom -- the application of 1 on 2 (impacted greatly by experience/composure/analysis)
Knowledge, and to a lesser extent wisdom, can come as a result of investing time and energy. Wisdom is an amplifier of intelligence and knowledge; it can produce an order of magnitude increase in efficacy with very little change in either of the other two.
Both can be true...
Seems to me that the performance of the test subject depended upon the type of praise given, not the interest of the subjects (which would have been consistently random across test groups)