Programmers: Before you turn 40, get a plan B

Welcome to geezer town, junior.

While researching my recent article, “Age discrimination and Programming Jobs” , I discovered a 1998 Op-Ed piece from The New York Times that cited some startling statistics from the NSF and Census bureau about the longevity of a software engineering career.

[S]ix years after finishing college, 57 percent of computer science graduates are working as programmers; at 15 years the figure drops to 34 percent, and at 20 years — when most are still only in their early 40’s — it is down to 19 percent. In contrast, the figures for civil engineering are 61 percent, 52 percent and 52 percent.

RetiredProgrammerButtonI find the defensive tone of the article and the use of dubious sampling of only computer science graduates to support its conclusion undermines its credibility. In a lot of ways, the Government has been very slow to grok the software engineering trade. In this study it completely ignores the significant number of working programmers who either earned their degree in another discipline or never finished college.

 

 Still, smart money seems to concur that the software engineer depreciates only slightly more slowly than the machine he or she toils behind as exemplified in this 1996 comment from Craig Barrett, then President and Co-founder of Intel.

The half-life of an engineer, software or hardware, is only a few years.

Sure, the guy’s a suit, but more importantly he was (at the time) a 57 year old former engineer publicly reinforcing the discriminatory notion of expiration dates on other engineers. It’s scary as hell to think that such an influential industry insider thinks that a programming career is roughly the same as a professional basketball player’s.

 

My take on the issue

Considerable accusatory ink has been dedicated to the age discrimination problem in technology, but I suspect it may be an inevitable consequence of the rapid pace of change that defines this field.

Consider the following:

  • The market value of an employee is primarily determined by experience in technologies relevant to the employer.
  • Software engineering reliably undergoes a major technology shift at least every 10 years.
  • While a technology shift doesn’t completely negate the skills of veterans, it certainly levels the playing field for recent grads.

Now put yourself in the shoes of a prospective hiring manager using a newer technology like Ruby on Rails for which nobody other than David Heinemeierhas more than about 5 years of experience.  Sure, that extra 10 years of C++ experience is a positive differentiator for the veteran over the upstart with the same 3 years of Rails experience.  All things equal you’d naturally hire the guy with more total experience.

However, all things are NOT equal. Those 10 years of C++ experience made the veteran candidate progressively more expensive as they leveraged the value of that experience in jobs requiring C++. The problem is that the marginal utility of that extra experience must exceed the marginal cost of hiring the veteran to justify paying the premium.

Herein is the source of the problem. The more irrelevant experience a candidate has, the more lopsided the utility/value equation becomes, and this presumes that the manager even has the luxury of paying extra to get that experience.

Even if the veteran prices himself competitively with a younger candidate, the hiring manager has to consider the implications of bringing in someone taking a big pay cut. Will they have morale issues from day one? Are they going to change their mind after a month that they really do need that extra cash and leave? It’s a sticky situation.

The unfortunate truth is that unlike other forms of discrimination that are more arbitrary and capricious, age discrimination can often be a result of objective and sound business justifications. I’m not trying to justify it as an acceptable practice, but just trying to describe the pickle it puts the manager in trying to make a sound business decision without compromising the ethical and legal obligations of the company.

So what’s your plan B?

Assuming you aren’t fabulously wealthy, accepted to clown college, or the fatal victim of a Red-bull induced heart attack by 40 a mitigation strategy is in order. Here are some viable options.

chooseadventure

Work for the one person who would never discriminate against you.

No. Not your mother. You! If you aren’t the entrepreneurial type, consider a consultancy. For some reason that I don’t completely get, a little gray hair and a smattering of experience in different technologies can create a beneficial bias for companies when they are renting brains instead of buying them outright. It may have something to do with the tendency for consultants to be vetted from higher up in the management chain where the silver foxes live.

 

 

 

Give in to the dark side and go into management.

I’d argue that a career in programming does precious little to prepare someone for management, but clearly management thinks that everyone including technologists harbors a deep longing to “graduate” into their ranks. I think it a fallacy that no one would continue to design and build software for 20 years unless they had no ambition or growth potential. However, people like me that respect such dedication to the craft are in the minority. Maybe it is best to just stop fighting it, but consider the following before taking the plunge:

  • Mid-level managers often make very little more, if not the same as high level engineers.
  • It gets progressively harder to keep up with new technology because you don’t work directly with it.
  • Meetings, politics and dealing with unrealistic requests will pretty much become your life.
  • You may try to avoid it, but management-speak will creep into your vocabulary (did you notice my “paradigm” comment earlier?)
  • Even when it isn’t your fault, it’s your fault.
  • Even when you make it succeed, your team should get the credit.
  • Being the wunderkind as a technologist is much easier to do in technology than management, you’ll have to check your ego at the door.
  • You will be forced to make decisions that affect people’s personal life (pay, bonus, firing, etc.) and this is hard to stomach sometimes.
  • It is very empowering, enjoyable to be able to set the agenda and sometimes say, “No. We ain’t doing that shit.”
  • Computers are predictable, people are complicated. You will eventually fantasize about robot employees.
  • Mentoring can be very rewarding, but also very challenging.

