
Programmers: Before you turn 40, get a plan B (2009) - dsiegel2275
http://improvingsoftware.com/2009/05/19/programmers-before-you-turn-40-get-a-plan-b/
======
jv22222
Somehow I can't equate myself to my age number, 46.

In 25 years there has never been a moment when I wasn't in love with learning
the latest cutting edge tech.

Over the years it's been so much fun...

...to progress from the BBC B to pascal on the mac to pc's to unix boxes to c
cgi scripts to perl to php to mySQL to flash actionscript to ruby to
javascript to noSQL to node to socket.io to html5 css3 to iOS to android to
rabbitmq to laravel.

...to move from crappy first gen-linux boxes serving web pages from my front
room to using web hosting companies to the elastic cloud to puppet to salt-
stack to containers.

And I'm only just getting started.

I can't wait to get in to VR, 3D printing, hard core signal processing and so
much more.

When I'm screen sharing and problem solving with a 25 year old dev on a
hardcore problem I feel no different in any way to the person on the other end
of the line.

~~~
hoboon
This is fantastic, and makes me hopeful. I'm almost 40 and no real career
accomplishments but there's still time for me, maybe, before I just decide to
hang it up and just go home.

~~~
switch_bro
The article focuses on the fact that as programmers age past 30 their salaries
grow but they have roughly the same skills. But that is not the main dynamic
here. The main dynamic is that as a person's brain ages, it improves in some
ways and gets worse in others. The improvement is that you have more depth and
experience. The loss is that your brain gets slower and less flexible.

Unfortunately, in computer programming you will run out of experience and
depth that you can accumulate after about 8-10 years of work (say ages 22 -
32). Every new technology is just a variant of the previous 999 technologies.
But you still keep getting older every year, and incurring the downsides of
getting older!

Compare this with, say, being a doctor. A doctor at 32 is just finishing
residency, so he or she has just finished formal education. At 42, she has 10
years of experience, and a doctor with 10 years of experience is better than
one fresh out of school. The doctor keeps getting better at 52 (20 years of
experience) and 62 (30 years of experience).

The big picture is that computer programming is a field with low barriers to
entry and where young people have a significant advantage. Staying in a field
like that for the long run is going to lead to a _brutish brutish existence._
There are many posts here along the lines of "I'm 39 and still doing ok".
That's beside the point, because in the future you will be 49, then 57, then
65. Remember, Social Security full retirement age is 67.

It doesn't make sense to wait until you are 40 to switch. Every career field
accepts young people easier than old people, which means that the time to
start planning your switch is _today._

~~~
dan00
> The big picture is that computer programming is a field with low barriers to
> entry and where young people have a significant advantage.

Computer programming isn't just one field, there're several completely
different fields. All what you said might be true for the web development
field, where the technology at hand isn't really that hard and you apply more
or less the same technology and knowledge for each web project.

But there're several other fields where experience and knowledge are a lot
harder to gain, and therefore also count a lot more, just look at the systems
programming world or the more engineering heavy fields.

At my firm are a lot of >50 year old people, which are valued a lot for their
knowledge, and our work isn't about getting shit done as fast as possible, but
about getting something done right.

~~~
kamaal
>>But there're several other fields where experience and knowledge are a lot
harder to gain

Factor in internet that statement isn't true anymore. The amount of knowledge
on the net today is mind boggling. Its scary to imagine how much information
has become cheap and easy to access these days. And no one knows where this is
all heading.

The jobs that require knowledge and experience hard to gain are already very
few and shrinking with every coming day.

>>work isn't about getting shit done as fast as possible, but about getting
something done right.

Wait until a 20 year old shows how it can be done fast and right.

~~~
navait
I temporarily worked in safety-critical software development. There's a lot of
tools in that domain that simply aren't as googlable(read: expensive) and
cannot be learned online.

Often, in these sort of situations, the field isn't even that visible. I
certainly didn't know how extensive it was until I worked in it.

>>Wait until a 20 year old shows how it can be done fast and right.

I will applaud the 20 year old who somehow manages to disrupt the safe
software industry, but I doubt it will ever happen.

------
bikamonki
More options: \- Go solo. At 40 you should be experienced enough to handle up
to mid-sized projects, alone and on a reasonable time-frame. Try to pick
projects that your clients will actually use, with new features and support
contracts you will have steady income for the long-term. \- Go startup. Stop
thinking you need to come up with the next über-for-x. There are plenty of
opportunities for small sass shops that cater locally and provide sufficient
income for a micro successful business. At worst you'll be acquired. \- Go
sidetrack. I read someone said every business is a software business. Start a
different career/business and you'll be doing the IT needs yourself. That
alone is a huge competitive advantage.

These options allow you to continue programming after 40 and you should! It is
an urban myth that past 35 programmers are not as good b/c they get tired
faster or make more mistakes? The truth is that 20-somethings can put up with
very long hours b/c they have the time (mainly due to not having a wife and
kids) while 40-somethings have the experience to go right to the answer.
That's productive vs efficient. I like to use a soccer analogy: a young
defender is good when he's fast because he can outrun the attacker, while an
old and slow defender is better because he knows where to stand and wait for
the attacker. Experience is gold.

~~~
danieltillett
The problem with age is you become less flexible. If your have a business
where you know what you will be doing in 6 months time then experience is
great - when your plans change weekly then the flexibility of youth is what
you want.

~~~
nemo
Age makes employees less flexible in some senses like not being willing to put
up with some of the crap that younger people will (60 hour weeks, endless
crunches, etc.) I once did, but will no longer tolerate that crap from an
employer.

But being older doesn't mean you stop learning, adapting to change, or lose
the ability to deal with moving targets. I'm hopping rapidly between roles and
widely varied tasks at my current gig better than I would have in my 20s or
30s since I've got more perspective and experience.

A more mature person might point out that if your plans change weekly you
likely have a systemic problem, though, and would be more likely to point out
the breakage.

~~~
danieltillett
I am not a young developer, yet I recognise what it is about youth that is
attractive to employers. This is reality and I don't think there is anything
to gained by pretending otherwise.

I am not suggesting that you don't have a problem if your plans change weekly,
but unfortunately this is the way many businesses are run. When you have a
very fluid workflow youth is very attractive.

