
Half Life of a Tech Worker: 15 Years - Slashdot - holychiz
http://tech.slashdot.org/story/11/12/03/1435217/half-life-of-a-tech-worker-15-years?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29
======
spolsky
The fact that Google's employees are young does not say anything or imply
anything about the half life of a computer programmer. It's just one data
point. Here are reasons why it is skewed:

* Fast-growing companies at large scale do enormous amounts of college recruiting. That's because the quality of the pool is much higher than the pool of out-of-work programmers... not because young people are smarter or better programmers but simply because the candidate pool includes a cross-section of skills, whereas the candidate pool of out-of-work programmers is biased to programmers who _can't_ find work.

See also:
[http://www.joelonsoftware.com/articles/FindingGreatDeveloper...](http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html)

Thus, the average age at Facebook is younger than Google, at Google it's
younger than Microsoft, and Microsoft is younger than IBM. It's just a
question of when the biggest growth spurt occurred in hiring.

* Nobody was working as a software developer 30 years ago. Well, of course, not nobody, but this field has grown like CRAZY. Everybody knows that, but they don't think of the implications. Even if every software developer who started work in 1980 was still working today as a software developer, they would only constitute a small fraction of the current workforce because the number of software developers in 1980 was miniscule. And you would expect them to be working in relatively mature companies simply because those were the companies that were around when they got their jobs.

Bottom line--this "mystery of the disappearing tech worker" is a good bit more
imaginary than real and is probably mostly explained by the kinds of people
you're hanging around with, not a real social phenomena.

See also:
[http://www.wolframalpha.com/input/?i=computer+software+appli...](http://www.wolframalpha.com/input/?i=computer+software+applications+engineers)
(If anyone can figure out how to get older data than Wolfram Alpha displays,
I'd appreciate it)

~~~
_m4
I wish I knew how the Googles and Facebooks hire a crowd of junior programmers
and have them do these amazing things.

I am in the 5th year of leading development teams and have more than 5 years
to go until my half-life is over. Yet, I have not figured out how to run a
team entirely of junior programmers. Yes, they come with a lot of energy and
current knowledge but there is also so much missing that people gain from,
well, experience. In the field of software but also in all the adjacent
domains that are so crucial for being successful as a team. I cannot image how
I would do without having a few senior people around who can give things a
little structure and a little broader understanding of things.

Also, most experienced folks, even if not super up-to-date with fancy
technology, are a hell of a lot more productive than the shooting-from-the-hip
youngster. They don't need to put in 12 hour days.

My other problem is that it's so hard to actually find good senior
programmers. There are also a lot of people who got stuck more than ten years
ago ...

~~~
hello_moto
My experienced as an unofficial team lead of a few programmers with various
experience (which I conclude that they were Jr. Programmers with a few years
of lack of mentorship) was to do the following:

1) Define structure

Set some rules. Coding styles, check-in etiquette

2) Find tools to limit mistakes

Static code analysis, automate build that breaks when #1 fails.

3) Always on alert

Do a lot of code reviews. A lot. Argue and fight over little things (variable
naming convention, missing documentations, unclear code).

Now this might not sit well with others so get ready:

4) Become a "drill" sergeant

I find that becoming the "bulldog" sometime works. You've got to become some
sort of "drill" sergeant. People may dislike you at first but if the project
is successful, they can hate you all the way to the exit door all they like.

That was my experience. I made a concious decision to put the success of the
project as the top priority. Even if it means breaking some bridges with other
programmers. I hope they learn why I did those things in the future. If they
don't, I won't quarrel or regret my action.

5) Be nice on other occasions

I may be the biggest jerk during code-review and check-in commits but when my
co-workers stuck, I'll be gladly help them even if it means I have to sit with
them and do my overtime. This can gain you some respect after
confrontation/intense debate/being a jerk.

I always try to be friendly during office/release party. Give credit to the
team, etc.

~~~
brandall10
Just an alternative to #4 (which I have been on times with various degrees of
success).

