I wonder where the genesis is of this idea that programming is young person's game akin to physical sports where speed, explosiveness and endurance matter.
It seems to me that it's an intellectual activity where one should go on for very long honing their skills and becoming better and better at it with age.
Maybe the industry sidelines the older more experienced technical folks at a cost, and that's why there seems to be a reinvention of the wheel several times in the software industry.
I'm curious if there are other technical fields that are similar to programming with regards to ageism.
Wishful thinking maybe, but open-source may help in this regard. As more and more of software is being added to the commons, those who've been there and done that can have a greater influence in driving progress.
Chess is a primarily mental competition, but players at the top of the world tend to hit their peak at around 35 years old. Players can continue playing at an exceptionally high level until the end of their life, but on average there is a gradual downward slide from that peak. Magnus Carlsen, the current world champ and arguably strongest player of all time, has decided to simply stop defending his title (held since 2013) at the age of 31.
I think something that tech and chess may have in common as well is the ever-shifting grounds. Electrical engineering of today is not dramatically different than electrical engineering of yesterday. But programming (depending on the domain) is quite different today than yesterday. This is going to result in an age bias because at some point you start to simply become jaded learning 'Incremental, overhyped, and not strictly necessary new trendy framework/language [that nobody will be using in 10 years] #2,743.'
The reason Magnus is not defending his title has nothing to do with some decline in ability. Last game versus Nepomniachtchi he won quite convincingly 7.5 to 3.5.
>“I feel I don’t have a lot to gain, I don’t particularly like [the championship matches], and although I’m sure a match would be interesting for historical reasons and all of that, I don’t have any inclination to play and I will simply not play the match,” he said on his sponsor’s podcast. [https://www.npr.org/2022/07/20/1112479750/magnus-carlsen-wor...]
For a man that loves winning and competing as much as Magnus I find it difficult to imagine he wouldn't be playing if he felt himself a significant favorite. His last opponent is a character with a well deserved reputation for implosion. He was playing no less worse than Magnus for 6 games, in a 12 game match. He then lost a single hard fought game and did his thing, blowing up and losing 3 of the next 5 games with abysmal (by his standards) play. That could happen again, but I think it unlikely and I'd say Magnus does as well. Nepo seems to have improved his mental game, and has been in great form as well - having just dominated a very strong field in the candidates with the highest score in modern times.
Carlsen is very strong, but his title defenses have never really reflected that - ironically with the most recent exception. In the two defenses prior, he only managed to draw the classical section and relied on tiebreaks. His defeat is all but inevitable, and I think he wanted to go out undefeated. I think the one opponent he was hoping to be able to play against was Alireza Firouzja. Alireza is young and will probably become a world champion contender at some point. But Magnus would have been able to count on Alireza collapsing under the unique pressures of a world championship match and let Magnus then go out on top having undefeated having defeated champions from 3 generations. Instead Alireza collapsed at the candidates, scoring less than 50% in spite of being the (at the time) 2nd highest rated player in the world.
I don't think programming today is that different. I've been programming since 1982 or so and I don't think it's fundamentally that different. You have to keep learning new stuff. That's the way it's always been. That's what it means to be a programmer. But the new stuff is just the old stuff and the basics are the same.
By the way, electric engineering of today is also quite different from electric engineering of the 80's. You have to learn new tools. Maybe if you work for an electric utility it's still the same though I tend to doubt that as well.
Keep in mind that we've seen an interesting phenomenon over the past few decades where the average peak age of professional players has been going up. This includes physical sports like baseball, football as well as things like chess, fighting games and various esports.
I think the peak age thing ends up being less due to actual aging and more due to the responsibilities of life taking time away from practice.
Chess is not programming. We have software that can beat any human chess player. We don’t have software that can beat even a mediocre software developer.
These sort of comparisons are rarely meaningful, of the way you seek to imply: We have software that can beat any human at calculating partial differential equations. We don't have software that can beat even a mediocre cat-picture-identifier at identifying cats.
Not only that but the younger are more maleable and gullible in some aspects but also have the better capacity (and willingness) to adapt to the tower of babel du jour.
Is it the hiring manager's objective to hire easily controllable apes that can type, or human beings that can grasp the product and business goals, shape the culture, translate technical jargon into easily understandable concepts for the uninitiated and make the employer a shit load of money by architecting and programming their vision?
Young people aren’t apes who can type, they’re bright young people whose inexperience lends them the qualities I mentioned in my previous comment. In many cases they perform quite well (but not efficiently IMO)
I"m not sure that the common idea is that younger programmers are more skilled, but rather that they are more in demand. Could be for a variety of reasons, for example:
- cheaper
- less jaded
- easier to "manage"
- more willing to do the boring work that the older devs don't want to do
I think you're right. I also think that what tends to bore an experienced dev may be less likely to bore a junior dev, just because it's newer to them.
In my mind, young male have a lot of hormones that make them compete and it shows. There seems to be clear behavioral change in the average programmer as they age. Later in life (oftentimes with family), they do not have biological set-up to code 14 hours a day whole year as they did before.
Obviously, outcoding everybody else is sometimes considered as a value and other times it is not. Shrug.
I did, multiple times for extended periods, and it was insane, yeah. Games and movies. I prefer to not do that anymore, so in that sense I’m doing less work as I age and choose to avoid insane overtime in favor of maxing out at mild overtime. I think I’m coding better now though, more productive, partly by being more choosy, partly from more experience, partly from making more rational decisions when not low on sleep and exhausted from overwork and missing friends and family. It is sometimes a problem in the industry that you can’t tell how productive someone is by how much time they spend typing code.
It seems to me that it's an intellectual activity where one should go on for very long honing their skills and becoming better and better at it with age.
Maybe the industry sidelines the older more experienced technical folks at a cost, and that's why there seems to be a reinvention of the wheel several times in the software industry.
I'm curious if there are other technical fields that are similar to programming with regards to ageism.
Wishful thinking maybe, but open-source may help in this regard. As more and more of software is being added to the commons, those who've been there and done that can have a greater influence in driving progress.