~~~
psaintla
> When you have a very fluid workflow youth is very attractive.

i.e. you don't bother to spend an hour to plan a project. I don't think anyone
wants to work at those kinds of places, young or old.

~~~
danieltillett
It is not a matter of planning, but of adapting to change. I have worked in
environments where change occurred regularly (outside forces at work) and I
saw it was the young who coped with this change best.

~~~
psaintla
I would need a concrete example but I'm not buying your assertion. Some of the
most flexible people I know are all developers, irrespective of age. If you
told me that older developers were more likely to ask questions and seek
evidence before making a change I'd believe that. I find that most people
confuse easy adaptation to change with pliability due to lack of experience.

------
jarsin
Lets see every 20-30 year old we have brought in the past 3 years:

A) Is so arrogant they think they know it all. Then when they turn in the code
it's barely passable and it become clear they are going to be difficult to
work with.

B) Are overly emotional and they all take things way too seriously.

Now every 35+ person we have brought in for a project is:

A) Professional. Gets the job done and very well.

B) Sees the bigger picture and goes with the flow.

That's my personal experience but hey if I was management I would go with the
20 year old's all day long. As long as I did not know what they did or had to
deal with them...Oh wait....

~~~
therealwill
"B) Are overly emotional and they all take things way too seriously."

This can be a positive. My experience with 40+ year olds is that they tend to
sacrifice user experience/security for what they know. "Our customers won't
care if they have to use Internet Explorer with ActiveX as long as it gets the
job done." My point is that an experienced programmer who is not up to date
can be as detrimental an arrogant 20 year old. The 40+ year old programmer who
stay up to date though... They are worth their weight in gold and I aspire to
join them one day.

Edit: Background - Got really pissed off at a 40+ dev using active x to launch
external programs and making it a requirement that our end users use IE with
ActiveX enabled. Almost lost my job because management sided with the person
who had more experience.

~~~
nemo
"My experience with 40+ year olds is that they tend to sacrifice user
experience/security for what they know."

I'm sure there are some people who don't expand, though I am in my 40s and am
constantly pressing for the best UX possible for customers. I've suffered
enough with bad UX, I won't go along with inflicting that on anyone no matter
how challenging it might be to fix. On the other hand I am (almost) always
grateful for people pointing out bugs in things I write now, but used to be a
lot more insecure about it. A hit to the pride is nothing compared to the pain
of shipping something broken.

~~~
therealwill
"A hit to the pride is nothing compared to the pain of shipping something
broken."

Well said. This should be the golden rule of development. I feel that too
often we (both young and old) don't ask questions because we fear the
repercussions of appearing ignorant.

------
derrekl
I don't know a single software dev over 40 who isn't employed, and I know many
that age. None of them had to change fields. Some are managers, but most are
"senior" devs. Many of these guys have been programming internet technologies
since the later 90's.

It seems in the places I've lived (LA, DC) the salaries are pretty squashed
together after 5 years experience. Basically anyone with that experience is
getting a similar pay check +/\- 15%. For many after 28 you are close to being
maxed on your pay which would put you in the same spot this article plops the
40 year olds.

~~~
LoSboccacc
pay squash is why you should get out of field. engineering is the new
proletariat, working at companies that rake in millions for pennies, while all
managers above you get twice your pay just by organizing your time.

~~~
flexie
Engineering is certainly not a proletariat. Engineers make more money than
most professions and have more interesting jobs as well as lots of respect
from other professions (I am not an engineer and I can tell you lots of people
admire engineers). Also, many professions experience "pay squash".

It's a myth that most managers make much more than programmers and that they
"just" organize your time. Let's have a little bit of respect, not just for
our own professions, but also for the people we work with.

~~~
LoSboccacc
not when compared to all other profession that require a degree, constant
lerning and are higly specialized (each enginering branch is not
interchangeable, as well as within the same branch specializing in one area
reduces your employment prospects in others)

also, the majority of managers are not the one that are in charge, taking
decisions, managing risks and settings directions; middle managers types are
way more common. and I do respect those of them that work well, but they are
so hard to find that I'll stand by the 'most' in 'just organize things'.

~~~
TheCoelacanth
What professions would those be? Law and medicine are probably the two most
people are thinking of.

Law does pay more for very successful people, but at the median it actually
pays less.

Doctors do get paid more, but they also spend a much longer time in training.
The amount of time that most engineers spend in training is more in line with
the amount of time that PAs spend in training.

------
tptacek
Don't specialize in things that depreciate as rapidly as programming
languages! C++ experience is quickly getting less relevant over time, but
stochastic calculus, digital signal processing, machine learning, and
distributed systems aren't. Some of those specialties get _more_ valuable; in
fact, sometimes, the forces that make things like C++ less valuable actually
clear the way for things like distributed systems to become more valuable.

I was allowed to offer only a single bit of career advice, that'd be what I'd
say: _don 't specialize in programming languages_. They're a trap!

(But then, I'm not quite 40 yet, so I could be wrong).

~~~
crdoconnor
>Don't specialize in things that depreciate as rapidly as programming
languages

C has been around since 1972 and is just as relevant as ever even as the
popularity of C++ wanes. Python has been around since 1991 and is growing in
popularity.

There is a trick to figuring out which technologies will stick around for the
long haul, and it is one which most developers don't even think to try and
hone.

My career advice would not be to not specialize in programming languages but
to learn to distinguish programming _trends_ from programming _fashions_ and
invest (with training/picking the right job, etc.) accordingly.

I doubt there is going to be much call for people with experience in Mongo in
5-7 years' time, for instance, but Postgres? Hell yeah. I predict increased
demand for F#, too, but not so much for, say, Java (even though it won't go
away).

~~~
tptacek
I am a C programmer. C is my first language. I have shipped C code. I'm pretty
sure I've _literally_ shipped C code, in shrink-wrapped boxes. I took my kids
to the museum today and hung out in the cafe pushing commits while they
wandered around. What was I hacking on? _A C compiler_.

C is less relevant now than it was in 1996. _A lot less relevant_. Way, way,
way less relevant. In 1996, most serious software was written in C. Today,
only a tiny fraction of it is.