What's the #1 thing people are afraid of? Public shame. I have a theory that
Scrum primarily works because of this. Just have daily Scrum-light meetings
with your group. If you have 15 minutes with a group of 5-6 people and
everyone has to say either "done" or "not done"... the not dones will of
course have some silly excuse, but because of the time constraint you must cut
them off, be curt, and say to the effect "so John can you help Dan with that
right after we break?". And then everyone would make commitments on to what
they would do that day. I guess in a way you can say this was being a drill
sergeant, but the thing was I wasn't an a-hole, that 15 minute meeting every
morning was just part of the process, it was expected.

After a few weeks of this everything moves at twice the speed. I had a team of
6 devs (including myself) burn through nearly 200 bugs in 2 months. That's
every engineer fixing about 4 bugs a day. There was a hug chasm of talents on
that team... we had the top guy in my dept as well as one of the weakest
engineers on the same team. Everyone performed.

~~~
cpeterso
Perhaps there is a more euphemistic term than "shame", but I agree that Scrum
and code reviews harness this shame in a positive way.

------
christkv
This lack of senior developers also leads to the chronic amnesia our industry
has, that includes reinventing the wheel every 10 years (same wheel different
color). The more the things change the more they stay the same.

~~~
hello_moto
I wish more people hear your opinion.

I'm on my late 20 and I went to my alma-mater library once a week in the past.
I grabbed old books (Liskov, Bentley, Kernighan, some of the software
engineering books, etc) a few times and I was surprised to see methods or
techniques that people use these days and considered cutting edge were being
discussed in a THIN, DUSTY, paper with YELLOW-ish color books.

There are plenty wisdoms in those old books yet these days people were gung-ho
with the latest greatest.

I'm not saying that the latest greatest aren't advancing our thought. It's
just that there are more noises than actual wisdoms.

~~~
christkv
The noise I contribute to the general low average age of our industry. Lots of
strong opinions combined with inexperience leads to flame wars.

More people would be better off doing their 10 000 hours of practice before
raising their voice in an opinion.

That said I always thought the guild model of apprenticeship would be a better
model for developing our craft. But I'm not sure how one would go about
setting something like that up.

~~~
v21
Raising your voice to have an opinion and getting in lots of flamewars is a
fine way to improve.

------
mgkimsal
"by the time you hit 35 you better have a plan".

This _should_ go for everyone, not just tech workers. We only get so many
years on this planet, and assuming you make it to 35 and are reasonably
healthy, you've likely got a lot more years ahead of you (another 40ish?).

You've had some education about life, work, money, etc. You've got no more
excuses by 35. Have a plan. Have a backup plan. Understand what you'll need to
do to execute on that plan.

For tech workers, this may be going in to consulting, doing a startup (two of
the more popular ones), but it also may be moving around to different
companies to keep tech skills cutting edge (or demanding that from current
employers). Not everyone will be accommodating to your plan, but _you_ have to
execute. If current employers won't support you, find new employers.

There's probably many reasons people leave standard tech/dev work by that age
- employers wanting cheaper/younger workers is the most popular reason/excuse,
and there's probably some truth to that. But I moved out of that because much
of it was boring. Some of the _work_ was still interesting (data sizes,
algorithms, etc) but the day to day realities of 'corporate life' grew
tiresome. Never saying never - I won't rule out "corporate job" again - in
fact, there's always some interesting companies popping up that need my
skills/labor, and one day I may join one again. But my mindset is totally
different about how I would approach a "job" again, and that mindset probably
puts off many would-be employers anyway (making finding one both harder and
easier at the same time).

So... what's your plan (those of you 35 or older)?

~~~
itmag
I would go even further than you and say "have a plan by 25" myself. Why dick
around and be a fool for longer than is absolutely necessary? :)

I am all for learning by making painful mistakes, but one should cut the
failure iteration cycle as short as possible. Learn the lesson by scraping
your knees, not by breaking your legs, is my analogy.

This is good reading for those who, like me, are in their mid-20s:
<http://tynan.com/youngpeople>

I look at my age peers and I am flabbergasted that they seem to spend all
their free time on fashion, computer games, going to clubs, Facebook, etc.

I spend basically all my free time reading, engaging in self-improvement
activities, and plotting for my eventual world domination (heh).

Sorry for ranting, but this is a topic that is close to my heart :)