The most difficult thing in the world is to know how to do a thing and to watch someone else do it wrong without comment.
-Theodore H. White.

You’ve got a cash cow, milk that sucker!

I know you love programming because you like technology, so this may go against your very nature, but no one says you’ve got to jump every time some snot-nosed kid invents a new way to run byte-code. You have invested a lot of time and energy mastering the technology you use, and your experience differentiates you. Money follows scarcity, and snow-birding on an older technology, if you can stomach it, may just be the way to protect your earning potential. The industry turns on a dime, but is slow to retire proven technology. It is highly likely that you will still be able to earn some decent coin in the technology you know and love even after a few decades.

Advertisements

Age Discrimination and Programming Jobs

As my personal odometer clicks over to 38 today, I’m thinking about the very real concern of age discrimination in the technology field where many would consider a person wizened at 40. The legal and political considerations associated with this issue make it a very touchy subject that encourages many to tread lightly or avoid discussing it entirely. This is unfortunate, because for both the job-seeker and hiring manager, passive acknowledgement that age-bias is a factor does little to remedy the situation. This Tauran is going to stampede through that china shop and confront the issue head on with in a frank discussion about older programmers and the recruiting process. Along the way I’ll provide advice to both managers and job hunters for overcoming bias that can result in unfair and illegal discrimination.

Let’s start with what I admit is an unabashedly controversial opinion. It is my belief that, for programmers, age discrimination is more pervasive than either racial or gender discrimination during the hiring process. The basis of this sentiment is rooted in the demographics of the software development community which is predominantly comprised of male employees that are on average younger than the labor force in general (McConnell).

I suspect that hiring decisions made and influenced by younger managers who were raised during a period of increased emphasis on achieving racial equality in the wake of the civil rights movement are less likely to reflect race based bias than those of their elders. Further, it is likely not uncommon for the typical young, socially awkward, male software engineer to sometimes give an edge to qualified female candidates if only for some respite from the homogeny of his peers. That said, I also think that older female candidates are victims of more discrimination than older male candidates.

Do you feel me on this? If so, we are both guilty of exposing a personal bias that younger workers are less likely to discriminate in their hiring practices and men as a group are generally prone to using their status as a hiring manager as a personal dating service. While it is certain that both of these preconceptions must be true for some element of the workforce, it is equally true that they are not universal, and it is ambiguous about whether these characterizations are even widespread. The important consideration here is that each of us harbors at least a few innate personal prejudices, and there is a good chance that some of them are going to be inaccurate.

The Two Question Technology Bias Test

Even if you didn’t take the bait on that first point, consider the assumptions at play in the following two question quiz.

(1) What Operating system does the man in this photo prefer?
Guess my favorite OS!

(2) What makes the following image humorous?
Unix Girls on the Beach

Despite what the guilt mongers would have you believe, prejudice, discrimination, and bias are not fundamental human failings that are uniquely modern and need to be worked out of the system. Instead, instead they are shortcuts wired into our primitive brains that allow us to apply a probabilistic model based on our own experience.

In a survival sense, it provided competitive advantage for our ancestors to assume that a particular lion is prone to violence based on their experience with a completely different lion eating a cousin’s face. The types who argued that maybe this new lion seems nice and deserves a fair shake probably didn’t fare as well as the lion-ist jerk who didn’t trust anything with six inch incisors. Given the eons it took to condition this into us, I don’t think it is feasible to eliminate it from our nature.

Although you can argue that the lion-prejudice pattern is outdated and no longer applicable. Consider the more modern practical applications of bias for programmers in the refactoring movement. Code Smells are little more than prescribed bias against certain coding elements that may or may not indicate real problems. I am not going to go all Gordon Gekko on you and declare that “Bias is Good.” I am just trying to say that in the appropriate context bias can be beneficial.

Conscious acknowledgement of preconceived notions and being vigilantly objective despite experience is critical, however, for managers making recruiting decisions. For the candidate, who is unlikely to suspend the well-shorn biases of society for the duration of an interview, mitigation strategies are in order.

Continue reading