There is this idea going around that programming is a young person's profession. Do some web searches, and you rapidly find speculation that after a certain age (30, 35, 40, 45, depending on who's talking) programmers cannot find any more work and tend to also get laid off first. While it may be true in hot startups ran by young people, at the population level software developers are doing better than their peers in other fields.
Have a look at the following statistical table. What does it tell you?
|Growth||948 %||42 %||11 %||-17 %|
First, a caveat: the professional category is slightly different in the 2008 data set compared to the 2018 data set. However, I think it is safe to assume that it only has a minor effect on the numbers. What we are looking at are broad trends. In both cases, the category includes software developers of various kinds, including their line and middle managers, but does not include support and operations personnel.
Second: As a person ages 10 years, they move from one of the 10-year age brackets to the next. Thus, I have composed the table to compare each 2008 age bracket with the next higher bracket in 2018; if a person was working in 2008 and in 2018, they will contribute to the same column on both rows.
Third, the first age bracket is not very interesting, because most people of that age who are on a programmer's path are students. They will be counted in this statistic only if they had a IT professional's job at the end of the year, and many will not even if they have part-time jobs and summer jobs. Indeed, the number of people who were in the 18–24 bracket in 2008 is very small compared to the corresponding 25–34 age bracket for 2018. During that ten-year period, people graduated – or at least got enough of an education – and were able to catch professional employment. Some people in that category may have even changed careers during that time.
Looking at the next three columns, the numbers are remarkable. The net change is positive for every age category under 44 in 2008, and not particularly large in the 44–54 category of 2008. This has two possible explanations, which can both be true at the same time: people who were programmers in 2008 tend to remain programmers in 2018, and there are more people becoming programmers between 2008 and 2018 in every age group below 44 as of 2008. The net negative change in older people suggests that more people leave the profession after the age of 44 than enter it. Yet, the effect is not very large even at that point.
This seems to refutes the idea that programmers have a sell-by date. In that case, I would expect to see a dramatic drop, closer to 90 % than 10 %, in the oldest category; but that is not what the data says. I suspect the visible drop can be explained by reasons not specific to IT: disabilities, early retirement, death, and general age discrimination. Let's have a look at the same comparison among all employed people:
|Growth||122 %||9 %||-1 %||-25 %|
It's actually quite remarkable! ICT professionals have superior employment prospects in every age group.
Limitations and avenues for further research
However, this data is just for Finland. Maybe it is different elsewhere; maybe there are subgroups that are doing better than others. I leave such more detailed research for later, or for others. I can see many possible research questions for interested academics:
- Do these patterns hold outside Finland? There are other countries with reliable official statistics; one might quite cheaply study those. In other countries, random-sampled surveys may be necessary.
- Are there identifiable subgroups with different career trajectories? This might be done as a survey together with interviews. In Finland and other similar countries you might go far with analyses of the official statistical data sets.
- Are there identifiable categories of employers that do discriminate heavily against older developers? (I am particularly reminded of Mark Zuckerberg's 2007 line "Young people are just smarter").
- Does the answer change if we look at more granular metrics such as income levels instead just the binary of being employed?