~~~
mgkimsal
I don't disagree, and wish I'd had a better plan in place by 25, but
culturally in the US, we've had a generation or two that have taken longer to
grow up. Kids living with parents until late 20s, harder job market, etc. 25
is great, but for some reason culturally we still accept 25 year olds being
flakes.

So.. there's still some acceptable excuses for flitting away your 20s (not
really acceptable _to me_ , but I'm not in charge!) but by _35_ there's just
no good excuse to not have a life plan in place.

~~~
itmag
Ah, gotcha.

I'm in Sweden, and it's the same here, possibly even worse.

I've been reading self-help materials non-stop for the past 5 years. When I
introduce this stuff to people my age they just stare at me like I'm an alien.

They also seem to have no concept of real individuality. Ie in Sweden most
everyone my age looks like a bizarre hipster, 'cause that's what the fashion
is and deviating is not an option (the most popular blogs here by far are
vapid girls posting about their daily outfits).

Combine this with lack of sunshine, über-costly alcohol, super-cocky entitled
chicks who wear basketball shoes all the time and refuse to smile, high taxes,
shitty wages, inbred media, lack of gung-ho disruptive startup people to hang
with, a culture of mindless consensus, public transportation which is always
delayed, snow which refuses to arrive around Christmas when it's wanted and
instead fucks you in February, a PM with doggy-dinner bowl eyes and a main
contender who's some kind of mustached character who's very creative with the
truth, inferior Christmas food, total surveillance of all Internet/phone
traffic, getting your Vitamin D solely from a bottle of pills, annoying
Stockholm people who think their Milwaukee-sized hamlet is the world, the
gov't wanting to regulate everything, the law of jante, Stalinist gov't liquor
stores where they scowl at you for buying alcohol, everyone expecting the
gov't to fix everything, people being un-creative and uninterested in my
ideas, everyone being dressed like some bizarro ironic lumberjack with Buddy
Holly glasses, houses being like the albino rhinoceros in terms of their
availability to the common man, all people (including chicks) filling their
body with ugly tattoos and piercings and being proud of it, chicks who are
more interested in dogs than men, supermarkets where they rape your wallet and
then scowl at you for entering their premises, punctuality being more
important than actual productivity, being hit on by fiendish cougars ONLY when
you go out on the weekends, daring to exist and being scowled at, everyone
uncritically relying on "experts" all the time, it being FUCKING COLD, etc,
and you have one unhappy itmag :(

Fuck Sweden, give me my Green Card already!

/rant

~~~
keithpeter
I think you had better have a day off and perhaps investigate home-brewing.

Seriously, most people have more than one career, I'm on my third. I see no
reason why the same should not apply to computer programmers.

Right now, I've slowly begun to realise that I can produce documentation and
tutorials that people find useful. This may (or may not) lead to career number
four.

~~~
itmag
I don't think I'm cut out to have a career per se, it's startups or nothing
for me: <http://news.ycombinator.com/item?id=3283401>

Which got quoted on teh Internetz: [http://unicornfree.com/2011/fuck-glory-
startups-are-one-long...](http://unicornfree.com/2011/fuck-glory-startups-are-
one-long-con/)

~~~
keithpeter
Hummm, home brewing then. You career is being an employee of a startup? Do you
have any side projects between startups?

~~~
itmag
What I meant to say is that I want to start my own startup in the not so
distant future.

Sure, I run a magazine.

------
anon_37
My tech half life was almost exactly 15 years. I am just posting this to vent.
The last year of my life has been frustrating.

I had my first job at age 21. A month before my 36th birthday, I left my last
job. I have not been able to get a job since.

I have applied for 58 jobs over the past year and have gotten a response 11
times. I got a phone screen for three of these jobs, and got to an in-person
interview for one of them. All rejected.

I am not a superstar but I have built solid things including sites from
scratch that are still running on the web. I worked on parts of an iPad app
that has over 3 million downloads in the app store. I solved the programming
challenges on the HR pages of two hot companies. (Didn't hear back from one,
was told there weren't any positions for me at the other) I even was on a team
that made it to a y-combinator interview. My other HN account has a decent
amount of karma.

I just say all this to point out that I'm not the typical square sob story
where some guy making crystal reports for 15 years get the boot from IBM and
spends his days whining about H1Bs on patriot message boards. However,
sometimes I wish I was one of those guys. I can't even get a job doing
something like ".NET Sharepoint integrations" because I've never done it
before!

I'm mostly zen about the whole situation but at times I catch myself sliding
into serious depression. I've been working on iPhone UI programming to learn
something new. However, in the back of my mind I know that even if I get a
job, something like this will happen again when I'm 42.

I don't know how I would get a management job, but I'm not convinced
management is a safe haven. I have two uncles who worked at IBM for decades.
They were made redundant in their early 50s and never worked in the industry
again. Then again, at least they made it another 15 years and were able to pay
off their house.

I could write more but you probably get the point. My only advice is to make a
lot of money when you are young so you can coast when you get old (35?). I
basically think programming is like pro sports. You can be an amazing rookie
in your early 20s, a kobe like superstar in your late 20s and even early 30s.
But mid 30s you need to make way for the next generation.

~~~
beachgeek
Are you in the SFBA?

~~~
anon_37
No. I used to be, though.

~~~
hkarthik
where are you located? I think in most metros, folks are starving for
programmer talent right now. Move to a new city, go to meet ups and hack
nights, and you'll land a job in no time.

------
gexla
Never stagnate. If you aren't valuable to employers, then it doesn't matter
what your circumstances are. The difference between a low 20-something who
isn't valuable and a 50-something who isn't valuable is that at least the
20-something straight out of college has an excuse. The 20-something is raw,
and probably needs some training and experience. The 20-something may also be
cheaper, though that may not be an issue at places which are fighting for
talent.

This is why I like being independent. I'm forced to keep up with changes in my
industry. I have to always be networking. I have to keep my selling skills
sharp. When I have some down time I can plant seeds for alternative streams of
income. These are the same things everyone should be doing, but you don't have
to do these things when you work in the bubble of traditional employment.

In short don't get too comfortable. Work every day as if it's your last day at
the company. I suppose this advice goes well for life in general. ;)

~~~
vinutheraj
It it's my last day in general; I wouldn't be working at all.

------
Tangurena
As an older developer who has been developing for more than 20 years, I find
that the reason for the "half-life" to be the impedance mismatch between the
demands of a family and the demands of mismanagers (and their crunch time and
death marches).

Eventually, developers start saying things like "I want to watch my kids ball
game" instead of being at the office and dealing with the latest manager-
inflicted crisis. 60 hour weeks are not family-friendly, and the developers
that choose family over the office end up getting pushed out the door.

~~~
pnathan
Yeah, as someone who will be moving into the 'married & family' stage in the
next few years, I am getting concerned about the paces I will be expected to
put in. I am not going to be working until 11 at night on my kid's big event.
I'm going to be there for my kid.

------
nickpp
You know, the young ones complain nobody hires them because they don't have
experience and buzzwords on their resumes.

The old ones complain that they're discriminated against because they are...
old.

Meanwhile business complain they can't find good people no matter how much
they pay and Google & Facebook can't give enough bonuses to stop their people
from being pouched.

So, who's right? Bunch of f-ing whiners all of them, if you ask me:

Youngsters should CODE and get the right experience.

Oldies should LEARN continuously, not stop and rely on their old stuff.

Business should PAY and PAY even more, while rewarding on merit, not people
skills.

Now get off my lawn!

------
devs1010
It must depend on the company because the company I work at now has almost
exclusively older programmers, I think I'm one of only 2 developers under 35
and most seem to be at least 40. I think the technologies used influence this,
I work with Java and it seems they tend to people with more experience, if its
a startup working with the next hot trendy dynamic language then, yeah, they
probably aren't going to see a lot of value in hiring a dev with years of
experience but I think this says more about the company than anything else as
they value trendiness over solid software development practices.

------
jollyjerry
My plan is to be financially independent from what I love to do. I love coding
because it's a medium for me to create something tangible out of nothing. I
loved it before I was paid to do it for a living, and I'll love it till I
become senile (the plan is to write lolcode when that day finally comes).

That said, I love other things in life as well - friends, family, girlfriend.
All these loves are first class citizens and I can't tradeoff on one for
another. When forced to choose, I always find a way to compromise. For
example, when my girlfriend started grad school, I started working with
Intridea (an all remote web and mobile consultancy).

I constantly in the process of finding ways to allow me to code what I want
to, and still make money. I like to think of it as a daily and incremental
refactoring of my life.

------
smoyer
I have a plan ... It's quite simple - I only work at jobs doing what I truly
love. I am motivated and do my best work and my employer reaps the benefits
too. Being almost through my second half-life, this has served me well for
almost thirty years.

------
bluesmoon
At my 15 year mark, I was learning perl, html, css and JavaScript at the 20
year mark, it was PHP, now nearing the 27 year mark, I'm doing SSJS. Stop?
Heck no, I'm just getting started.

One of my uncles retired at 66 still writing COBOL.

------
raintrees
And I guess I belong to a group who partied too much during their twenties. I
am now mid-40's and finally have a game plan that should have me independently
wealthy by about 55.

At first I felt impatient about that result, until I stopped and looked around
and realized how many of my peers were probably never going to be
independently wealthy...

------
thejteam
Perhaps they've all moved over to the defense industry? I work for a small (25
employee) defense contractor. I am 32 and the second youngest software
engineer in the business. 32 is also younger than almost all the engineers at
my previous job. Forget being anything resembling a lead developer until you
are 35-40.

