

Older programmers are more knowledgeable, but harder to find - groundCode
http://www.itworld.com/it-management/354763/older-programmers-are-more-knowledgeable-harder-find?utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer&utm_content=buffer4642e

======
bane
When I was in my teens I could think of little more that I'd ever want to do
but program computers for a living.

Over the years I found myself presented with two possible upwardly mobile
career paths.

1) Stay programming: every year or two increment the Roman numeral after my
title until that got old, then start appending senior, principle or whatever
to it: Programmer, Programmer II, Programmer III, Programmer IV, Programmer V,
Senior Programmer, Principle Programmer, Principle Senior Programmer, etc.

Along the way I expected to learn the deep magic of the innermost workings of
these beguiling machines, to use them to bend the course of rivers of
electrons to my will.

2) Start managing programmers: Somewhere around Programmer III, turn into a
"Lead", then a "Manager", then a "Director", "then a Managing Director", then
a "VP", then an "President" then a "CTO".

Testing the waters for this career path showed me that it had little to do
with the technical stuff I was really interested in, and more to do with mind-
numbing bureaucracy and paper pushing. I stuck with option 1 for a few years.
It didn't last, I ended up in option 2.

In my experience there are things that conspire against older programmers:

\- The management trackers emphasized that they only had to learn their job
and learn it once, with refreshers every few years. Being a programmer for
your career means non-stop, life-long learning. This sounded awesome when I
was in my early 20s. It sucks when I got to my 30s. Spending all night
learning yet another framework for pushing bits out a network interface in
some language almost exactly like the last 8 languages I learned but with
slightly different libraries instead of going out and experiencing life, or
just chilling in front of the TV sucked hard. My friends on the management
track seemed to have unbelievable amounts of free-time. They constantly wanted
to chat about the latest TV show they watched, went to the Gym 4 times a week,
trained for marathons (dedicating hours each day), took cooking classes, spent
weekends out doing stuff...all at the same time while I was stuck at home
reading up on something. My free-time was stuck at about 30 minutes a day, and
all I wanted to do was turn off the world for that half hour. Looking forward,
there seemed no escape from this 7-day grind.

\- People think that anything that has electricity flowing through it is
something that you'll be an expert at. Before long the number of completely
different disciplines that you're expected to have some level of mastery is at
is bewildering. From telecom systems to embedded controllers to dozens of
complex third party libraries each requiring a Master's level understanding of
some non-software discipline like tax law or physics. Having the same
discussion for the tenth time a week, every week, that just because you're a
decent programmer, doesn't mean you have the domain expertise in everybody
else's domain. You end up feeling like, and often end up doing, everybody
else's work in every other department.

\- The money in the management track can be much better. Even if the base
salary at the same level isn't as good, you get opportunities for bonuses,
commission etc. In some companies you get travel opportunities and other perks
that are awesome as well. Travelling a week a month, with your company footing
three meals a day, saves you lots of money.

\- Your boss, who went management track, gets the credit from senior
management track for your work. If he's cool he'll pass it down. One guy I
worked for took that credit in the form of a fat bonus and bought himself a
40' boat. We got an email attachment showing us a picture of the boat he
bought with our work. A late addition to the team, who was brought in to build
the presentation slides our boss used during delivery of the software got a
small bonus and a promotion. Collectively our team put in 7 day weeks and 12
hour days for a couple months and got squat. That sucks going through it one
time, now imagine that happens every few years for the entirety of your
career.

\- If you end up in a company where software isn't the main focus of the
company, but a cost center. You feel like, and are often treated like, a
janitor. Sure you're a highly paid, highly educated janitor with multiple
degrees and an IQ that's at least the double of the room temperature in
whatever room you're in. But some new kid fresh out of his undergrad at
Harvard Business school will get hired into his first job as your boss and
will want to leave his "thumbprint" on his team by making sure all the
"clutter in the development pen is cleaned up". He'll be introduced to you as
a super sharp new hire who speaks 3 languages (you'll later find out not all
that well). He'll need you to reset his network password every two weeks
because he can't remember it, it's the only password he has to remember
anywhere in his life. And of course, when he fucks up, and some project plan
he wrote up wasn't correct, you get blamed since you're more "senior" than him
and should have been mentoring him in the copious free time you have between
deadlines.