~~~
crdoconnor
I don't really see anything else that has taken its crown for systems
programming.

~~~
yoklov
C++ in a lot of places. And systems programming is a much smaller niche now
than it used to be.

------
therealwill
Or plan C. For younger engineers start thinking about financial independence.
Software Engineers enjoy a high starting salary and an even higher mid career
salary so it is entirely possible to achieve financial independence in your
30s-40s with a frugal lifestyle and smart investing.

~~~
brianwawok
Mr Money Mustache for the win!

~~~
UK-AL
The problem I have money Mustache is that he doesn't value time that much.

He advocates doing things yourself, DIY etc.

If you can pay someone less to do something than you could earn in the same
amount of time. Its better to outsource those tasks.

~~~
brianwawok
Ya it is hard to say. From his POV - he is already "retired", so he has tons
of time available and if doing things himself limits his expenses - win win.

For someone who is busy working.. it depends. If you get a salary to work 40h
a week... does hiring a poolboy for $20 an hour instead of cleaning your own
pool for a self-declared time worth of $50 an hour make sense? I am not sure.
If you are consulting and your choices are bill 45h and have a poolboy, or
bill 40h and have your own poolboy... then the logic is much more in favor of
outsourcing your tasks.

The other trick is how much do some things really cost? I know to pay someone
to put brakes on my car, I would pay the equivalent of $100-$200 an hour. For
$100-$200 an hour, I will gladly crawl under my car and get dirty!

------
sklivvz1971
Age has got nothing to do with programming. Ageism is just a bias (or fear)
that some people have of losing their talent or skills.

Trust me, it doesn't happen.

What happens, instead, is that people get bored, or stop coding and lose the
skills they don't practice, or get offered better paid jobs in management,
etc.

Years back, maybe programming didn't have much to offer in terms of personal
growth, I don't know. It's certainly not the case today -- I see people
growing into better and better programmers, more rewarded, but also more
interested, as time goes by.

Most companies you actually want to work for don't care about your age. If
they do, is because they are just going to use you (like, code for 80 hours
because you don't have a family and don't know any better...)

Now -- the _real_ problem is that most people in programming really have no
aptitude, skill or passion for it, and _should_ at some point get out... but
that's just me being an old fart ;-)

------
eranation
I think it depends a lot on the industry, a young SF based Rails / Django /
based startup? I hardly see them hiring a 40 years old with kids that will ask
for a salary higher than the CEO. A front end UI developer with knowledge of
the latest Ember / Anguler / React / whatever they come up with next front-end
tech? Perhaps they are more likely to find a fresh graduate (or just a self
taught hacker who just rocks at HTML CSS and JavaScript) that is in their
early 20's

But in big companies (Amazon, Google, Twitter) in enterprise software
companies, banks, medical tech, finance, I think it's not that uncommon to
find 40 year old developers. Most of the developers in my company average at
way above 30. And we have a couple of engineers above 50. All of them are
pretty kick ass Java developers and they all get tons of unsolicited recruiter
spam. (Maybe I'm delusional or in denial, or perhaps this is just the
difference between industries, but I think that if you WANT to still do it
while you are 40, and you keep yourself sharp, just like doctors have to keep
up every year with the latest developments in medical research to stay
relevant, then I think you can do it till you retire)

I think the reason many drop out of coding is that it is very time consuming
to keep up, and some may want sometimes a less mentally demanding daily
routine. Managing a team of engineers can be tough, but it's somewhat less
mentally and intellectually strenuous and energy hungry as coding. Coding
takes a lot of focus and sharpness, and sometimes it's simply hard grunt work,
people sometimes get tired of it and want to move on to management (or being a
"solution architect") or even product management.

I think the problem is that the 40 year olds chose on their own to do less
coding at some point, and more management / IT / architecture. (e.g. the less
good developers, those who don't pass the sort from 100 to 1 but still manage
to land a job, eventually understand it's not for them and move on to other,
not less important roles)

~~~
greenyoda
_" I hardly see them hiring a 40 years old with kids that will ask for a
salary higher than the CEO."_

This preconceived notion that a manager or CEO must earn more than their
employees doesn't make much sense. It's just a status game. If that developer
(regardless of their age) has skills and experience that the company needs,
and those skills are harder to find in the job market than management skills,
it makes sense to pay them a higher salary.

Nobody questions the fact that baseball players and movie stars and investment
bankers are paid several times more than the president of the U.S., so why
shouldn't developers who are in high demand be able to make more than a CEO?

~~~
sukilot
The president is the highest paid person in government, though.

But baseball players are paid more than managers.

------
bcg1
Are there really people out there who actually believe that programmers are
washed up by the time they hit 30?

I'm not kidding... do people really believe this? I always thought that was a
fairy tale that employers tell to still-wet-behind-the-ears kids in order to
pump up their egos so that they work untenable hours for meager pay

~~~
jkot
Yes, it has nothing to do with productivity but definitions. After 30
programmers see more options and its harder to keep them as cubicle/hipster
drone.

------
czep
42, happily but anxiously still coding. What most disturbs me about the ageism
debate is that so many young programmers believe it is right, natural, and
inevitable to assume that older programmers should be cast aside. It is an odd
form of false consciousness that so many of us believe in our 20s that we will
be retired before 30. Someone mentioned Barrett's quote astonished that
"clueless management" would treat programmers' careers like those of
professional atheletes. But how clueless is it really, when so many of us
think the exact same way?

We all think we're going to be the lucky ones to strike it rich, all it takes
is hard work and our natural talent and voila, $100M exit. Then, you reach
mid-life, and still want to write code, how do you feel now about your
youthful cavalier attitude?

If I could travel back in time 20 years and tell myself "dude, someday you'll
be my age too!" I probably wouldn't have done anything differently, but it
would be a serious boost to the humility of our young brethren for them to
realize that they too will be in our shoes one day--a day that comes far too
soon.

