4 ms·
The problem with relying on personal anecdotal evidence is that it is inherently biased. The only way to truly answer the question is find a way to reliable mea
by zaphar 12y ago
The problem with relying on personal anecdotal evidence is that it is inherently biased. The only way to truly answer the question is find a way to reliable measure coding skill. Otherwise you find yourself making the same mistake you think Jacob is making. Using faulty data to back up an assumption.
Part of the thrust of Jacob's talk was that there is probably a whole class of developers out there who would be just as good as the rest of us but they can't get entry due to an assumption that Coding is an innate skill and not a learned one. He even gives examples like the lady who had written a working distributed GIS processing pipeline but didn't think she was a Coder.
I'm a little like Jacob in that people automatically assume I'm a 10x coder. I have a pedigree from Google. My github and bitbucket accounts are full of small libs and projects I've played around with. My code has been used by CouchDB and the list of languages I have at least surface knowledge about is huge. There is exactly one reason for all these qualifications though. I've been in the industry for more than 10 years and I was a hobbiest programmer for several decades before I was in industry. When I started learning I was doing gw Basic. My first "real" programming languages was VB6. I was a stereotypical below average programmer. I didn't know a linked list from a hashtable. All I needed to turn into the "ninja" people see when they look at me now was time.
I've met a lot of people who could absolutely reach this same level. And 90% of those people with potential resist trying because they think "I'm not really a coder". The myth really does need to die.
- agentultra 12y agoHear, hear! I started on AmigaBASIC and later ARexx. QBasic on later 386/486 machines. Pascal, OOTuring (a Pascal-like educational language), and C in high school. Perl near the end of high school. Python in my early twenties. Common Lisp in my late twenties. Have tried a bit of Haskell and OCaml here and there. Though I'd say I've settled on Python, C, and Common Lisp... trying to make brain space for OCaml only because I find Mirage to be such a great idea. I've given talks on BloomL implementations, constraint propagation solvers in game level design, and have written various bits of libraries and such over the years. Nothing terribly "ninja" like here. Depending on the audience I may sound like a wizard or a clueless hack. The reality is I'm probably somewhere in the middle in skill if programming were a quantifiable skill. The only reason I can cite these things is because I tried and learned some things not because I was born with some legendary ability to whisper to a computer what I want it to do. At the end of the day they are just machines and there's nothing super-human or special about learning how they work. It just takes time and effort like anything worth doing. The theory, as I understand it, is that without sufficient evidence we must assume that programming ability follows the same bell-curve distribution as every other quantifiable skill we can measure.
- tjradcliffe 12y agoEvery human ability has a natural distribution of what for a better word we can call "talent". This is as true of running or tennis as it is of coding. To claim otherwise is to tell people who aren't naturally very good at tennis that they are moral failures for not working hard enough at it, which is insulting and demeaning as well as false. Furthermore, there is evidence that the ability to code is non-linearly dependent on some fairly uniformly distributed basic abilities. The bimodal mark distribution of first year software courses is evidence of this. It is trivial to reproduce it using the assumption that the underlying skill-set is uniformly distributed, but there is a threshold of ability below which coding becomes very hard: http://www.tjradcliffe.com/?p=1471 http://www.tjradcliffe.com/?p=1471 There is a very simple way to disprove this hypothesis: find a way to teach coding that will get rid of the bimodal distribution of marks, which has been vigorously attacked by educators for decades without progress. The things we have learned in that time are: 1) It doesn't matter how passionate the teacher is about believing that "everyone can learn to code" 2) It doesn't matter what language is used 3) It is very hard to predict who will be good and who will be bad. Because of this, there are three reasons we know cannot be the source of the problem: the attitude of the teachers, the langauge used, or the number of years experience prior to university. If any of those were the cause the extensive research on this issue would have revealed them in the 80's. I'm prefectly willing to believe that most people can be taught to code, and if I can be shown evidence of a teaching method that gets rid of the bimodal distribution I'll happily abandon the barrier-to-entry model I've proposed in the link above, but until then, it can't be called anything less than a plausible hypothesis. Certainly not a "myth".
- stdbrouw 12y agoEven if true, a bimodal distribution of suckers and winners is very different from having to meet a treshold in certain skills to be able to code at all. Not everybody can become an architect or a mechanical engineer either, but I never hear my engineering buddies talk about the mythical 10x civil engineer.
- zaphar 12y agoThose statistics on marks in a classroom are the first hard stats I've heard of indicating a bimodal distribution in coding skill. I have no idea where they come from though. Do you have any links to sources?
- zenogais 12y agoIt's part a larger myth that probably needs to die also. See the book "Talent is Overrated" for a thorough and scientific evisceration of the idea.
- collyw 12y agoAny chance of a two line summary or something similar?
- zenogais 12y agoThere are two common theories on greatness - (1) it results from hard work (2) it results from natural talent. Both are wrong. Multiple studies show that high degrees of skill are the result of deliberate practice, and that its results eventually override either hard work on natural talent. Much of the book is taken up defining what "deliberate practice" is and how you can achieve it.
- vijayr 12y agoDo you think it applies to other fields too? For example, people who never try to do anything physically because they think they are just not "made for it" can achieve something decent, like running a marathon if they tried long enough? or learning a language, and so on?