\- It just simply gets harder to learn new stuff the older you get. It sounded
stupid to me when I was 20 and could pick up a new language in a week of off-
work study. I'm not even all that old yet and I can feel the gears in my brain
grinding to a halt. I finally understand the old greybeards stuck writing
COBOL for 30 years.

\- Along with that, the young kids come out of school knowing a lot more
that's relevant to _today's_ environment then you did. Your self directed
study may not cover lots of what they take for granted. I'm blown away by what
new grads are coming out of school knowing. You end up playing a game of catch
up, only as the game goes on, the hill you're running on gets steeper and you
become less able to run anyway.

I've met lots of old programmers outside of the field. Running bakeries,
renting scuba gear, selling cars, fixing motorcycles.

Tired of all this, and not wanting to go management track at that time, I did
a 10 year stint in another career.

While doing that I ended up at a startup, in a non-programmer job. A few years
later and some attrition from the top, I found myself helping out with
programming again, then helping out with sales, then with management until I
finally found myself running it. During all this, I realized that the boring
bureaucratic bits were _still_ boring, but that was only a small piece of what
was involved on that track. There's actually quite a bit of enjoyable
intellectual challenge involved in running all the bits and pieces of a
company. And it was true, after learning the basics of each piece, you really
don't have to study more.

Sure you have to read a lot, but it's more like keeping on top of what the
latest car models are instead of having to learn all about a new mode of
transport and how that works. It's car and driver instead of mechanical
engineering.

The main difference though is that it can be really stressful on the
management track if you care about it. There's an incredible amount riding on
your ability to organize a group of people to get something done, and you are
responsible for their paychecks and keeping them fed. You learn quickly how
limited your powers are, and how much you have to depend on the willingness of
your employees to do good work.

It's hard to say what anybody should do. But this is what I ended up doing. In
many ways I'm jealous of the old greybeards because in many ways they're
living the dream I always had. At least I think it's important to not make the
same mistakes my managers made with me.

~~~
SiVal
I've loved programming for decades. I've always wanted a computer that was
rugged and cheap and long-running enough that I could write code under a beach
umbrella the way others read cheap, blockbuster beach novels. My fantasy is to
hike miles out into the wild, unfold my comfy chair, and write code on my
waterproof, solar-powered laptop in front of breathtaking scenery.

But it really annoys me how much of professional programming skill is what I
call Temporary Technical Trivia instead of Cumulative Competence. It drives me
crazy that the fact that I've learned ten times as much about programming as a
young hotshot just out of school doesn't give me a huge, obvious advantage.
I've walked fifty miles over harsh terrain to get to this point on the trail,
this kid was just dropped off by his mother, and now here we are walking side
by side.

The 100x programmer is a myth. You don't have time to get that good before the
game restarts. The 10x programmer, if real, may have to choose between
continuing to work on things fewer and fewer people care about or restarting
again and again as a 1x programmer on new projects. The feeling that all of
your hard work isn't adding up to much gets to most people after a while. And
yet, I love it too much to stop....

------
gjhiggins
Oooh, an opportunity to pontificate.

For those interested in mere datum points ... , 62 here and still joyously
hacking.

It's been a blast so far, starting with punch cards and Burroughs JCL of the
late 60s "high priesthood" machine-tending, through minicomputers, the
internet, microcomputers, the web, the sudden ubiquity of personal computing
devices. My love of sci-fi dates from the mid-60s and I'm still hugely buzzed
to find myself living in the future that I used to read about; it's an
absolutely fascinating time and a real privilege be working in the field.

Just last night I was using my laptop to watch a youtube video of a TV
programme on dark matter (that's still a personal "wow" on so many levels).
The programme mentioned that it was in the 1920s that Hubble first postulated
the existence of galaxies other than the Milky Way. The contrast between "Hey,
those fuzzy patches of light could be galaxies" to "and here we have a map of
the dark matter in the observable universe" is almost as mind-boggling as the
sheer speed of the advancement; less than 100 years, one person's lifetime.

It's now quite obvious to me (that's all I want to claim) that this period in
human history is having a profoundly formative effect on the progress of the
species and, should we collectively survive the immense challenges currently
facing us, will be a subject of special interest to future historians. - so
yeah, ageing can give you a greater facility for intuiting a wider view.