The thing is, I am actually one of the lucky ones. I could retire now and
never work another day. Sure I don't have a private jet or a house in
Atherton, but I have the freedom to walk away from anything and not worry
about money. It's liberating, but I certainly don't want to stop. I love
programming! I want to keep working. And based on the sentiments of those
around me, and the nice paycheck I command, it's clear I still have a lot to
contribute to this economy before I'm put out to pasture. But I would like a
less toxic enviroment. Fortunately I don't encounter many clueless managers
these days. I simply don't work for organizations where decisions would be
made to hire youth just to save a few bucks. But I still encounter the young
bucks who think I'm too expensive and simply there to steal their thunder and
take credit for everything. Just remember kids, someday you will be just like
me, if you're lucky.

We have so little time, don't waste any of it comparing yourself to others--
young or old. Treat every day as a competition with yourself... to end the day
a little bit smarter, a little wiser, a little bit more humble than you were
when the day started.

------
tluyben2
I'm always surprised how timid programmers are; I have a very big mouth and I
am very confident about my abilities. That alone seems to get me into anything
I want even if I was bullshitting (which i'm not). So people who are far
better than me at what they do as software engineer should have no problems at
all. However most of who I meet and interview are timid and not very
confident. Programmers in general really undersell themselves; even if they
did great stuff, they will wind it down to things like 'I built some software
which gets input from workout machines' vs 'I wrote an embedded OS and
optimized (32kb it has to process the data!) analytics software which runs on
most of the machines in YOUR favorite gym'. Or 'I did a C++ fast cgi
e-commerce backend for an auction site' vs 'I wrote the backend for an auction
site doing 400 million euros of transactions a year with millions of pageviews
per month'. When you get above the 'junior programmer' people want to hear
what you can 'get done' not some tech details of something which sounds like
you just came from uni. I think a lot of people underestimate how much people
will rely on them once they are seniors and if they don't have that air, why
would anyone hire?

All programmers above 40 (and 50) who are not afraid to sell themselves are
employed (and/or wealthy); the timid ones sometimes are but mostly are not;
they complain that no-one wants to hire them. I don't think that's different
in any other profession to be honest at that age.

------
Afforess
I see no one else has mentioned another, even more obvious solution. _Retire_.

With the sky-high salaries it is possible to earn as a software engineer, it
should be straightforward (not easy, but still straightforward nonetheless),
to save enough to retire at the age of 40. After which, you can spend your
remaining time as you see fit, working on personal projects or any other hobby
that suits your fancy.

This is the route I am taking.

~~~
siberianbear
It's possible. I did it. I am 43 and I retired when I was 40. I lived frugally
in Silicon Valley and saved and consistently invested more than half of my
income.

It was a decision I made when I was 23. I remember doing a spreadsheet at that
time to plan it all out. This was back before there were good references on
how to plan it out. Some of my assumptions were a bit off, but I got there in
the end.

~~~
misteredison12
Can you give more details on your story? I'm particularly interested in how
much you needed to retire, and how you've set everything up to make yourself
comfortable that you won't run out of money.

~~~
siberianbear
This subject has been researched in great detail. There's lots of great
information all over the Internet. I recommend these two blogs if you want to
learn more:

[http://earlyretirementextreme.com/](http://earlyretirementextreme.com/)

[http://www.mrmoneymustache.com/](http://www.mrmoneymustache.com/)

The TL;DR is this: you need to be able to live off about 3.5% of your
portfolio for one year. That will allow you to avoid depleting your principal
over a very long term, and also give yourself an inflation-adjusted raise
every year so you maintain your spending power. Often people quote a “4%”
rule, but I think it’s meant for people that retire at a more “normal” time in
their lives. The extra 0.5% actually makes a big difference in the probability
that your portfolio can fail.

So, if you have a million dollars, you need to live off $35K a year.

If you’re willing to really change your lifestyle, you can retire off $500K,
which would give you $17K a year. It doesn’t sound like much in Silicon
Valley, but that will put you in the top tier of income in a place like the
Philippines.

I don’t want to post my own net worth because it might come across as chest-
beating. I’ve been living in a few places that are a lot cheaper than the
United States, so my expenses are low. Over the last three years I’ve been
averaging living off slightly less than 2% of my net worth annually. So, I’m
REALLY safe by the “3.5% rule”. My net worth is higher than when I retired.

I’m enjoying my life. Every day is a clean slate. There is nowhere that I have
to be at two o’clock on a Tuesday afternoon. I can read or take a walk, go to
the gym, or tinker with some computer language. I like this life. I sure hope
I did all the math right, because if I have to back to a cubicle in Silicon
Valley it’s going to be REALLY painful for me. No amount of free sushi by your
employer is enough to compensate you for your lack of freedom.

~~~
scalesolved
That sounds fantastic, I'd love to read a more in depth blog post about this!

~~~
Two9A
The reference blog post from Mr Money Mustache is:
[http://www.mrmoneymustache.com/2012/01/13/the-shockingly-
sim...](http://www.mrmoneymustache.com/2012/01/13/the-shockingly-simple-math-
behind-early-retirement/)

Essentially, your income in retirement should not be dictated by your current
income, but by your current level of expenses. If you can save a multiple of
your current annual expenses, and that multiple is high enough to account for
real-terms investment gains, you're financially independent: you don't need to
work any more.

The number generally used is 25x, which corresponds to real-terms gains of 4%
per year on your savings.

~~~
siberianbear
@wsstrange:

The S&P 500 is 50% above its 2008 peak on May 8, 2008.[1] That's a 5% annual
compounded return ((210/140)^(1/7)). And that's using the 2008 peak: if I use
the lowest price from 2008 (in December), your return would have been 8.8%
annually. Inflation (at least in USD) has been benign during this period, so
probably there has been a real 4% return during that period. I don't know how
you concluded that you didn't get a 4% real return during this period.

If you look at the stock market over any short-term (<15 years) it will be
quite volatile. Over very long periods it is more regular. If you're investing
in the stock market, you must take a very long time horizon.

If you really want to understand this topic in more details and whether your
portfolio is likely to fail over some period of time, I encourage you to play
with FireCalc [2].

[1] [http://tinyurl.com/poz7trc](http://tinyurl.com/poz7trc) [2]
[http://www.firecalc.com/](http://www.firecalc.com/)

------
WhitneyLand
This article is wrong on the facts, but more dangerously offers wrong advice
on life choices.

23 years ago, when I was 23 years old, I actually posted a Usenet question on
this topic (archived somewhere?) asking where were all of the "old"
programmers?

First off, people don't decpreciate, skill sets do. Of course someone making a
high salary will be undesirable if their skills stay the same and become
commoditized or less relevant. But the same would be true of a young person
with the same salary/skills. Every time this happens the challenge becomes
finding the next niche that is valuable, and that you like enough to devote
lots of time to.

Secondly, a lot of older folks get siphoned off to management voluntarily.
This can happen when a company doesn't have equal career ladders for tech and
management. At good software companies you can advance as individual
contributor up to a VP level, while other companies force a switch to
management to continue progressing. And of course a few are natural leaders of
people who want run a group, or try a cross functional gig. Some feel it's
more prestigious to be director of whatever dept.

On age discrimination in tech, I hear about it anecdotaly, but haven't yet
perceived it happening to me. Maybe it's just too early to notice, or maybe
there will always be some people in tech who want to work with the best team
possible regardless of age? Would I hire an 80 year old developer? They'd get
the same questions as any 25 year old. Show me the code you've written over
the last year. Shoe me how you communicate complex concepts in simple ways.
Are you a dick to work with?

On being too expensive, the reality is there is an effective salary cap for
everyone which is a function of company, role, skills, location, etc. You need
to know what the cap is and realize if a company balks at going over it then
it may have nothing to do with age. The calculus is what it is, older people
are just more likely to hit the caps first.

Finally I must disagree with the comments I see about young people being less
capable. Yes, experience is irreplaceable in certain contexts. However more
often I notice the people doing really great work are a special minority of
individuals that just have the right combination of smarts, drive, maturity,
flexibility, luck, etc.

I'll try to remember to follow up on this post in another 23 years to discuss
what has changed.

------
maerF0x0
i'd suggest that intelligent employers realize that the language and stack are
only a very small part of building a product. The more interesting problems
are hard not due to language, but due to algorithms, data structuring, design
patters and general architecting et al.

The 10yr C++ programmer ought to have those things nailed, the junior may not
know they even exist.

~~~
codeonfire
that's a good suggestion. it will fall on deaf ears because employers don't
read anything on the Internet and they hate engineers, especially old ones.
they can't get basic things like don't sexually harass employees right, so how
are they going to get age discrimination right.

~~~
maerF0x0
You sound burned out by bad employers. Come to the bay area, good ones are
legion.

------
asuffield
I don't buy it. There are people of all ages on my team, and the same has been
true at several other jobs I've had in the past few years. There is not even a
particularly strong correlation between age and seniority.

My second observation is that in all the jobs I've had where this was not
true, the company has not been particularly successful in the long run. It's
unclear whether this is related, but it's interesting.

However, I can come up with an alternative statement that may be a better
explanation of what some people seem to observe: if you are not a really good
engineer by the time you turn 40, and you expect to be paid based on your
"years of experience", get a plan B.

------
pistle
Ehhhh. I'm 40+ and I've never had so many opportunities. Then again, I love
this stuff, so it's not really work to keep up. I still love the shiny new
thing, and my ramp-up is faster since I've seen most of it before. It's just
another language, platform, what-have-you. I worry more about the income
plateau. I wouldn't leave because I'm tired, slow, or specialized. I'd leave
because the market wouldn't bear my rate growth.

------
buf
Some of the best software engineers that I know are 40. Thanks for the advice,
but it seems to generalize.

~~~
eldavido
In most software jobs, it's impossible to directly quantify value-added. So
the engineer's salary is 100% determined by your employer's (or by proxy,
manager's) opinion of how much value you add.

And those opinions are quite locally specific. In my current place, we value
age and experience perhaps more than many other shops in SV. So you're right,
I think it doesn't "generalize", it depends on one's work culture.

------
tragic
I always find these discussions kind of odd, because there seems to be an
unspoken assumption that the world is divided into 20yo CS grads and 40+
greybeards. The truth is that a lot of people get into software outside that
track nowadays. Their initial ambition either becomes obviously unrealistic or
increasingly unattractive[0]. Hence the phenomenon of boot camps, etc.

I'm sure there are people who do twelve weeks of ultra intensive rails and
think they're Dijkstra incarnate, of course, but most of us who came to
development, as it were, sideways do not exhibit that kind of attitude. We
respect our elders.

I have no idea what it's like in the valley start up scene, but certainly in
London I see very little buggering about of senior engineers: nevermind people
considering me basically past it at the row old age of, er, 28.

[0] this was me in 2010:
[https://m.youtube.com/watch?v=obTNwPJvOI8](https://m.youtube.com/watch?v=obTNwPJvOI8)

------
fierycatnet
After reading stuff like this I never know what to think. I am 28 and just
getting started. I hope to land my first developer position by the end of the
year. So what am I to make of it? By the time I am competent enough I will be
expendable? I am not discouraged but articles like these don't make sense to
me. Almost everywhere I look and in every aspect of my life I am always
"behind" and I don't feel like it but everybody is telling me I am...

~~~
bikamonki
A programmer will never ever ever ever be expendable, in fact, demand for
programmers just grows everyday and we _just_ started wiring the Internet on
things. I am 40, I just had my first kid, I do not have a ton of karma in HN
;) You are never behind, just follow your own path...

------
danieltillett
I only became a semi-fulltime developer after 40, but I have the advantage of
working for myself and 20 years of non- software domain experience. I think
the key to developer longevity is having other skills so that once your
percieved value as a developer declines you have other skills to fall back on.

------
dmcg
I really didn't see any issues other than day-rate-compression through my 40s.
Now I'm nearing 50 my memory definitely isn't what it used to be, but my
expression in code is improving to compensate.

I feel that my influence and ability to drive good outcomes gets better as I
learn more about myself, but the nurses here are telling me to go back to bed,
so I'll have to turn off this computer thing now.

------
sbt
I personally hate working in a monoculture, whether it's all males or all
20-somethings. There's just inherent value in having diversity in all
dimensions, otherwise the workplace turns into a military barrack.

------
bdcravens
Turn 38 on Monday. I turn down work regularly (and I've been guilty at times
of not turning down _enough_ work). At the same time, I look much younger than
I am (I get carded regularly), wear mostly conference t-shirts and hoodies,
wear "hipsterish" glasses, and have a stickered-up MBP, so maybe I fit a
stereotype not becoming of my age.

------
_pmf_
Here's a plan: move outside the Silicon Valley circle jerk. You won't get a
ridiculous superstar salary, but you get the chance of working on actual
products instead of throwaway MVPs.

~~~
czep
This is a worthwhile consideration for all of us. I do think it's helpful for
your career development, socialization, skill and salary advancement, to spend
some time in the "Capitol" of SV. But leaving before it burns you out is also
something to keep in mind.

I actually moved here not if my own accord, but following my spouse (who isn't
in a tech field). Luckily her career is very stable, but even with 2 fat
incomes, the cost-benefit ratio of SV life is a difficult proposition.

There are lots of good jobs to be had in smaller markets, and with less
douchery comes a bit more humanity and respect for people and their skills.

------
arh68
I call shenanigans on the original NYT article.

 _According to a survey conducted by the National Science Foundation and the
Census Bureau, six 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._

What they fail to talk about is the 7 different occupations similar to
'computer programmer'. Are you a _Computer scientists and systems analyst_? Or
a Network and computer systems administrator? Is your job title _Computer
software engineer_? Maybe you're a Electrical/electronic engineer or a
Computer hardware engineer? Then you are not a Computer Programmer.

NYT cherry picked one occupation of many. If you're 40 and you've migrated job
titles past _Programmer_ , you contribute to this 'rampant ageism'.

------
diminoten
Software development as a profession hasn't been around for long enough to
draw any generational conclusions from.

------
kephra
I sometimes think, that the reason for this age discrimination was the switch
from female to male coders in the early 80s. It was that sudden break, that
introduced the computer kid as a replacement of the former cheap female
workforce, and made the highly payed former system architect obsolete, as
nobody had a use for a programmer anymore, who needs a secretary for typing,
in the modern time of personal computers. Some of them moved to management,
just renaming their job position.

So the gender discrimination of cheap female coder vs expensive male system
architect switched into an age discrimination between cheap young coders, and
expensive managers.

We lost both the skilled and the female coders in this way.

------
devonkim
I'm giving an offer to someone about as old as my father (over 52 easily)
because he shows interest in the subject I need code written in, has proven
shipped projects with success over decades, and is reasonably competent at the
details. My employer is not a Bay Area company though and we are not trying to
crank out code on a relentless mission like most are - we're looking for
something a bit slower paced, thoughtful, and more "right amount of effort"
for fairly simple tasks that I've found require some real world experience to
get right. As a result, we're actually biased against younger employees if
anything, not the other way around.

------
mournit
This uncertainty is one of the things that drives me towards getting a CS PhD
and ultimately a research position rather than becoming a software engineer.
Older researchers are very common in CS-related fields, both in industry and
academia.

~~~
chrisbennet
I would do more research on that premise before committing to getting a PhD...

------
scottwhudson
Working in the Austin startup scene, I definitely get a sense that this is an
issue amongst younger companies. However, I look at my father who's now with a
massive merchant software company and there's not a single person in his
division under the age of 40 (a lot of these guys are maintaining legacy
mainframes, etc.)

About a year ago, the company realized that they're SOL with a n aging
employee base and no one coming in to replace them once they retire. He's
always argued that larger companies will come calling once the boomers are
out, but I shutter at the thought of having to learn COBOL.

~~~
brianwawok
I had to learn a tiny tiny bit of COBOL to help transition some mainframe code
from COBOL -> Java. If you are just reading it to gut the program, not a huge
deal. You can play with the inputs and outputs and verify your work.

Now having to learn COBOL to maintain it? That seems not fun. A simple change
can take days...

------
nfriedly
My plan B is to semi-retire. I expect that I'll still work some, but starting
somewhere around 40-50 I plan to cut back to part-time (or perhaps stints of
full-time intermingled with multi-month vacations) and become more picky about
what I choose to work on.

Assuming I never get another raise in my life, I'm on track to have my house
paid off before I hit 35, and $500k+ in the bank by age 40. (The better
portion of that will be locked in a 401k until I'm 60, but my wife and I have
also been maxing out Roth IRAs and that money will be available to retire on
whenever we want it.)

------
josephagoss
I'm not a fan of this plan B stuff when you're 40.

Where is the plan B for doctors? Where is the plan B for Lawyers? Why do these
other professionals have respect in the their old age and not us software
engineers/programmers?

How depressing.

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

And I still don't get this. Move out of software and you'll find loads of over
40's and over 50's engineers. Here in Perth I know loads of older engineers,
that are given dignity and respect along with their peers in Medicine and Law.

This plan B stuff is because of the culture that surrounds programmers. If
there is any plan B, it is to maybe start admitting that older programmers
might actually be useful and worthwhile for employment, much like every other
white collar profession.

It's true that a 40 year old might not be able to work as many hours as a 20
year old, but that doesn't mean each hour is worth the same. At 40, you'd hope
that the older programmers hours put in are more considered with all their
experience and are most certainly worth it.

The same goes for older Lawyers and older doctors, they might not be as
energetic as 20 year olds, but with all that experience to make that much more
of an informed decision, it certainly means the older generation can compete.

This is a culture issue.

> Software engineering reliably undergoes a major technology shift at least
> every 10 years.

I doubt any shift invalidates real fundamental knowledge. Sure if your entire
career has only been a couple of languages with very little algorithm theory,
then true, but that's because you never studied the subject, on your own or
formally, that isn't because you're 40.

For example, Doctors and Lawyers have to have the fundamentals down, it's very
important. I guess it's true that not enough programmers have the fundamentals
down and that is an issue.

But if you're 40 and have training in the fundamentals such as algorithms and
design before even hitting the code, you should easily be able to adapt.

> The more irrelevant experience a candidate has, the more lopsided the
> utility/value equation becomes

Again this is a HR issue. A software engineer/programmer that starts their
work from the design and algorithm level should be able to pick up a new
language in a couple of weeks. This issue is mainly with the way we hire
programmers not with the programmers themselves.

It's like the job ad for 10 years experience in Node.js when Node.js was 3
years old. Just because HR are clueless doesn't mean we need to all start
changing our careers.

If you want my advice, it's learn that knowing people is as important (or
more!) than what you know.

If you build up your career around being an expert and networking, you will be
in a better position than the expert who knows no one.

~~~
crdoconnor
>Where is the plan B for doctors? Where is the plan B for Lawyers? Why do
these other professionals have respect in the their old age and not us
software engineers/programmers?

They have unions.

Doctors and lawyers also have strong protections from foreign competition. It
simply doesn't matter if you are the best doctor or lawyer if you trained
outside of the United States. You won't be allowed to practise until you
qualify in the US.

------
RomanPushkin
Best advice: build your shit.

No matter how much time it takes, 1 year, 2, 3.

If it doesn't work and you don't earn enough, build your shit.

During your career you'll be able to build 3-5 relatively big projects. And
about 10-30 small projects and ideas.

And if you're lucky enough, you won't worry about that anymore.

I earned x3 salary 5 years ago. I had freedom, and I could work 5-10 hours a
week. But finally my project has failed. Lesson learned. Now I'm far behind
these figures.

But I keep on trying building shit. Hopefully, I'll be able to turn it to
successful business one day.

~~~
MCRed
Please describe the "shit" you would like us to build. I'm asking seriously.

Are you saying we should build a big open source project like Angular or
Rails? What are the odds that either of us could build the next Rails though?
So are you saying that even if it "fails" and it doesn't displace rails that
this is good for your career?

Basically could you explain what you're trying got convey in really concrete
terms?

I'm not disagreeing with you, I think you might be onto something or have a
useful perspective, I'm just not sure what you're really saying.

~~~
RomanPushkin
I'm talking about your own SaaS projects. It's relatively easy to build
something on your own, if you're developer. Some kind of tool for business.
When you can charge monthly for your product.

Even a very busy person like me can find ~1-2 hours daily for development, and
you can think about how to implement what you want in car, bart, on the way
home, etc.

------
japhyr
I just had dinner with two other devs tonight I randomly met at PyCon. Both of
them do contract work, and have to turn away work. Neither of them ever
specialized in any particular language; they both just focused on using code
to solve problems.

There's always going to be a need for people who can walk in to a new
situation, diagnose what's going well and what needs to be fixed, and carry
that out.

------
acd
One needs to implement life long learning! We are working in a field where
there is exponential growth in computing, networking and storage and what
computers can do. The robot automation artificial intelligence age are coming!
Ordering food will be automated, cooking food will be automated, the post
office will be automated. Shopping will to a large extent be automated, there
will be 3D models of your body captured by your cell phone or 3D scanner
booth. When you enter the shopping mart of the future, the food will come to
you, you will not pick it up unless you want to. Why use a shopping cart when
you can have a robotic picker do the work for you?

That said I see different things in different people getting older. Some
people like life long learning, they will not have an issue finding jobs. Some
people stagnate in their internal development after college, they use the same
programming languages and tools as they did several years back. They are
probably more in danger of getting obsolete by new tech. I think there is
danger in your career path if you stagnate as a growth as a person. This will
get worse the older you get unless you change.

With years of experience you will also realize that there is fashion in
programmer tool chains, it's not necessarily that Javascript is better than
say Ruby or Python but it sure is in fashion. Same can be said about NoSQL
tech such as MongoDB it is not per say better than sharded MySQL and Postgres
but you should still learn it because your younger peers will like it. I like
to learn new stuff so I follow along. This also covers fashion in Javascript
libraries such as AngularJS and React, there will something greener in the
library field down the line I'm sure of it.

Love to learn! If programming is anything like martial arts you will just get
better and more skilled with age, take and go the new tech coming in.

------
Bouncingsoul1
I don't want to go into managment or consulting, I love being a developer.
There is just this misconception that companies think it is a reward for you
to put you there. "Hey this guy is really good at developing software, you
know what we should do, stop him from writing code and sit him in meetings
with stupid people until he becomes one himself"

------
erikpukinskis
Yes, how tragic that someone might have to suffer the indignity of earning a
measly $80,000 a year.

------
henrik_w
"While a technology shift doesn’t completely negate the skills of veterans, it
certainly levels the playing field for recent grads."

In my opinion, a technology shift (new language, platforms, methodology,
paradigm or whatever), doesn't come close to negate the skills you have
aquired. In general, I think people underestimate how much of programming that
is still the same. I wrote more about it in "Programmer Knowledge"
[http://henrikwarne.com/2014/12/15/programmer-
knowledge/](http://henrikwarne.com/2014/12/15/programmer-knowledge/)

------
codecamper
60 something... they made the first PCs! 50 something... First PC OSs and
compilers. 40 something... created the first web browsers, and founded the
biggest, longest lasting Internet companies. Had to deal with C, slow
computers, crazy memory mapping, OSes that crash. 30 something... started
Facebook, wrote mobile apps, created hundreds of more narrowly focused
internet companies using pre-existing tools. 20 something... hack PHP, ruby,
js to create sites that deliver stuff to you. Utilize heaps of VC cash. The
book is still open what they'll accomplish.

------
jroseattle
Before we talk Plan B, let's talk Plan A. The article equates age (and
obsolescence) to Plan A. This is incorrect. Age is not a plan.

Plan A is continually improving your skills. Breadth and depth. Know one thing
fairly well? Become excellent at it. Is there something way outside your
wheelhouse? Get closer to it.

You can't do everything, but chances are there is _something_ you can do to
improve your overall skill set. The great thing about Plan A is that age has
nothing to do with it. It's a personal choice that you control.

------
xedarius
Not sure I add much worth to the view portrayed by this article.

However, as you progress in your career become a specialist in a particular
field. Avoid becoming a general programmer. So far I've had two programming
careers, the first was a games programmer, a very specialised area. The
current is building high performance trading system in the financial sector.
These are both very liquid and specialised area.

This will increase the likelihood of you being in demand, and afford you the
luxury of options.

~~~
dominotw
>However, as you progress in your career become a specialist in a particular
field.

It's hard to predict the lifetime of the field you are planning to become an
expert in.

------
yawz
We work in a, relatively speaking, very young industry. It's very hard to draw
conclusions by looking back at 20 years ago. Being in a young and highly-
demanded industry pushes a lot of us into managerial positions earlier than
normal. But essentially, I believe that a developer's age doesn't matter if
he/she doesn't stop learning.

------
PhasmaFelis
I get the impression that this varies considerably with the local tech
culture. Apologies for making this about me, but has anyone encountered this
problem in the Seattle tech market? I'm 36 now, and I'm thinking of moving
there sometime soon. As a coder/sysadmin/general tech guy, is this something I
should actually be worried about?

------
drawkbox
Learn, or continue to learn, to make great products through quality work,
consistent delivery and worry about nothing.

By 40, there should be some success or direction into side projects that might
become the main thing.

Quality product designers, architects and engineers that can deliver great
products will be in demand until the end of time.

------
loocsinus
Sadly my plan B was a change of career completely after 30. Not proud, but at
least I code for fun now.

------
kinix
Is contracting not a viable alternative? At 40 I'd assume enough experience to
be able to lend yourself to any struggling project that needs a talent
injection?

------
SQL2219
If only there was a physical challenge during the hiring process, then this
geezer would be a shoe-in! Arm wrestling, 3 mile run, pull-up challenge
anyone?

------
cheriot
> Software engineering reliably undergoes a major technology shift at least
> every 10 years.

From web to mobile? What was the tough bridge to cross in the last 10 years?

~~~
nostrademons
Yes, web to mobile. Native mobile development is a _hugely_ different beast
from web programming, just as web development was a huge shift from desktop
GUIs in 2000, desktop GUIs were a huge shift from DOS and other microcomputers
in 1990, microcomputers were a huge shift from UNIX and VMS and other
timesharing OSes in 1980, and timesharing OSes were a huge shift from batch-
processing on IBM & other mainframes in 1970.

~~~
buyx
It's interesting that you say the transition has happened between web and
mobile, because of a lot of people I know are getting up to speed in HTML 5,
and are betting the next few phase of their careers on it. Maybe it's because
South Africa is a few years behind the curve, but is there evidence that the
share of web-based jobs is declining enough to be concerning, in the first
world?

~~~
nostrademons
The interesting thing about waves of technology disruption is there is usually
more than one wave in play at a time, and so a technology can both be
disrupting _and_ disrupted. The web was invented in 1989, popularized in 1995,
and arguably the point where people realized "Hey, desktop apps are in
trouble" was around 2004 when GMail and Google Maps came out. Even so, Dropbox
was founded in 2007 as a desktop software company, and that hasn't stopped
them from being worth a few billion.

Mobile apps were invented in the 1990s (Newton, Palm), popularized in 2008,
and (at least in Silicon Valley) it's a big topic of debate whether the web is
dead. In my old job - Google Search - I was still pretty secure as a web guru.
In my new job - startup founder - I feel that I at least have to do my due
diligence and evaluate the technology.

Whether it's a problem for your career depends on exactly what you want to be
doing with your career. There are still people making a living off of COBOL
and IBM mainframes. In general, consumer markets peak about 5 years after the
technology is introduced to the general public (so microcomputer apps came
into their own around 1980 with Visicalc, windowing apps around 1990 with
MSWord and various office suites, webapps around 2000 with Google etc, mobile
just starting to peak now with Uber/Instacart/etc.) If you're founding a
startup you need to account for the time it takes to build your product, so in
general you want to use technologies not more than 2 years old. If you're
working at a company you _don 't_ want to use technologies until the companies
that have adopted them have gotten big, so it's frequently 10 years or so
after adoption.

------
notinreallife
I'm fucked

------
mattschmulen
FML I turn 40 in May ... And your right it's time to man up and honor alone

------
wedesoft
It helps to focus on the fundamentals. These change very slowly.

------
michaelochurch
_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._

I can explain this. It's a very old idea. The truth about the young hires is
that they're cheap and the work they do isn't very important, but they're
hired based on the potential to rise a level or few.

From an executive perspective, you don't hire juniors for the work they'll do,
because it's usually not of high impact of value. You hire based on the
probability that they'll be high-impact employees later. It's impossible to
predict this at the individual level, so you're building a portfolio.

Of course, in 2015, the one-company-for-life model is pretty much dead and
most people who get executive positions get them by job hopping at the first
sign of an obstacle. Likewise, companies invest very little in their junior
employees and tend to hire top-level talent from outside. So the biases from
the old days don't really make sense.

If someone's 40 and still a junior or mid-level engineer, the assumption is
that he's "too old" to become a high-impact employee in 5 years. It's
completely ridiculous, these days. He could have been doing something else,
like trying to make it as a novelist or working in a dive shop. It's a hold-
over from the employment-for-life, gold-watch era.

For the consultant, he's not selling himself on some hazy "future potential"
factor, so no one cares how old he is or (more relevantly) how old he'll be in
10 years.

Very few people actually think that young, junior programmers are more skilled
or better at their jobs than the 50+ badasses. The issue is that the young
juniors come with a 5% chance of being a high-impact, executive-level employee
in 10 years. Since the people making big decisions are executives who tend to
discount the importance of everyone but executives, this still matters... even
though the one-company-for-life model is pretty much dead.

------
marincounty
>This article is using information collated in 1998. >I have met a lot of
unemployed former Programmers though? >When I was younger I has no idea just
how fast 40 would come. One downturn cycle in the economy, and poof--you're
there? (I do believe our bubble is about to burst again?) >It does seem like
certain young individuals come up with the most original ideas.(Certain, not
all, and if you need to tell people about your brilliant ideas; your ideas
might be very unoriginal?) >When I was in my twenties, you couldn't pay me
enough to sit in front of a screen all day. I would crack one those 500 page
phone books, and want to puke. As I got older, my priorities changed, along
with my ability to study boring things. Yes, I said it. I find a lot of
computing boring, and very tedious. Ironic?

~~~
marincounty
I guess I am getting old. I am to lazy to reformat my comment. I thought >
would do it? Definetly don't hire

------
jackmaney
At 38, I'll admit that the general atmosphere of ageism in tech--whether real
or not--scares me a bit. I guess I can take solace in the fact that, as a Data
Scientist, I'm in a field that's too new to have rampant and widespread
ageism.

------
hellbanner
"You know what they do with engineers when they turn 40? They take them out
back and shoot them"

~~~
avz
Unless they invent time travel before that.

