Are Older Programmers More Knowledgeable?
A recent study based on Stack Overflow’s data attempts to answer if programming knowledge is related to age, if older programmers are more knowledgeable and if they acquire new skills or not.
Patrick Morrison, Ph.D. Student, and Emerson Murphy-Hill, Assistant Professor at the Computer Science Department of North Carolina State University, US, have recently published the study Is Programming Knowledge Related To Age? An Exploration of Stack Overflow (PDF), researching the relationship between programming knowledge and age.
The study was performed on Stack Overflow’s user database of 1,694,981 programmers, with an average age of 30.3 years, in February 2013. Out of those users, over 300,000 have specified their age, being considered for this research. Those who answered questions in 2012 and had a reputation between 1 and 100,000 were further selected from the group, representing a sample of 84,284 users with an average age of 29.02 years. The authors consider that answering questions is more relevant than asking them because “it is possible to ask a good question that cannot be answered, but it seems less likely to have a high-scoring answer that is not understood or wrong,” and “the ability to answer questions about programming is frequently used in hiring interviews for programmer positions.”
The authors address in their study three related questions in an attempt to asses programming knowledge, not programming performance:
Does age have a positive effect on programming knowledge?
Programming knowledge is measured through Stack Overflow’s (SO) Reputation, the results showing a roughly linear increase from age 10 to the 50s, suggesting that “there is a positive relationship between age and reputation on SO,” as shown in the following graphic:
Do older programmers possess a wider variety of technologies and skills?
To what degree do older programmers learn new technologies?
To measure if older programmers still acquire new knowledge, the authors limited their study to only the tags of several newer technologies -clojure, django, git, ios, jquery, linq, mongodb, ruby-onrails, silverlight and windows-phone-7-, and considered the score associated to answers:
We conjecture that they acquire knowledge in new technologies, and that this can be measured by considering answer scores. Each answer is assigned a score, based on the number of votes for or against the answer. If older programmers learn newer technologies, we might expect them to have similar or higher answer scores to younger programmers for these technologies.
The resulting data is depicted in the following table:
The authors conclude:
There are two tags, ‘ios’ and ‘windows-phone-7’, for which there is a statistically significant deviation from the null hypothesis. These may indicate places where knowledge of older technologies, e.g. the 20-year old Objective-C foundation of ‘ios’, gives older programmers an advantage. Given the strength of the relationship between age and the selected new technologies is relatively weak, we do not have strong evidence against older programmers learning new technologies. It appears that older programmers do learn new technologies.
The authors acknowledge that Stack Overflow may not be the best sample for measuring programming knowledge against the age because “US statistics on programmer employment suggest that the age distribution of professional programmers skews older than the user distribution of SO,” and “perhaps younger programmers join [SO] as a matter of course, while the older developers that join may only do so if they know themselves to be especially knowledgeable.” They also are “not convinced that our means for answering RQ3 [3rd question] is fair, although we do not yet have a better procedure.”
StackOverflow Age Study
But I DO like the study and think it is useful.