The fields of programming, computer science, software engineering are still
young and (as a cognitivist interested in the cognitive psychology of
programmers and programming), ISTM that we have a long way to go before we can
develop reliably predictive models of programmers / programming and the
related issues of: learning, ageing, skill acquisition and retention,
organisational principles, etc., etc. - ageing does allow you to experience
the same problems being identified over and over again, without any really
effective solutions being devised. I spent nearly a decade as a cube-monkey in
Hubris-Pachyderm labs between the mid-80s / mid-90s and during that time the
problem of the "technical ladder" remained unsolved by our highly-paid senior
management, much to their discredit. I note with some disappointment that the
issue apparently remains generally unsolved today, that's 30 years of
successive cohorts of senior management across the industry who have proved
unequal to the task, sigh.

In my personal experience, the fields seem just as vulnerable to fads and
fashion as any other formal/semi-formal endeavour. I'm given to understand (by
a vastly more knowledgeable colleague) that DeMarco (the bane of my
programming life in the 80s) has now recanted on structured analysis. I'm
still contemplating the amount of damage inflicted on programmers by that
movement, so you might forgive me for having a slightly jaundiced attitude
towards contemporary ideas (can't even call them "theories") about pair
programming, agile methodology, etc. But I mustn't get started on the subject
of propellor-heads making uninformed, uneducated pronouncements on what are
essentially topics in the domain of cognitive psychology, that way lies
isolation. I've learned to keep my head down and avoid rocking the boat 'cos
it gets right up other people's noses, I've found. I realised that all I
really have to do is just wait. Eventually, reality will force them to
acknowledge the error of their ways. The trouble is, a decade, two decades
later, they've forgotten the entire conversation <spit>. If you live and
breathe R&D in this field, you need to get used to the fact that your
perceptions of how it's going to play out in 10 years time will just prompt
laughter and disbelief in others, get used to being viewed forever as the
loony in the corner.

FWIW, I'm still happy learning new languages and new ways of working but I'm
increasingly picky about what I spend my time on, having wasted so much of it
previously on sussing out half-assed but nevertheless seductive notions (e.g.
VRML, to pick one at random). I can, and sometimes still do, spend ludicrous
amounts of contiguous, hyper-concentrated time on things (up 3 days&nights)
because if I choose my subject carefully, I can get through two weeks
familiarisation in three working days. But that's _my_ problem, I'm a
generalist and this stuff takes _effort_ for me and there's so much of it and
there's so much hype that it's become quite difficult not to throw out entire
nurseries of infants along with the bathwater. On the plus side, keeping
mentally fit is thought to improve one's cognitive reserve [1].

In my case, the peripherals are starting to show distinct signs of wear but
the CPU and RAM do seem still adequately rated for the task. Anyway, it's
indoor work with no heavy lifting and, as a child of the 50s, I know that's a
big plus - but YMMV.

[1] <https://en.wikipedia.org/wiki/Cognitive_reserve>

~~~
hmsimha
> It's now quite obvious to me (that's all I want to claim) that this period
> in human history is having a profoundly formative effect on the progress of
> the species and, should we collectively survive the immense challenges
> currently facing us, will be a subject of special interest to future
> historians.

This stood out to me as one of the most beautiful things I've read on hacker
news to date, and I completely agree. Thank you!

------
wowoc
A fragment from "Modern C++ Design" by Andrei Alexandrescu:

 _Designing software systems is hard because it constantly asks you to choose.
And in program design, just as in life, choice is hard.

Good, seasoned designers know what choices will lead to a good design. For a
beginner, each design choice opens a door to the unknown. The experienced
designer is like a good chess player: She can see more moves ahead. This takes
time to learn. Maybe this is the reason why programming genius may show at an
early age, whereas software design genius tends to take more time to ripen._

~~~
mrich
This sums up why it is worth paying more for experienced developers who have
implemented many systems before and know the pros and cons of many decisions.
It especially is true for systems that will have a long lifetime, where bad
decisions upfront will cost you dearly in support and maintainance. Here, the
10x developer actually can exist.

~~~
zimpenfish
The trouble is that every company thinks they know how to do things and even
if you've "been there, done that", it's a rare environment where people will
actually listen and take things in.