------
kreek
Being in my mid thirties I've seen many colleagues and friends go into
management because it was the thing you do when you reach at certain age. Some
returned to development and some stayed in management but they all at one
point admitted "I miss development so much, I just want to code".

------
neovive
I recall making many plans (5-year, 10-year, 15-year) when I first graduated.
It's funny looking back at some of my original plans to see how things varied
so much.

The key is to stay flexible, always be willing to learn and set your
priorities. Try to put yourself in positions where good things can happen. The
path you take will likely vary greatly from what you envisioned, but if you
achieve what is most important to you, then you have succeeded. There are many
definitions of success, so be sure to measure your accomplishments based on
your own definition.

------
DanielBMarkham
I love IT, and I love being a code monkey and staying a working programmer
with my various startup projects, but let's face it: although well-paid, the
world treats programmers like crap. Long hours, working weekends, staying on
call, impossible deadlines, complex and ever-shifting technologies, and high-
stress deployments. It's no wonder that the people at hot-shot firms all look
like they're in their 20s.

Some folks just get caught up in, well, life. They have kids, a house, and
grow a life and hobbies. That means that they are no longer staying current,
and their heart just isn't really in it any more. After you've kicked ass and
conquered the world with code a dozen or so times, you've gained weight,
you're missing out on the rest of life, and there are just a dozen more
impossible missions ahead of you. It never ends. I'd throw out some kind of
pithy remark like "work at a sustainable pace" but the sad truth is that a
"sustainable pace" for a 23-year-old is not the same as it is for a 40-year-
old. Not even close.

