Nature and nurture in software development
Posted: December 2nd, 2009 | Author: Alex | Filed under: Uncategorized | No Comments »Over on the Seattle 2.0 blog, Anthony Stevens‘ Are Great Programmers Born, or Made? posed an interesting question that also generated insightful thoughts in the comments. I am very intrigued by this topic and the direction of some of the research in this area. So, here is my take on it.
Intuitively, I think, we tend to read that question as Are great programmers born xor made? – understanding it such that it is either one or the other. I believe that is false: It is not one or the other; it is both, at least to some degree. However, the ratio is important.
Innate ability, such as a baseline degree of brain capacity is absolutely required, maybe measured as at least average IQ. That baseline or innate ability is the smaller part of the whole.
I would argue that it helps to be strong at abstract and critical thinking, logic, mathematics, pattern matching/prediction, memory and recall, and so forth. However, those are largely skills. They serve as very useful prerequisites or corequisites, but they are learnable. The same is true for other skills in software development, such as deep understanding of programming language usage, the ability to follow code style guidelines, writing good unit tests, coming up with “clean” designs, etc.
From what I understand, deliberate practice is key to acquiring expertise in an area. I provided some notes on that in Accelerated Learning with AI systems?, though with a slightly different angle. Mary Poppendieck very much relates this principle to software development in her presentation Deliberate Practice in Software Development that she gave at Agile 2009.
When I first taught myself programming (Turbo Pascal, if you are curious), it felt like it came easy to me. It was also great fun, which served (at least partly) as motivation for me to learn and experiment more, eventually turn it into a profession.
If you either “have it” or “don’t have it,” then there does not really seem to be a chance for greatness for the person who is missing that innate ability. On the other hand, if training/deliberate practice can play such a significant role, then there are options: The opportunity of a new challenge. I think, this should be very encouraging.
Practice.
Leave a Reply