------
cafard
One caution from an older programmer (upper 50s, probably 2x the age of a lot
of the folks on HN): it is quite possible to spend 20 years getting 2 years of
experience 10 times. This is not so easy in some software worlds, but can be
done in others. VB and Perl are 20 years old, C is about 30, COBOL, and yes
there is plenty of COBOL around, about 45.

The temptation is always there to do the same work that is comfortable, and it
can be hard to resist.

~~~
henrik_w
For me, I eventually grow bored and want to try new things (new languages,
environments, domains). That's the the great thing with programming - there is
a lot of interesting stuff to learn, and at the same time you can benefit from
the core knowledge of SW development that you acquire along the way.

------
mixmax
The premise of the article is flawed - it's not about where the old
programmers have gone, but whether they were there to begin with.

If you think a bit about it it's fairly obvious. Programming is a relatively
new profession that has been booming for the last decade or two. 30 years ago
when a 45 year old programmer would have thought about what to do with his
life programming would only be an option for the few. Theresimply weren't that
many people that chose a profession as programmers, so naturally there aren't
that many old programmers around since there weren't that ,any to begin with.

~~~
bryanlarsen
The Apple II. TRS-80 & Commodore PET were all released 36 years ago. Those
three machines marked the wide availability of computing. 30 years ago you
could buy a computer for $200, and millions did.

The early 80's were filled with heady optimism. It was obvious that computers
were the future; that they were the next "plastics".

So while it's not surprising that there aren't lots of 55-60 year old
programmers, there should be lots of 40-50 year old ones.

I think a better explanation for their lack would be the downturns experienced
in the early 90s and the big internet crash of ~2002. A lot of people shifted
into different fields in that time.

Even more so is just attrition. It takes a lot of effort to stay current; for
many it would have been just easier to switch into management.

~~~
seanmcdirmid
There was a serious crash in the late 80s of too many programmers and not
enough programming jobs. So the number of people studying CS dropped and
didn't start picking up until the mid 90s.

~~~
raverbashing
But how much was "too many"

I believe the current lack of programmers and number of openings is bigger
than the values around that time

------
abraxasz
What about asking whether the StackOverflow user base is an unbiased sample of
the population of programmers? Here's a possible theory explaining both the
greater competence of old programmers and their rarity, based on the
StackOverflow data (please, before tearing me apart, understand that I don't
necessarily believe in this story, but it is arguably as plausible as the
whole old programmers flee the industry theory):

\- Older programmers generally don't care or are not aware of stackOverflow
and modern technologies in general. That would explain their rarity _on SO_.

\- Given the first point, it takes an older programmer an unusual dedication
for his craft and curiosity to get interested in SO and new technologies. So
this sample of old programmers really is some sort of "elite" of old
programmers. Hence the impression that they are better.

This is the problem when using proxies for populations: the accuracy of the
conclusions are upper bounded by the accuracy of the proxy. In this particular
case, the only reasonable conclusions that can be drawn from the study are:

\- Old programmers are rare on SO. \- Old programmers on SO tend to be more
knowledgeable than young programmers on SO.

~~~
ericb
Possibly, but everything you posit depends on stereotypes about older
programmers. I know older programmers who wouldn't seek out stack overflow,
_but_ I know just as many young programmers who don't _either_. Many
programmers are just what I call "day-timers."

------
JanezStupar
> Where do the middle age programmers go?

Why nobody acknowledges that there weren't all that many computer programmers
thirty years ago relative to today?

~~~
EdiX
There weren't all that many programmers 15 years ago, let alone 30. Things
have changed.

------
jcrites
> Do [older developers] leave programming completely, due to burnout or for a
> career switch, or are they moving up into management positions?

It's not necessarily "up", although it can be - it's a different job. At
companies with a strong engineering culture, there is the opportunity to move
up while staying in an individual contributor role. I don't think we should
use this kind of language, because it implies that careers are a one-track
road, and if you don't move into management you're in a dead end. At
functional companies this is not true.

<http://www.quora.com/Engineering-Ladders>

Although, admittedly there seem to be fewer engineers than managers above a
certain rank (anecdotal, I have no numbers). I would be interested to hear
theories about why this is. Perhaps it is a natural reflection of the same age
distribution discussed in this article? I.e., there are fewer older/highly
skilled programmers, but not fewer older people skilled in management and
leadership.