I like the model I've seen of moving great programmers into lead roles (with
PM-type duties) and then "uber lead" roles, which also include some program-
management duties. That way you keep your technical talent close. It's easier
to teach a programmer business than it is to teach a businessperson
programming. This idea that we move good programmers out simply because they
start acting much more like middle-aged people than college students is
hurting the industry. In my mind, the MBAs are much more expendable than some
guy who has just spent 15 years of his life learning our business systems
inside-out.

~~~
hello_moto
I, too, also love IT and programming. But lately because of the re-hash after
re-hash (SOA vs REST, Java vs .NET vs Ruby, JavaScript, Functional, polyglot,
Agile, XP, Scrum), I'm kind of losing it. Seeing programmers swinging their
d*ck around saying language X is better or how their favourite tool is better
drifts my heart slowly away.

I felt like I want to be a team lead or a manager whipping undisciplined
developers to get better at ever lasting all-around skill as opposed to
jumping between bandwagons too early.

So I made a decision to work my butt off in people skill, communication (and
writing of course). Decided to branch out into PM and BA as well.

We'll see how things will develop.

~~~
Roboprog
I hear you. As a 46 year old "senior technical lead", I have to be choosy
about what new things I commit the time to delve into.

That said, sometimes the little things matter, but you have to trust your
intuition about the big picture to determine which techniques may be important
in the near future, as be willing to understand that some of these
technologies really are largely equivalent in many ways.

