3 ms·
Nature or nurture. Programming is a highly skilled trade, requiring creative thinking. It's like a combination of engineering and writing prose. While genetics
by eloff 13y ago
Nature or nurture. Programming is a highly skilled trade, requiring creative thinking. It's like a combination of engineering and writing prose. While genetics no doubt plays some role, much larger are the attitudes and aptitudes a child learns in their formative years (mostly before school age.) Everybody can learn to program, but not everyone has the attitudes that will make them well suited to it. You're not born with those attitudes for the most part, but if you don't have them, you're probably not going to acquire them.
I taught myself programming. I'm now very good at it (at least I like to think so) but it took 12 years of constantly pushing my limits and constantly learning. People who like to go out and drink with their friends every day after work, instead of learn new things at their computer will never be competitive with me. You need to be self-motivating, inquisitive, constantly improving yourself, and put in the massive amounts of time required, not just from 9-5.
- return0 13y ago> much larger are the attitudes and aptitudes a child learns in their formative years On the other hand it's a common anecdote that the best (most?) programmers are self taught, like you, they don't learn it as part of their 'nurture'. Couldn't this point to a predisposition to enjoy it?
- mathattack 13y agoThe best programmers I know broke away from the herd very quickly. (By 4th grade?) It seems very hard to break out if it was curiosity, parental encouragement, or genetic ability. I am certain that #1 is the biggest driver, and #2 was involved. I suspect #3 is too, but not as much as we give it credit for. The breakout programmers did it day and night because they loved it, and quickly expanded on whatever initial advantage they had.
- bentcorner 13y agoOne of the problems I had as a child was the lack of exposure to the right tools and books. I was interested in games and knew DOS inside and out (at least from a user's perspective), and could script batch very easily, I had a big gap in getting to the point of writing an actual executable. There was a huge "I didn't know what I didn't know" problem. I envy the children of today with the internet at their fingertips and much more accessible tools, although they still face a similar problem, perhaps in the opposite direction (paradox of choice, perhaps).
- davedx 13y ago> much larger are the attitudes and aptitudes a child learns in their formative years (mostly before school age.) Sorry, but... citation needed. I think the point the article tries to make is that there is no substitution for good old hard work: not your preschooling (or preschool parenting), not your genes, not the colour your bedroom walls were painted: dedication to improving your skills always wins. > People who like to go out and drink with their friends every day after work, instead of learn new things at their computer will never be competitive with me. I spent a large part of my 20's drinking & socializing, and it made me a much more rounded, resilient person. I now occasionally work on my side projects at home, but it's no substitute for the 100,000 hours of in the trenches experience in various sectors of the IT industry. What I've learned at work vastly dwarfs what I've learned at home.
- eloff 13y agoI don't doubt that socializing not only makes you a more rounded person, but is necessary as well. However, I'd bet you anything I'm in a different league compared to you when you were 29, because I spent most of my 20's learning and coding (about 50K LOC/year on average across 20 languages.) There's no substitute for putting in the time. However, who I was permitted me to make those choices while most of my peers made choices more similar to yours. So in a sense, there is a very real effect that's out of your control and probably goes back to your childhood.
- theorique 13y agoPeople who like to go out and drink with their friends every day after work, instead of learn new things at their computer will never be competitive with me. What if you go out and drink with top programmers after work? ;)