![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Boy, I have rather mixed feelings about this article. Summary: a 64-year-old software engineer, who interviewed with Google unsuccessfully several years ago, is trying to set up a class-action age-discrimination lawsuit against them.
Actually, no, that's not true -- my feelings really aren't mixed. Mind, I fall into the class in question: I'm 50, and I did interview unsuccessfully at Google back in 2012. But that had nothing to do with age -- AFAIK, that had to do with the fact that we were in the middle of the nymwars at the time, and I made it unambiguously clear that I was going to be a complete and deliberate pain in the ass about it if I was hired.
I won't claim that there's no age discrimination in the software industry, but I would bet there's a good deal less than many older engineers would like to believe. The reality is, it comes down to skills, because skills in the software industry rust *frighteningly* fast. I mean, the guy launching the suit was specifically looking for assignments in C++, Java and PHP. Of those three, the only one I consider *marginally* current is Java, and I would far rather see someone with C# experience. (Yes, yes, you can all read your anti-Microsoft bigotry in. The fact is, Java is only now catching up to where C# was ten years ago.) And I'd consider PHP on a resume to be a strong net negative.
I've known too many engineers who really believe that software was basically solved by Knuth, Dijkstra and company fifty years ago, and that getting up to date is simply a matter of learning the syntax of another language. That's bullshit -- it's never been true, and it's less true than ever now. The programming business has not only continued to evolve in recent decades, that evolution is *accelerating*.
That's happening at all levels. The languages are in the middle of another paradigm shift: if you're not comfortable with at least the core of functional programming (as well as OO), you are facing obsolescence. Software architecture has realigned almost out of recognition over the past five years: you need to be comfortable with scalable approaches, preferably including map-reduce approaches such as Hadoop / Spark / whatever, and ideally grokking the Actor model as well -- not to mention being completely solid on parallel programming. Even the *process* of software development has changed radically in the 15 years since Extreme Programming started the revolution -- while you need to take the trendy consultants with a grain of salt, you absolutely need to be comfortable with the core agile processes in order to be effective.
It's easy to believe that you're being discriminated against, when the truth is you're just *rusty*. Putting this in concrete terms: I spend an average of 30-60 minutes *per day* on self-education in the field. That takes many forms -- reading documentation on new tech, watching presentations, using new technologies in practice, and participating in the communities around that tech. I consider that to be part of my job, and I've never hidden it from employers -- if I'm going to stay sharp, I need to put in the time learning and exercising new skills, so that's part of what you're paying me for.
The lawsuit cites the low average age of Google employees as the basis for believing there is age discrimination. Even granting their numbers (which I don't -- they're based on self-reported data from Payscale, which I would bet skews young), I'm suspicious of the assumptions here. I *expect* any high-end software company to skew young -- not because of intentional discrimination (at this point, most sensible companies will hire any really good programmers they can find), but because there just aren't enough 50-year-olds who are willing to put in the work and discipline to stay sharp. If your skills aren't current, don't expect people to want to hire you.
The moral of all this is, as I've said many times: if you want to work in software, you need to focus on self-education, and make a lifelong habit of it. Several of my friends are professional veterinarians, and I've always found the mandatory continuing education requirements of that field to be intriguingly wise. I enjoy working in an unregulated field, and I suspect most other programmers do as well, but that just means that you have to take responsibility for that continuing education yourself. Expect that to be *hard* -- the world is constantly changing, and you are never going to get to stop and breathe. But it's necessary if you want to stay relevant, and if you embrace it whole-heartedly, it does keep things mighty interesting...
Actually, no, that's not true -- my feelings really aren't mixed. Mind, I fall into the class in question: I'm 50, and I did interview unsuccessfully at Google back in 2012. But that had nothing to do with age -- AFAIK, that had to do with the fact that we were in the middle of the nymwars at the time, and I made it unambiguously clear that I was going to be a complete and deliberate pain in the ass about it if I was hired.
I won't claim that there's no age discrimination in the software industry, but I would bet there's a good deal less than many older engineers would like to believe. The reality is, it comes down to skills, because skills in the software industry rust *frighteningly* fast. I mean, the guy launching the suit was specifically looking for assignments in C++, Java and PHP. Of those three, the only one I consider *marginally* current is Java, and I would far rather see someone with C# experience. (Yes, yes, you can all read your anti-Microsoft bigotry in. The fact is, Java is only now catching up to where C# was ten years ago.) And I'd consider PHP on a resume to be a strong net negative.
I've known too many engineers who really believe that software was basically solved by Knuth, Dijkstra and company fifty years ago, and that getting up to date is simply a matter of learning the syntax of another language. That's bullshit -- it's never been true, and it's less true than ever now. The programming business has not only continued to evolve in recent decades, that evolution is *accelerating*.
That's happening at all levels. The languages are in the middle of another paradigm shift: if you're not comfortable with at least the core of functional programming (as well as OO), you are facing obsolescence. Software architecture has realigned almost out of recognition over the past five years: you need to be comfortable with scalable approaches, preferably including map-reduce approaches such as Hadoop / Spark / whatever, and ideally grokking the Actor model as well -- not to mention being completely solid on parallel programming. Even the *process* of software development has changed radically in the 15 years since Extreme Programming started the revolution -- while you need to take the trendy consultants with a grain of salt, you absolutely need to be comfortable with the core agile processes in order to be effective.
It's easy to believe that you're being discriminated against, when the truth is you're just *rusty*. Putting this in concrete terms: I spend an average of 30-60 minutes *per day* on self-education in the field. That takes many forms -- reading documentation on new tech, watching presentations, using new technologies in practice, and participating in the communities around that tech. I consider that to be part of my job, and I've never hidden it from employers -- if I'm going to stay sharp, I need to put in the time learning and exercising new skills, so that's part of what you're paying me for.
The lawsuit cites the low average age of Google employees as the basis for believing there is age discrimination. Even granting their numbers (which I don't -- they're based on self-reported data from Payscale, which I would bet skews young), I'm suspicious of the assumptions here. I *expect* any high-end software company to skew young -- not because of intentional discrimination (at this point, most sensible companies will hire any really good programmers they can find), but because there just aren't enough 50-year-olds who are willing to put in the work and discipline to stay sharp. If your skills aren't current, don't expect people to want to hire you.
The moral of all this is, as I've said many times: if you want to work in software, you need to focus on self-education, and make a lifelong habit of it. Several of my friends are professional veterinarians, and I've always found the mandatory continuing education requirements of that field to be intriguingly wise. I enjoy working in an unregulated field, and I suspect most other programmers do as well, but that just means that you have to take responsibility for that continuing education yourself. Expect that to be *hard* -- the world is constantly changing, and you are never going to get to stop and breathe. But it's necessary if you want to stay relevant, and if you embrace it whole-heartedly, it does keep things mighty interesting...
(no subject)
Date: 2015-04-29 02:12 pm (UTC)I have also worked with a considerable number of skilled older programmers -- but I've also observed a pretty clear bell-curve effect, with more and more of them ceasing to keep up with the times as they get older. I've always assumed this is part of why so many gradually move into management instead.
Keep in mind my viewpoint, as both an older programmer and someone who hopes to need to hire programmers. I care about this issue a *lot*. I think you underestimate the effect of, "unable to learn new skills". The sad truth is, *I* wouldn't hire the majority of programmers my age, because they have demonstrated that they are falling behind the times. It makes me tear my hair out, how many guys I've worked with who turned out to be less useful than an entry-level programmer, because at least the newbie *understands* the uphill road ahead of him.
(It's pretty much always guys, but that just reflects how few older female programmers there are. Interestingly, though, the few older female programmers I've worked with have been well above-average in terms of continuing to learn. I wonder whether there's an ego effect here -- whether the female programmers typically get less invested in believing that they know it all already.)
In my experience, it's a significant effect. I know a disappointing number of guys who, somewhere along the line, just kind of *relaxed*, stopped really learning, and never really figured out how to start again, much less catch up. If I'm running a serious software company, I absolutely do not want anyone like that in my engineering staff. Yes, they may be good guys, and they often make good managers, but they don't produce good up-to-date software.
It's not about age, it's about mindset -- I want to see a passionate and effective devotion to *learning* in all my engineers. In my experience, yes, that correlates significantly with youth. That's not causation: there are lots of older engineers who have kept their minds lively, and they are often the absolute best; I have hopes to remain in that category myself for another 15-20 years. But that takes serious effort, and I do think it accounts for at least much of what might appear on the surface to be age discrimination...