If I can just get my juniors to stop writing N*100 line subroutines,
ironically coupled with "kangaroo code" with too many useless
abstraction/indirection layers, and learn enough about the functional style
(even though working in Java -- AKA "Object COBOL") to write small routines
with clearly defined inputs and outputs, I'll be a happier man at this point.

------
justanother
Maybe part of what this article is observing, is that so much of life has a
15-year half-life. Your family, your situation, your wife, the economy, your
'career', what you think you love. If any of this resembles exactly what it
did 15 years ago, you're the exception, not the rule. It is change that is the
constant.

------
michaelochurch
Ok, before I go and offend a bunch of people, let me explain that I'm
describing how things _are_ , not how they should be. A lot of the aspects of
the business world that I'm about to describe are morally wrong and deeply
disgusting. I'm not defending those.

First, technology is _a lot_ less ageist than mainstream business (i.e. BDC-
land).

Here's the thing about corporate culture. Anyone or anything (a group, a
project) that is judged to be not successful (regardless of reason, regardless
of whether it's that person's or group's fault) is avoided like a corpse. What
ageism is about is the (often unfair) negativity directed at people judged to
have underperformed their age curve. In mainstream business, there's an
expectation that a person will be in an informal leadership role no later than
32, be in an official leadership role (i.e. manager or executive) by 35, be a
VP by 40, (S|E)VP by 45, and CxO by 50.

Here's where sciences and technology have an edge. There's absolutely nothing
wrong with being a non-managerial programmer, scientist, or mathematician at
40, or even at 60. The best tend to peak later (with a few notable exceptions)
so most of them are just starting to do their best work at this age. I repeat,
there's nothing wrong in technology with being non-managerial at 40. No one
looks down on you for that if you're great at what you do.

Contrast: in mainstream business, if you're still at the analyst/associate
level doing line work at 40, no one will want to talk to you. Most investment
banks have one "adult analyst" (i.e. someone in his late 20s or 30s working
alongside college kids who use "steak sauce" as an accolade) and his co-
workers mock the hell out of him behind his back.

There is a catch: by 35, you have to be really good, and you should probably
have more than one specialty in which you can out-perform 99% of the
competition. By that age, it's not enough to just be talented; you need to
come with a seriously formidable skill set. The upside of this is that in
technology, working hard and working smart means you _will_ be good. The
technology career is quite volatile but it's pretty easy to have reliable,
steady improvements in one's level of skill. This is a lot better than
mainstream business (banking, biglaw) where people can be passed over for no
reason at all.

------
lclaude01
Money comes and go...but everyday passion is priceless... Don't worry about
your old days...tomorrow is right now... 'Stay Hungry. Stay Foolish': The best
Steve Jobs quotes

------
itmag
15 years??? How the frakking fsck do you guys endure writing boilerplate,
filing TPS reports, going to meetings, and listening to PHBs for that damn
long?

I'm not even 1 year in and I'm already busy executing my plans for freedom (by
starting my own business, for instance).

Then again, I guess I don't have a single lick of salaryman in my bones.
Others may relish the thought of a holding down a comfy desk job and not
having to make your own decisions about what to work on.

~~~
hack_edu
I hate to break it to you kid, but no matter what you do you'll end up writing
boilerplate, filing reports, and listening to assholes spout nothing on a very
regular basis. Thats how business works and why it can suck. Running your own
business will likely mean you have to endure more of these life-sucking tasks
(but only until you hit the big time, right?!). This isn't to say that we must
all resign to this fate, but you're deluding yourself if you think that self-
employment or startup work is all that much different at the end of the day.

Its hard to read your comments in this thread without thinking that, no matter
how proud about yourself you are right now, you're exactly the type who will
fall to attrition within a few more years of your career.

~~~
itmag
Upvoted for brutal candor. I refuse to be that pessimistic about the future,
though. There has to be a way.

~~~
hack_edu
That's the right attitude. :)