------
setrofim_
The first claim -- that older programmers are more knowledgeable -- is obvious
and is not unique to the software industry. This is true of pretty much any
profession: the longer you do it, the better you get at it and the more you
learn about it.

The fact that there are few older programmers is also not very surprising.
This is still a pretty young industry and historically, the demand for
programmers has been pretty low. Also, until very recently (the last 10-15
years), advancing in one's career meant moving away from technical into
managerial roles.

~~~
ericb
> older programmers are more knowledgeable -- is obvious and is not unique to
> the software industry.

I would argue it is only obvious if _you are not young_. I knew it all when I
was young. It was only after looking back on myself from an older age that I
actually realized how much more I had learned.

------
astangl
I strongly suspect age discrimination comes into play, either consciously or
unconsciously. In some cases, the team lead making hiring decisions is young
enough to be my son, and experience on my resume goes back to around his
birthdate. Putting myself into the young team lead's shoes, I think he isn't
comfortable hiring the older, wiser developer, however stellar the resume --
he probably wants a team of hip, young 20 and 30-somethings, and if they come
cheaper, so much the better.

So he doesn't even bother to respond.

It's not hard to extrapolate to a time when all the people making the
developer hiring decisions think like this, and you see the writing on the
wall, and try something else.

------
drorweiss
I think you looked at correct data but got to the wrong conclusion.

The software industry is relatively young. How many people started as
programmers 30 years ago? much much less than 10 years ago or last year. In
the mid-90s, the software boom started and the number of youngsters that
became programmers (like myself) increased drastically. So while it might be
true that some programmers get promoted or retire, the reason that there is
such a small percentage of older programmers is simply, ummm, that there are
so many young programmers coming every year.

~~~
quaffapint
Around 30 years ago I started on a borrowed Commodore Vic20 - It was rockin.
Moving up to the C64 and a tape drive was like amazing.

Old is always relative of course - The mid-90s will be the new mid-00s.

------
sbarre
In terms of "where do they go?", I would think that a reasonable amount of
"older" programmers move into management or other more strategic positions in
the production chain, where they are not actually doing any of the coding, but
are still working on software projects.

I'm in my late 30s and have spent the last few years transitioning more into
product management. I'm still coding sometimes, but less and less. In fact, I
am pleased that a lot of my coding has gone back to being recreational
(outside of work).

I'm reaching a point in my career where I feel that my skills and knowledge
are put to better use helping other junior programmers do their work better,
rather than doing the work myself.

Besides, no matter how much experience and knowledge I have, there will always
be a 20 year old who is willing to work twice as many hours for half the pay,
and they will eventually get to more or less the same result I would. Why
would I want to compete against that?

I'd rather be that 20 year old's boss or advisor, and help him/her work
smarter and learn faster..

And my clients and employers seem to agree..

------
countessa
Unsurprising really - most older programmers I know are fed up with solving
the same problems over and over again with whatever the new technology happens
to be. After a while, writing what amounts to CRUD by and large is pretty
dull.

~~~
zimpenfish
I'm an "older" programmer and I love doing basic CRUD for work. Largely
because it can pay very well, is reasonably hard to get wrong (= happy
management = renewed contracts = happy me) and takes very little of my limited
brain power.

If I want risky projects that might be spectacular failures, I'll do them in
my spare time -- I really don't want those in front of the people signing my
pay cheques...

~~~
seanmcdirmid
When you are young, you can make risky bets with your retirement investments;
not so much when you are older when you should be preferring safer bets
instead.

I would think that the same is true with career management, especially after
you 30 something and have a family to worry about.

But to be honest, the amount of age discrimination in our industry has me
really scared about getting older.

~~~
beobab
"Especially after you 30 something" Ouch! That's not old! :) (am i old - oh
noes!)

~~~
seanmcdirmid
I think the "having a family" part is more important in than being 30+, though
the two events are often correlated.

~~~
quaffapint
Bada bing - That's where things get serious. You can go play with the
startups, but once you have a family to support, whether you're 28 or 48, you
need to do what needs to be done, whether it's your favorite or not. Luckily
for me, I have the opportunity to still program and not be stuck in
management, but there are many that didn't have that choice to keep a steady
paycheck.

