Justin du Coeur (jducoeur) wrote,
Justin du Coeur

Age discrimination, or simply aging skills?

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...
Tags: programming

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded