Please note extremely effective demonstration of "privilege".
Two employee candidates interview successively. One is 25, the other 53. Both are comparably conversant in technology, evince comparable cognitive capability, are equivalently literate in the problem domain being tackled by the role they're interviewing for.
Privilege: the 25 year old is not asked (overtly or subtextually) whether they "want to be doing this". It is simply assumed that the 25 year old's head is in the game. No demonstration of lifestyle commitment to the craft is required.
Take the idea and turn it around in your hands for a little while. Try this: imagine that instead of software developers, these were master woodcrafters; luthiers, say. Notice how the subtext changes: age is an asset. A lifetime spent designing guitars is a signifier of passion and competence. Flip the switch back to development and notice how age suddenly connotes something else, like "career failure forcing person to retain technical role".
You will get old someday, if you're lucky. But controlling for spectacularly unlikely values of "lucky", you are aren't going to strike gold in this field, such that you'll have no career concerns when you're 45-50. It is unfortunate that our field manages to devalue competence and experience that way it does; here's a second-time Rails gem author instead of a virtual memory system designer, see you at SXSW!
It's about the rate of change. Luthiers are practicing an art that would be recognizable to Stradivari, three hundred years ago. The tools are made of more modern materials but they're basically the same. The product has a more modern design (both functionally and stylistically) but is basically the same.
More importantly, the culture and business of instrument-making is largely the same. You have a shop in your garage or basement, or in the back of your store. You make instruments by hand a few at a time and sell them, preferably for cash, to individual buyers. You learn by apprenticing with someone who knows, or reading books and practicing like crazy for decades. Maybe you'll scale up to a factory with a few dozen journeymen cranking out instruments… like Stradivari did, three hundred years ago.
The problem with programming is that it's unstable. And I contend that it isn't even the unstable languages and platforms that hurt (as everyone says, experience makes it easier to learn new languages). Nor is it the eternal brokenness and turnover of APIs. This is not a new problem, nor does the patience to deal with it necessarily decline with age. Indeed, to an extent the opposite is true: experience has taught me not to panic when my favorite API is shot out from under me. (The first time it happens is a really awful surprise and a test of your patience, but the fifth time it happens you're probably used to it.)
No, I think the real problem is the constant turnover in culture. Programming in the late 1980s, for example, was a completely different social universe than web consulting in PHP, or iOS development: Different typical org structure, different business model, different way of learning the trade, different communities and communications channels, different career tracks, different project management styles, different constraints, different everything.
Immersing yourself in a new culture is hard. You're going to get schooled by kindergarteners, so check your pride at the door. And you're going to have to relearn your whole approach to the business, not just a new syntax or a new set of APIs. You're even going to need to learn new jokes. And the biggest challenge of all is that your old culture rarely dies cleanly, so you're never quite sure if you're doing the right thing by becoming an expatriate. Why not just go home, where you have the seniority and the contacts, where you know the old stories and can visit the old hangouts? The old way is shrinking, but is it really time for the funeral?
I wouldn't say our field devalues competence and experience. It's just that in our field seniority doesn't give you such an enormous advantage as in other fields. In many professions, if you are 40+ you will expect a multiple of the salary that an equally competent 25 years old gets. Software engineering is more of a meritocracy, you may get paid a lot even at a young age if you're good, and it won't get much better with age unless your skills also get better (and in practice, contrary to what all of us like to believe, it's hard to get significantly better over time.)
The contrast with other professions is so great that this age-blindness seems like age-based discrimination, kind of like a 80 degrees pool seems cold if you've just jumped out of a hot tub.
This is a myth. The reason that there's no huge premium on seniority in software development is that there are thousands and thousands of 25 year old senior software developers who are extraordinarily well compensated (relative to the broader market) and thus less wiggle room. That's a benefit to working in this field --- you reach your prime earning years earlier --- not a liability for older developers.
It would seem to me that you're in exact agreement with what I said, if not for the fact that you started with "This is a myth." What exactly is it that you disagree with?
It's just that in our field seniority doesn't give you such an enormous advantage as in other fields. is the opposite of my experience.
Well perhaps you are drawing the distinction between seniority and experience. There are likely some folk who have programmed in cobol as long as I have been programming. Unlikely they have equivalent experience.
The more things that I learn that don't work, the more value I offer to my clients/employers/colleagues.
Two employee candidates interview successively. One is 25, the other 53. Both are comparably conversant in technology, evince comparable cognitive capability, are equivalently literate in the problem domain being tackled by the role they're interviewing for.
Privilege: the 25 year old is not asked (overtly or subtextually) whether they "want to be doing this". It is simply assumed that the 25 year old's head is in the game. No demonstration of lifestyle commitment to the craft is required.
Take the idea and turn it around in your hands for a little while. Try this: imagine that instead of software developers, these were master woodcrafters; luthiers, say. Notice how the subtext changes: age is an asset. A lifetime spent designing guitars is a signifier of passion and competence. Flip the switch back to development and notice how age suddenly connotes something else, like "career failure forcing person to retain technical role".
You will get old someday, if you're lucky. But controlling for spectacularly unlikely values of "lucky", you are aren't going to strike gold in this field, such that you'll have no career concerns when you're 45-50. It is unfortunate that our field manages to devalue competence and experience that way it does; here's a second-time Rails gem author instead of a virtual memory system designer, see you at SXSW!