The fear of ageism is a recurring theme for those of us in the technical industry. There was a post on slashdot that posed a question: can programmers learn a new language past age 40? (lol!) I see occasional post about people with less mainstream skillsets, like COBOL, wondering if they’ll be able to adapt to the always-rapidly-changing industry that we’re in. I can’t speak except for myself, but I don’t worry about it so much.
Can I do it?
First, for the learning new things part, I don’t worry about that at all. At this point in my career, I’ve seen so many programs written in so many different languages that if anything it’s easier for me to pick a new one up. Especially if there is existing code. I find I can walk into even the crappiest code, and all the usual things are going to be there: loops, if/thens, variables, reading from files, writing to some output. It’s really more a question of how the program does those things. So I know the damn thing has to, for example, read from configuration, and then it’s just a task of finding out where the program does that.
And pray that it just does it in one place so I don’t have to guess which code path is “real”.
The newer languages, like the ever-changing .NET or the dynamically-typed scripting languages, have all the same stuff as before, but they’ve added a lot of shortcuts. For example, most of them allow you to just embed a regexp in place. Sometimes there are some really slick abstractions, like comprehensions and generators in Python, but by and large it’s the usual cast of characters. Perl just makes it nasty by sigil-ifying so much of it.
Also with the Internet at my fingertips I’ve become like history’s biggest super-genius. If I need to know how to do a binary search in Python, I can just do a quick search and there it is. If I’m not sure how to declare a multi-dimensional array, I can pull up a dozen sites that tell me how to do it.
I hate to admit it, but in my last interview, I (shamefully) answered about half the questions, “I don’t know. I guess I’d look it up on the Internet.” (well ok I didn’t really — I’m exaggerating, but just a little)
So, I’m really not worried about my ability to get a handle on new technologies or languages and be productive. It can be scary, not feeling confident of what you’re doing, but most environments I’ve been in are tolerant of people doing learning curve. And if they’re not — get out!
Do They Want Me
That’s one side of the “ageing” coin, but the other is, “Do they want me?” This industry is driven by greed and ego, so it can be extremely intimidating. Also, the rewards are great — the salaries in the technical sector can be really good. So there’s competition to get those salaries.
Here’s how I see it.
My experience is that the young guys have a much, much harder time getting into the industry than I have moving around now. My last job I got because of a contact — a former manager brought me over as the department I was in imploded. So I was more or less guaranteed a spot because of my previous work. That helps.
But even barring that, I am just good at what I do. I can walk into a company that has a need, and very rapidly assess it, and start to provide systems to meet that need. There’s very little fuss.
Over time, I’ve even gotten good at anticipating needs, so I tend to write robust solutions that stand up for a long time. I don’t get *too* good anticipating needs, because you have to pay attention to the requirements, but still my overview of standard practice in the industry helps.
In interviews, this comes across. While I can’t answer every technology trivia question they pop me with, I can answer confidently how I’ve solved those sorts of problems before. (Of course, I still can’t read minds, so I hate those “guess what I’m thinking now” style interviews.)
I don’t want to be overconfident, but I do find that the work I’ve done in the past makes it easier for me to find work now. My experience, and looking around at all the older programmers around me, is that readiness to provide work is a much bigger factor than a company’s desire for cheap labor or young, energetic minds without families to get home to.
Who But Me?
The other thing that happens is that over time, people drift out of the field. A lot of guys go start their own businesses. Or they move on to new careers. Let’s face it, thinking is hard. Smiling and glad-handing customers is a lot more satisfying in a lot of ways. A lot of developers get tired of the computer part of it, and move into management to do the people part of it. And there is always Program Management — the last refuge for scoundrels.
In a way, at my age, I’m a safe bet for a company simply because I’ve *survived* this long, and remained productive. All those guys who interview well and run a good meeting but can’t code worth crap have already moved off into roles where looking good is more important than being good.
All Companys Suck Anyway
All that said, there are some shops where ageism is rampant. But those shops usually have a variety of dysfunction, so being excluded from them is actually dodging a bullet.
There’s a Catch
I think the bigger problem with ageing in this industry is me, myself. And not energy level — I’m still way productive. But I’m also way less patient than I used to be. Now I see some ambitious middle-manager trying to micro-manage me and I think, “Oh, oh, here we go again.” Or a see a team member buzzing around on a power trip and know right away there’s trouble brewing.
For example a guy I worked with once, declared more or less openly when our new CTO arrived, “This guy’s a power-tripper and a nutcase!” The rest of us were still in the deer-in-the-headlights phase of that disaster. But the nutty CTO targeted this guy right away and drove him out of the organization *first*. I just hid, and stuck around for the next three years. So I had more longevity, but I don’t know who was luckier — my former co-worker or me.
These days, I’m just less patient with nonsense and games. I can’t imagine that works for me in an industry which is driven by nonsense and games.
Another dark side is that I just know how to play the game better. When I feel like I’m being manipulated or bullied, I know how to make things difficult. I can drag a project out for months, waiting for it to die. I can kill entire meetings by bringing up hot-button topics, or challenging the right person’s ego. And I know the look of terror in some co-worker’s eyes when they’ve pissed me off and I’ve backed them into a corner intellectually.
These are not productive social skills. They aren’t about writing good code, and making things work.
So in being picker and more sensitive, and being much better able to be a jerk, I have to be really careful. I worry that I’m going to push myself out of the tech industry sometimes, just by becoming so good at *not* doing work.
The Moral of the Story
Well, on that score — not doing work — my current teammates are masters at that. There’s no way I’m going to beat them at that game. So I’ll probably just have to knuckle down and write some code after all.