------
jack_trades
Pay bands. Loss of the love/age discrimination. Hours/screw your stress.

Sorry... we don't understand what you do enough to warrant paying you 2x-3x
what we pay the grads and we pay grads more than other starters. Pay the
programmer more than execs or non-tech with big degrees?

There are also a bunch of folks that ride out the tech that they rode in on
when they started. PHP? Classic ASP? COBOL? If you don't love to learn and
adapt in both tech and culture, you won't know what the cool kids know nor
will you fit well with their group to tell stories about pointers and punch
cards.

At 40, those kids of yours are just getting better and better and you might be
feeling guilty about missing out on parts of those first years. You might have
also done the math on how much of your surplus value you, as developer, are
pouring into the sales guys' gas guzzler... You are there when something
fails. You are there cashing the checks that the sales people write beyond
scope, budget, and/or time. You see that gals' work-life balance compared to
yours and say, f-it.

Also, as the guy notes... StackOverflow is a self-selecting group. Which of
these highly-paid, older programmers are trying to build up virtual street
cred or answering surveys?

Damn. What am I doing here, now? Gotta go.

------
ericb
Programming pays well. The field is populated by mathematically competent
people who likely grasp the benefit of compounding interest. Perhaps they
are...retiring early?

~~~
smurph
I'm a young programmer and this is a goal of mine. It doesn't mean I will stop
building things, but it would be nice if I didn't have to do it for other
people and didn't have to do it for at least 40 hours a week if I didn't want
to. With the salaries we get, this is very possible if we can avoid lifestyle
bloat.

------
nevinera
This article keeps asking 'where do they go?' The better question is 'where
did they come from?'

You don't see a ton of 55 year-old developers because they'd have been going
to school in the late eighties, before most colleges had CS departments, and
_well_ before it was apparent that there would be permanent demand for an
enormous fleet of us.

------
430gj9j
According to the original paper, 81% of SO users didn't provide their age, so
to conclude that older programmers are more knowledgeable from this data seems
unwarranted. The paper acknowledges however that SO population may not be a
good proxy for the programming community in general:

 _Research into the nature of the SO population and its relation to the
programmer population at large needs to be conducted, in order to support
inferences to the programmer population. Further investigation is needed of
how SO measures, such as user reputation and question scores translate in to
programming knowledge and ability. Research on the relationship between age
and knowledge on SO should be related to the existing literatures on aging and
on the development of expertise._ [1]

[1]: <http://people.engr.ncsu.edu/ermurph3/papers/msr13.pdf>

------
smurph
In my experience, there is no shortage of older people who hold the title of
Software Engineer, usually with a high number following it or an impressive
word proceeding it. However a lot of these people have moved into 'big
picture' roles and rarely touch code anymore, or they are really acting as
managers. The few that do still write code full time are extremely valuable
and tend to have really deep knowledge of the technologies they work with and
the domains they operate in.

I would also be interested in the average retirement age for Software
Engineers, meaning people still doing the job when they retire. I'm betting
very few of them actually wait until their 60s.

------
kabdib
I see a lot of my old cow-orkers on LinkedIn listed as "consultants", or
owning their own firms. To me, that means they can't get jobs. Oh, the rock
stars had no trouble. But (to be unfair) the "B" level players are falling by
the wayside.

Maybe they're not interested? Maybe they're all really consulting and doing
well? I don't have enough data.

Personally, I'm going to keep programming for a living as long as I can. It's
fun (except for the death marches, which I've made a conscious decision to
avoid).

------
deluxaran
First of all most of the "older" programmers moved in management positions due
the fact that this is a young industry and there was a big demand of managers,
leaders that have technical skill and guess what most of them are now in the
40-50 years old range.

------
don_draper
Many get into programming for the pay, but hate it and within a few years look
for an exit. Those that love programming, stay.

------
ebbv
I'm 35 this year, I'm excited for my new career in 5 years!

Actually I spent most of my life as "the young guy" in the office. It's pretty
sweet being the wise aged veteran and nobody questioning whether I should be
there or not.

------
Toshio
TL;DR No software industry for seasoned computer scientists.

~~~
vanderZwan
Isn't discrimination against the elderly a known problem in almost _any_
profession that does not directly involve leadership roles?

