
Ask HN: What happens to older developers? - JeffJenkins
I started wondering about this in the recent STEM thread.  As someone now in their early 30s I&#x27;m starting to wonder what the mid-late career as a software developer looks like.<p>Do you have to go into management to continue progressing upwards in pay and influence? I know this isn&#x27;t the case at some companies (e.g. Google), but is it rare or common to progress as an individual contributor?<p>Is there a plateau in pay? Is there a drop in pay switching jobs after a certain number of years experience because places are looking for 5+ instead of 20+?<p>Are older devs not looking for new jobs because they have families and want more stability&#x2F;are focussed elsewhere?<p>Is becoming a specialist rather than a generalist the answer?<p>And lastly: if you&#x27;re in your late 30s, 40s, 50s, what are you doing at your job? What are the older people in your workplace doing?
======
bwanab
I'm 60+. I've been coding my whole career and I'm still coding. Never hit a
plateau in pay, but nonetheless, I've found the best way to ratchet up is to
change jobs which has been sad, but true - I've left some pretty decent jobs
because somebody else was willing to pay more. This has been true in every
decade of my career.

There's been a constant push towards management that I've always resisted.
People I've known who have gone into management generally didn't really want
to be programming - it was just the means to kick start their careers. The
same is true for any STEM field that isn't academic. If you want to go into
management, do it, but if you don't and you're being pushed into it, talk to
your boss. Any decent boss wants to keep good developers and will be happy to
accomodate your desire to keep coding - they probably think they're doing you
a favor by pushing you toward management.

I don't recommend becoming a specialist in any programming paradigm because
you don't know what is coming next. Be a generalist, but keep learning
everything you can. So far I've coded professionally in COBOL, Basic, Fortran,
C, Ada, C++, APL, Java, Python, PERL, C#, Clojure and various assembly
languages each one of which would have been tempting to become a specialist
in. Somebody else pointed out that relearning the same thing over and over in
new contexts gets old and that can be true, but I don't see how it can be
avoided as long as there doesn't exist the "one true language". That said,
I've got a neighbor about my age who still makes a great living as a COBOL
programmer on legacy systems.

Now for the important part if you want to keep programming and you aren't an
academic. If you want to make a living being a programmer, you can count on a
decent living, but if you want to do well and have reasonable job security
you've got to learn about and become an expert in something else - ideally
something you're actually coding. Maybe it's banking, or process control, or
contact management - it doesn't matter as long as it's something. As a
developer, you are coding stuff that's important to somebody or they wouldn't
be paying you to do it. Learn what you're coding beyond the level that you
need just to get your work done. You almost for certain have access to
resources since you need them to do your job, and if you don't figure out how
to get them. Never stop learning.

~~~
leobelle
My favorite reply so far. I'm 37 and am starting to worry. I haven't run into
any issues yet.

I have noticed though that experience become a liability. If you wrote
JavaScript for IE 6, a lot of the optimizations and things one did to make
sure things worked in IE 6 are no longer necessary. One should be ready to let
go of things as soon as they aren't necessary anymore. Always keep learning
and know why you do the things you do with code.

~~~
_random_
It's funny: I was betting on WPF at the time but it seems dead now, with only
some XAML knowledge transferable. Still have to do JS, but at least Angular
doesn't suck too much.

~~~
nawitus
Here's a tip: never bet on something proprietary.

~~~
jussij
Here's my 20+ years of experience working as a contract in Australia.

In all that time I've only ever worked with proprietary tools and have never
had trouble getting high paying contract work.

I would say I've done very well betting on something proprietary.

~~~
hkarthik
Parent comment had to be qualified a bit: Never bet on anything proprietary
which doesn't offer significant advantages over non-proprietary competitors.

~~~
nextw33k
Sliverlight would be a great example of that.

------
KentBeck
I'm about to turn 53. I spend most of my day coaching younger programmers at
Facebook (because they're almost all younger). We pair program and talk. I
work on speculative projects, some consumer-oriented, some programming tools
and some infrastructure. I also research software design and the diffusion of
innovation.

I took a 10 year excursion into being a guru, but I'm technical now and intend
to stay that way. I love programming. I've never been a manager. I suppose
that capped my pay, but I'd rather be satisfied with my work. I haven't
noticed a pay drop with age, but my experience may not be typical.

The most important factor for me has been to keep coding. It gets harder. I
have noticed a definite drop in my long-term memory, concentration, and
general cognition, but I compensate by being better at picking important
problems, being able to pattern match a large library of experiences, and not
panicking. As Miracle Max said, I've seen worse.

I started learning Haskell a couple of years ago, and that has really helped
expand my programming style. I still don't like it, but it's good for me. I'm
also learning React and the reactive style of coding UIs. That's also a brain
stretcher.

~~~
JabavuAdams
I'm 38 -- your notes on memory are interesting. I use Anki spaced-repetition
software to retain less-often-used technical minutiae.

I'm also transitioning to using it to integrate new knowledge. Clip to
Evernote. Create flash-cards in Anki, and practice on my commute.

~~~
ktf
What kind of "technical minutiae" do you put in your Anki deck? I use Anki for
Japanese study, but I've been thinking about doing more with it. Wasn't quite
sure how to make useful tech flashcards... outside of memorizing as many
powers of 2 as I could :)

~~~
JabavuAdams
Snippets from Python module docs. Objective-C APIs.

Basically, anything that I have to look up on StackOverflow.

E.g. os.path.relpath, -[NSString valueWithPointer:], -[NSString
substringFromIndex:].

My loose heuristic is if I claim to be an X programmer, and some douche calls
me out on an API call for language X in an interview, would I feel embarrassed
saying I usually just look that up on Stack Overflow.

------
coldcode
I'm almost 57 and still write real code that people use and employers make
money from. The trick is to continuously learn new stuff. My whole career has
always been spent at the leading edge of whatever was most important at the
time. Sure, people sometimes don't want to interview you because they assume
you are old and pointless, but that's usually when they don't even read your
resume, blog, linked in or whatever you have. There are people who think that
way, and there are people who recognize ability and experience matter. The
trick is finding the latter while trying to avoid the former.

Some people don't learn anything new and become obsolete, or become
management, or even have to start over away from programming. It's not easy to
stay out front but you are the only one who can do it.

~~~
mkaziz
How do you usually determine what's important at a given time? I feel like I
usually find out when it's too late to be at the cutting edge.

~~~
AznHisoka
Forget the hoopla about AngularJS, Node, Ember.. Focus on what makes
businesses revenue, and do that, as patio11 once said.

~~~
mgkimsal
It's a nice soundbite, but harder to execute in practice.

I can create a lot of business value in Perl, for example. But if the
companies and teams that create business value do not use Perl, I can be left
out in the cold. There's always the 'rugged individualistic' solo freelance
route, but it's limited, especially for someone focused on non-
popular/standard tools.

------
ap22213
I'm 38, and Software Dev. is as lucrative as ever.

I've never done any 'IT work', and I've focused almost entirely on product
development, over my 16 year career.

As a salary, I think I have plateaued at 160K, which is good enough for me.
With 'adjustments for inflation', that's usually an extra $5K increase per
year. There are people who make more than me, I know. For example, a guy I
work with probably makes $200K (and he doesn't have a college degree).

There are always 'business problems' to solve with software, and there is
always software to maintain. A lot of software never 'ends' \- it just keeps
going on, or dies dramatically, replaced by something similar. There's never
been a better time to be a developer.

At a certain point, you'll have to become something like a 'manager'. For me,
this is more of a 'tech lead' / 'architect' sort of role. I'm responsible for
the quality, functionality, road-maps, integration, etc. I'm responsible for
understanding the business domain, in and out. I'm responsible for managing
the parts of the system, and ensuring that they all work together. I have to
lead meetings, give presentations, work with the field and customers.

However, all of that is a small part, for me. I still code a good 85% of the
time.

I get somewhere around 10-15 recruiters contacting me per week. So, I believe
the job market is hot. But, I am really comfortable where I am. I work from
home, and I run an entirely distributed team. We meet in person, when we think
we need to meet. Things go very smoothly, because we're all experienced devs,
and we fit together culturally.

I'm far from an 'amazing dev'. I don't have a slick github account. I don't
run any important open source projects. I just know how to do a lot of
different things, I am very efficient, and I have a great track record for
success. I know on any given week, hundreds of thousands of people use
software that I had created, and that makes me feel good.

~~~
chengiz
Where are you based if I may ask? Just to put your salary in context, because
160K is not the same everywhere!

~~~
ap22213
Also, I'm not trying to brag by posting my salary. I just think it's really
important for devs (young devs, especially) to know these data points.

I took the first interesting offer that I got, when I graduated from college.
It was $43k. (You have to start somewhere!)

But, as you get more experienced you must also learn to understand the value
that you provide to the companies that you work for. Too many developers get
taken advantage of. Software currently rules the world; remember that.
Companies make trillions of dollars (in real revenue or efficiency) on the
things you create. You deserve a good pay, if your products are valuable.

~~~
bmj
$43k? My first offer was $28k, though, to be fair, I didn't have a
programming-related degree.

I'd also like to underscore the comment in your parent post--"good enough for
me." It's not always about pay. I'm seeking a sort of "medium chill" [0]
existence. I currently make more money that I ever thought I would, but I also
have a position with a relatively stable company where I can continue to do
interesting work without unnecessarily ramping up my responsibilities with
each pay increase. If you offered me a job with a 25-50% pay increase with a
similar increase in work time and/or stress, I'd politely decline.

[0] [http://grist.org/living/2011-06-28-the-medium-
chill/](http://grist.org/living/2011-06-28-the-medium-chill/)

~~~
ap22213
Exactly. I like 'medium chill'! I generally try to work a 40 hour week.
Sometimes I have to put in some extra hours, but I like to be observant about
why I'm putting in those extra hours, try to fix the root problem, and get it
back to 40.

A college professor that I had (a mentor), once told me that the best
programmers should be somewhat lazy. I'm definitely not a 'best programmer',
but I do try to automate as much as possible and be on the look out for
'gordian knots' to cut.

------
onion2k
I'm older than you and I've been looking for a new developer role recently.
The main problem I see is that there haven't really been "old web developers"
in the past - I've got about 15 years experience which is pretty much as much
as it's possible to have in the web industry. People with more experience tend
to be "software engineers who wrote web things" rather than "web developers"
per se. Employers have expectations that web people are young people and as
such building web software is something that you can only really do at the
start of your career. The assumption is that if you have a lot of experience
you'll quickly get bored and move on. Consequently it's getting a lot harder
to find a job. I suspect that once we pass 40 we'll all have little choice but
to move in to a more business analyst or management style role, or go
freelance, until the industry is mature enough that age isn't something that
works against you. A shame really.

~~~
mgkimsal
I mentioned this in another post, but you explain it better. Yes, there's not
enough history around the profession to let people know that a 45 year old
developer can deliver value - probably far more than a 25 year old developer -
simply because the _role_ hasn't been around for very long.

------
bane
It seems that they go a few directions:

The most common seems to be to try and generalize, because relearning most of
your job skills every few years starts to get annoying the 20th time you've
had to do it. It's different when you are younger and _everything_ is new, you
just chalk up a major tooling change as just something else to learn. But when
the next hot platform or architecture or whatever comes out you get tired of
running in exactly the same place. You also start to get a long view on
things, where all these _new_ things coming out don't really seem to offer any
advantage to you that keeps development fun. It's just more and more layers of
abstraction and you start to see the nth demo of WebGL maxing out a 4 core
modern GPU system doing exactly what you did 20 years ago with a single 32-bit
core, 1/5th the transistor count and all in software. So how do you
generalize? One word: management. You start to take over running things at a
meta-level. You don't program, you manage people who program. You don't
program, you design architectures that need to be programmed. You don't
program, you manage standards bodies that people will be programming against.
It's not a higher level, more abstract, language you go for, it's a higher
level, more abstract job function. The pay is usually better and it's a
natural career progression most organizations are built around. There's lots
of different "meta" paths you can take. And because most of the skills in them
will be new to you in your late 30s, 40s or 50s, they're at least interesting
to learn.

The problem for some people is that these kinds of more generalized roles put
you in charge of systems that do not have the sort of clear-cut deterministic
behavior you remember from your programming days. Some folks like this, and
look at it as a new challenge. Some hate it and wish for their programming
days again. YMMV

So the next most common path is to just become more and more senior as a
developer, keeping down in the weeds and using decades of experience to cut
through trendy BS to build solid performant stuff. These folks sometimes take
on "thought leader" positions, act as architects or whatnot. Quite often
though industry biases will engage and they'll be put on duty keeping some
legacy system alive because their deep knowledge of the system lets the
company put 1 guy maintaining half a million lines of code in perpetuity vs.
10 young guys maintaining the same, who all wanting to leave after a few years
to build more skills. The phenomenon is best seen as the ancient grey beard
COBOL mainframe guys. Some people love this work, they can stay useful and "in
the game", but some hate it because it comes with the cachet of being stale
and not keeping up with the times. YMMV

Probably the third most common path is to simply branch out and start your own
gig. A consultancy or something where you get to work on different things in
different places on short engagements. The money is good while it's coming in
and you get to make your own hours. At some point you decide to keep doing
this till retirement (if you can keep finding work) or to grow your business,
in which case you generally end up doing the meta-management thing. There are
thousands of these little one-man development shops like this and I wouldn't
be at all surprised if this is more common than third on my list.

Probably the next most common path is to just get out of development entirely.
The kinds of logic, planning and reasoning skills, plus the attention to
detail required to be even a half-assed developer, can be extremely valuable
in other fields. Lots of developers go into Systems security, Business
Analysis, Hardware, etc. With a little schooling you can get into various
Finance, Scientific or Engineering disciplines without too much fuss. The
money isn't always better in these other fields, but sometimes the job
satisfaction is. Again YMMV.

~~~
gfodor
Great post -- I want to throw out another option though, which I am exploring
myself. Your post seems to, like most posts on HN, be a very "web application"
centric view of things.

There are obviously vast worlds of software engineering outside of web
applications. Embedded/real-time systems, programming languages & tools,
robotics, graphics, bioinformatics/computational biology, machine learning,
machine vision, the list goes on. Why not "pivot" your career into a
completely new subfield? The downsides: you will likely need to take a year
off for self study and to build up a body of work to land you a job, and you
will have to take a pay cut. But you will be able to build stuff, will remain
excited on the edge of your field, and might be able to have a fresh slate and
replicate those feelings you had when you started off in the first place.

~~~
noname123
Sounds like what I want to be doing. I'm curious if you have additional
insight on taking on this path, I want to keep all of my options open and
instead of say just pursue embedded/real-time systems and find out that the
field is too narrow. What do you recommend to study as opposed to CRUD web-
apps,

C/C++, ML, data analysis with Python/R or learn more domain specific knowledge
such as Bioinformatics or graphics or quant finance? Much appreciated, thanks.

~~~
delluminatus
It depends a lot. This is opinion, but I would say that there are three big
categories of software development skills. Of course most jobs are a mixture
of these.

1\. Web development (transport-level and higher networking, HTML/JS/CSS,
PHP/Perl/Python/Ruby, using databases, etc.)

2\. Enterprise software design (domain modeling, OO programming, system
architecture, scaling, security)

3\. High performance (algorithms, advanced data structures, C/C++, memory
management, DB internals, internet-layer and below networking, cryptography)

It sounds like you want to get into 3. A good way to start is algos/data
structures. Almost all the fields the parent listed benefit from a very strong
foundation in computer science: discrete math, linear algebra, algorithms,
advanced data structures, etc.

Data analysis with python/R is more for scientists and mathematicians, not
software developers. If you are being paid to analyze data as a programmer,
usually you are analyzing very large data sets and you will be using a much
more performant language or possibly even a highly parallelizable paradigm
like MapReduce.

~~~
wlievens
The easiest path into a nr 3 job here is to find a job with an engineering
product company, ie a company that sells a high-tech product that is not
software.

My current job mixes those three categories nicely and I love it :)

------
jhspaybar
I honestly don't understand this, I'm sure there is ageism, but when I'm
reading resumes and interviewing I love the more experienced developers! The
few times I've seen a solid 10 years experience résumé followed up by a solid
phone screen it has been a feeding frenzy. So much so that my company usually
can't even move fast enough to get an offer in the ring :(

On the other hand, it's really obvious when someone has 10 years of experience
staying invisible and just hanging on. Those are the ones that get ignored in
my experience, and for good reason.

~~~
aridiculous
>>10 years of experience staying invisible and just hanging on.

Can you elaborate on this?

~~~
jefffoster
There's 10 years of experience, and there's 10 years of having the same
experience time and time again.

~~~
pekk
That is a great way to rationalize deciding that a specific person is no good
even though they have the experience.

Of course it will turn out that you have personally made the most of your
time, and that you have some other reason for downing the other person.

~~~
morganherlocker
I have interviewed people with 10+ years of experience who failed fizzbuzz (in
their language of choice, unlimited time, googling encouraged). There really
are people out there who do not meet even the lowest of bars, despite having
years of experience on paper.

------
MartinCron
I'm late thirties, and I'm writing code every day and fully intend to keep
doing so until someone pries my ergonomic keyboard from my cold dead hands.

Something to keep in mind is that this industry is aging and maturing
alongside us. You can't use historical precedent for understanding
unprecedented events.

My personal hope is that the software developer monoculture (young dudes with
ancestors in Europe or some parts of Asia) will mature into the kind of
diverse profession where people aren't any more surprised by a female coder
than they would be by a female orthodontist.

~~~
stinos
_until someone pries my ergonomic keyboard from my cold dead hands_

+1 for this nice phrase :P and, out of interest: what keyboard might that be?

~~~
MartinCron
I was using a a 15 year old original Microsoft Natural Keyboard until
recently, but PS/2 ports are getting more and more rare and PS/2 to USB
adapters haven't worked reliably for me.

I just bought a Microsoft Natural Keyboard 4000 which is nearly as good, even
though the keys feel more "mushy" than I would like.

~~~
jdvolz
I use the 4000 and have for the last 8-9 years. They break or otherwise fail
to wear or spillage but I've had 4 of them and my hands and wrists don't hurt.
If Microsoft ever stops making them I fear for my wrists. Every time I get a
new job I bring in my own keyboard or have them get me a 4000 for work and
leave mine at home. Best keyboard I've used.

~~~
schrodinger
Agreed, great keyboard.

------
kennethtilton
Hey, thanks ruling out the 60s as too old even to consider. :)

I think anyone who is a seat-filler has a problem. But if one codes for fun,
if one sees new technology and just DLs a tutorial and starts using it, if one
is always thinking about how ones code can be tighter, such that every time
one looks at ones code one rewrites it, one will be OK.

No need to stop coding to make money. Top coders do fine, and then one gets to
code.

I am consulting for a company where I gave up a top spot so I would have more
time to work on my startup: [http://tiltontec.com/](http://tiltontec.com/)

I am sixty-two, have been coding head down on hard problems since 1978, on the
Apple II.

Good news, grasshopper: it never gets old.

Now if you'll excuse me, it's time for my nap.

------
jawngee
I'm 41, but I don't consider myself old.

Either way, I'm semi-retired. I do client work (iOS and experiential retailing
installs) for about half the year, then I do my own projects for the other
half.

I live in Vietnam but commute to NYC for certain client projects, so maybe 25%
of the year there, the rest in Vietnam.

Prior to the move, I did 20 years focused mostly on new media/creative tech so
my skill range crosses through design to code. This is pretty rare in NYC, so
it's never been a struggle finding work, age has never come into the equation.

It's probably an arrogant assertion, but if you are exceptional at what you
do, none of this nonsense about age will matter at all, so one should always
strive to be exceptional in their careers. For me, that's involved 18 hour
days, 7 days a week of working, learning, exploring, making mistakes and
maintaining a healthy curiosity about how things work. Every piece of software
I see, or motion graphic I see, I am constantly deconstructing in my head.

But I've worked with a lot of dudes that treat this as their jobs, and those
guys are on a trajectory I don't understand, so maybe I'm not qualified to
comment. I suspect if you're mid-level or worst, or that is the most you've
aspired to contrary to talent or skills, you'll be set to pasture at some
point.

The great thing about this move to Vietnam is that a single day at my day rate
pretty much pays for an entire month of living here. So those months I'm not
doing client work, that's a shit ton of free time to throw myself into
technical and creative challenges that you wouldn't normally encounter working
on projects for others.

As an example, I've always been fascinated with the tablet as a publishing
platform but have always felt the current toolset a (adobe dps and magplus
specifically) are glorified PDF generators that completely ignore the unique
user experience properties of the device. So I spent a good six months in
Vietnam working on the problem. And now I have publishing platform that
eclipses Adobe DPS on a lot of different levels. I also publish a digital only
fashion magazine here in Saigon (eating your own dog food). So life is kind of
random.

~~~
thebiglebrewski
You sound like your killing it, just wanted to say that. Romantically though,
how is that?

------
jorgeleo
I am in my 40s, and this is my experience:

I work as an independent contractor, and my pay has gone up

I still code every day, but my understanding of what is important has changed
a lot.

I care much more about the solution as a whole than the technology. While the
technology is important, most clients care more about correct results. From
the business side, nobody has ever tell me "Thank God you used TDD over
Angular with a no Sql database". But on the other side, I have seen software
that crashes every other time they run, but big companies still willing to pay
in the 6 figures to use, because when it runs, it solves a very complex
problem for them. So understanding the whole solution, and why is valuable,
has become much more important. And that is what has kept me as a valuable
individual contributor.

I went into management for a while, found a few cultural differences, like
that Indian woman are way smarter than most of team members. Also with younger
people, some of them need to be professionalized before they can be fully
useful, once I got one that sustained that being late to work because he was
drunk in a party the previous night was a reasonable excuse because he was the
king of JS in his shop. Didn't last 6 months.

Nobody can guarantee you any pay scale, you make your own profession.

Family becomes a big factor, so job jumping is not something to be proud of,
even as a young professional, it can be easily read as lack of maturity, and
it plays against you in your resume.

Specialist vs. Generalist. There is room for both, but just be careful that
you don't become specialist in a passing fad. Is better to accumulate
specializations, so you become a well rounded generalist

Today I am coding in 3 different (but business process related) projects. I am
part of the "think tank" that design the mathematical models behind the
different products; and also work with the rest of the senior team on how to
bring the energy of the younger people to a more self disciplined and
productive place. We are finding that too many people think that "loud and
opinionated" makes them noticeable, but the truth is that we cannot put high
value products in the hands of the frat house king (to put it in stereotype
terms: the bullied geek in the school probably has many more chances than the
high school quarter back)

------
zwieback
48, working at HP. I code every day and also get to tinker with embedded
systems, optics, lasers, sensors, etc. Every day I can't believe I'm getting
paid so well to have so much fun. I do keep up with the latest technology in
my field.

> Do you have to go into management to continue progressing upwards in pay and
> influence?

No, like many corporations we have a dual path system although one level up
from my senior engineering position I would have to do some visionary stuff,
which I'm not good at so I'll probably stay at this level. Pay is not directly
linked to position here.

> Is there a plateau in pay? Is there a drop in pay switching jobs after a
> certain number of years experience because places are looking for 5+ instead
> of 20+?

Doesn't seem to be the case here. I could imagine switching jobs gets trickier
in your 50s because hiring someone new at high pay appears riskier.

> Are older devs not looking for new jobs because they have families and want
> more stability/are focussed elsewhere?

Yes, major issue with two kids in middle school and good benefits at current
job. Planning on being more flexible in a few years...

> Is becoming a specialist rather than a generalist the answer?

I don't think so. As an engineer I think it's always good to have a balance
between a specialty and a broad base. I've benefitted more from learning new
skills but having a specialty is often good to get a start somewhere.

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your
> job? What are the older people in your workplace doing?

Fun stuff: writing code, building SW/FW/EE test systems, building production
lines, running product tests, doing failure analysis.

Boring stuff: working with outsource vendors and CMs, working through
regulatory issues.

Surprisingly, there's almost no corporate training and bureaucracy left. I
think first all that stuff was outsourced and then we decided that our vendors
were too expensive and just got rid of everything. Win!

------
markbnj
Software is a craft. Why would we stop practicing our craft as we get older?
Do cabinetmakers stop making cabinets? Not as long as their hands can hold the
tools. I'm 53 and still a working developer. Over my career I've worked with
languages from 8086 assembler and Pascal to C++, C#, and now primarily Python.
I am called on now to do more leadership, and my judgement is sought on
architectural matters more than when I was in my 20's and 30's, but the
primary skill remains my ability to comprehend a set of requirements, and from
the infinity of potential implementations distill one that will satisfy those
requirements in a robust and maintainable way. It's a valuable skill, and
since it has been feeding my family for a couple of decades now I see no
reason to let it wither.

------
bobochan
It seems hard to believe that I will be turning 50 soon, but I am still doing
what I have done for the past 30 years or so. Every day I walk to work, get a
coffee, fire up emacs, and start working.

Is there a plateau in pay? Sure, but programmers make okay money, so I cannot
complain. If I want to work more I can sometimes do consulting work or teach a
bit, but generally life is getting too busy for too much of either. I stay
where I am because I love running up the steps every day to work, but really
I've been happy in almost every job I have ever had.

My career has basically taught me that being a generalist in an age of hyper-
specialization makes me very useful. Being able to code in many different
languages and environments helps, but so does having domain knowledge in
related fields (economics and statistics in my case). Softer skills like
writing and public speaking pay for themselves 1,000 times over, as does
having a sense of humor and a willingness to share credit and help out when
the chips are down.

The older people in my place are doing pretty much the same things that I am
doing, but a few a starting to wind down and think about where they want to
spend the final days of their careers.

It seems way too early to start looking at my career in retrospect, but really
I cannot imagine anything more interesting or worthwhile than the past 30
years have been in programming. It has been an amazing ride with more cool
stuff then I ever imagined back when I was typing programs out of Creative
Computing on my Apple ][+.

------
mml
39.5 here, have been a 1 man shop for 12 years. At this point, someone would
have to be insane to hire me as FTE, and I would have to be insane to take it.

The money is better than ever, and I'm getting more and more interesting
things to do.

One factor over the last 10 years or so (I've been in the game for 20 years
now (yikes!)) has been having the experience to know which technologies to
even bother messing with.

Far more important than the above, is to mentor other people, help people, and
befriend everyone you can. It pays off in spades down the road when some C*O
calls you up to lend a hand because he remembers when you helped him out a
thousand years ago, trusts your judgement and skills.

Likewise, payback can be a bitch, so making "enemies" is not a great idea.
Life is too short.

~~~
javajosh
_> having the experience to know which technologies to even bother messing
with._

Amen. This is, perhaps, the best productivity enhancement experience gives
you.

------
georgemcbay
I'm 40 and still actively developing software; I work with another developer
who is in his early 50s and a bunch of people in their late 20s or early 30s.

I've not seen a hard plateau in pay but there's definitely a certain amount of
soft leveling off in terms of percentages -- early in your career it is way
easier to find a new job with a 50% pay increase, once you get into 6 figures
that obviously becomes increasingly harder to repeat.

The only pay drop I've had was voluntary, to work at a startup I wanted to
work at more than I wanted to maintain the pay I was making previously.

I think you can remain a generalist if you "specialize in being a generalist".
My current job is doing Android client software development, but at home I
code mostly in Go (servers, camera control systems, embedded Linux GUIs, etc)
and I am still constantly learning new tech, new languages, etc, and still
enjoy playing with technology in general seemingly much more so than even my
late-20s/early-30s coworkers. Just built a RepRap 3d printer at home, have
been learning about camera lens design and creating some custom lenses for my
cameras (relatively basic Double Gauss designs with 4-6 elements at this
point), etc.

------
herghost
I was doing dev at a large utility company in my early 20s. I was only doing
it a few years (~4 or 5) when the tech stack was completely overhauled and it
required me to re-learn the new stack. I started to transition across (in my
own time, at my own expense) and then the company decided to outsource the
majority of the work and take on the outsourcer's stack. This left me with the
choice to re-learn again within a very short time frame, or make a change.

I figured it was a sector in constant skills cycle and decided to get out of
the rat race.

By my late 20s I was a business analyst - having the tech/dev background
really helped.

Now, I work in security. the tech/dev/business background is invaluable.

In short, generalism seems to be the path (in terms of skillset), whereas you
can specialise in terms of career direction).

~~~
ceautery
JB?

~~~
herghost
I'm sorry, I don't know what that means.

~~~
ceautery
My mistake. Your story is very similar to a former coworker of mine. Left a
utility for a security gig. Those were his initials.

------
TwistedWeasel
I can't speak for the community at large but I can tell you my path, my plan
and my worries about that plan.

I just turned 36. I had been a manager for seven years across a few companies,
managing teams ranging in size from 4 engineers to 35 (five teams underneath
me). I reached a point in my last job where I was spending 80% of my week in
meetings and the other 20% trying to stay on top of what my team was doing
technically. I found myself becoming less and less useful in the technical
discussions as the team was building up skills in new technologies that I
didn't have time to learn.

I felt like I was losing my ability to be an engineer and therefore my ability
to be a good engineering manager. I was not enjoying any part of my job at
all. The rare opportunities to write code and learn new things were my only
time where I felt good about the work I was doing.

So, I quit and got a different position as a senior developer. I told my new
employer up front that I had been a manager for a long time and I wanted to be
more technical again and focus my career on technical expertise. I my new
position I am able to lead and set technical direction without being a
"manager" in the traditional sense, people don't report to me but I help
define what we're building and how we're building it. I am able to write code,
learn, teach and explore ideas without feeling bogged down by management. My
goal is to grow technically as much as I can and avoid becoming a manager that
spends all my time in meetings again.

However, I am not sure how long this can last. At some point career growth
seems to always steer towards doing less hands on and more managing of others,
so perhaps i'll just need to find a way to enjoy that.

~~~
digita88
Thanks for sharing. I have done something similar as well - getting out of a
role that demanded more management from me and into a role that is more hands-
on.

------
levosmetalo
Go to management and learn to play politics. Sooner or later you'll have to.
There will always be someone younger and cheaper that will be good enough for
the not so challenging lob you have. You just can't compete with them. Yes,
there are places where one can advance much longer on a pure technical path,
but there are so few these jobs and places that it's just no realistical if
you are not in top 1% both in technical or luck skills.

If you want more money, sooner or later you'll have to "take more
responsibility" and "lead the team". While being on the management level just
above the programmers, you'll still have some contact with the technical part,
but when you progress further, you'll loose it and become the pure bean
counter and look at other programmers as resources.

And you will hate that, but you still have this mortgage you have to pay, and
to save for your kids colledge, maybe go few times a year on vacation, or you
need to do that latest gadget as an impulse buy.

And with the time, you will hate your job, as much as anyone else at that
position. You will start to question whether it was the right choice to become
software engineer. But it was. You had some ten years when you liked your job
and found it both well paid and satisfying, which is much more average person,
even with a degree, can realistically hope to have.

/rant

Being in a similar situation, I had to vent a bit. I made my choice to switch
to the dark side and go the management route. I know I'll hate it, but that's
the reality where I live. I know I could get a few more years as a software
engineer in Silicon Valley, but USA is among the last places on earth where I
would like to raise my family. So, management, here I come.

------
neves
I'd like to link to the top HN story now: [http://math-
blog.com/2014/03/10/stem-shortage-claims-and-fac...](http://math-
blog.com/2014/03/10/stem-shortage-claims-and-facebooks-19-billion-acquisition-
of-whatsapp/)

The WhatsApp guys are experienced engineers who were rejected from FB and
Twitter. Prepare yourself for ageism. Your path is to create a $19B company.

~~~
rhizome
Yeah, that advice has been bubbling around since the deal was announced. It
just strikes me as "instead of _being_ a unicorn, _create_ one," though.

------
boothead
I'm 37 in May. I have been:

A marquee erector

A chemical toilette attendant

A barman

A bouncer (prefer the term doorman)

A commando

A telecoms engineer

A programmer of various different languages

Now I'm the CTO of a start up and we don't have any older people (apart from
the founders by a few months). About the only thing I can think of to say is
to keep learning forever, as many different things as you can think of. With a
background in development and that kind of mentality you'll always be useful
to someone! :-)

------
estebank
Clean Room Technician: You know what they do with engineers when they turn
forty? _[to Aaron, who shakes his head]_ Clean Room Technician: They take them
out and shoot them.

[http://www.imdb.com/title/tt0390384/quotes](http://www.imdb.com/title/tt0390384/quotes)

~~~
brickcap
I love primer. This quote made me smile.

------
j45
Developers should be growing to become bridges between business and
technology. Businesses rarely have technology problems. They have business
needs that technology might help solve. Even though most businesses are
becoming software businesses regardless of industry, it's from the perspective
of managing the details of their business.

Learning and delivering strategy is far more valuable than just tactics
(latest hip language/framework/stack), because a solution doesn't exist just
in programming alone, but a combination with policy and process.

As you grow, you can become a strategic aligner that is not dishonest about
using the latest toy at the expense of your customer's growth.

I'm in my early 30's, developed professionally for over 15 years.

The one thing I see over and over now is how secondary development starts
appearing the more I interface with upper level management directly. There is
a major starvation for developers who can learn to understand a problem and
leveraging a solution to magnify competitive advantage.

I spend more time thinking and analyzing the problems (way more) before ever
daring to trivialize something to whip up some code.

This ends up with my development work being tremendously more valued, instead
of just being a means to an ends. As I get older, the value I add is not just
coding, but being able to architect a solution that

------
jakejake
I'm in my mid 40's, still programming away but basically have been building
and leading teams for a while. As it turns out I really like working on
improving process. I've watched friends my age burn out and leave the
industry. A lot of the guys that dropped out were people that weren't really
obsessed with computers, but rather just chose that as their major - possibly
for financial reasons. I can see how all of the minutia could get annoying,
but I just see it as part of the business.

For me it's not just about building things anymore. It's more about what I
consider - building things and doing it with style. Give me the time to plan
an app, put together a team, predict our finish date and then build our
system. My goal is to do it with the team feeling happy and proud of their
work the whole way. No horrible crunch mode or last-minute heroics. At this
point in my career that's what I aim for more so than just getting an app
built.

I also like helping young people become proficient, reliable developers who
know how to plan and maintain large systems. Young developers tend to have a
lot of clever ideas and know the latest tools - but I have various skills that
they lack or find uninteresting. So I don't see them as competition. I think
young and old developers can really compliment each other.

As for salary, it's hard for me to say since I'm in year 5 of a startup
venture that just hit the black last year and is looking towards being a
profitable company. So whether or not I will ever be looking for another job
is something that I'm unsure about. I've pretty much decided that I would like
to manage larger teams - not because I have to but because I enjoy it.

------
ceautery
My story is, I think, atypical. I have no college experience, have been in IT
for 19 years, and am now 42.

I was hired to my current gig 11 years ago to fill an emergency need for
someone with perl and B2B experience, where I showed myself to be competent
and approachable, and received a token promotion and consistent merit raises.

I have made all my IT hires in a similar way. In 1995 CompuServe had an
immediate need for anyone who could tell a mouse from a keyboard, and due to
my experience troubleshooting modem connections to play better dial-up Doom, I
was put right into tech support in the ailing company. Before they imploded, I
was hired at an ecommerce VAN to troubleshoot comm problems and write comm
scripts for some of their software packages when they were very short on good
comm help.

At each of the companies I've worked for over the last 19 years, I've dodged
layoffs, demonstrated competence and agility, been given a single token
promotion, and have been paid below the market average for my position due to
not having a college degree.

Pluses: Haven't been fired, laid off, aged out, or put out to pasture. I have
had consistent employment, taking only two contracting gigs over the years,
both while still employed full time. Plus no one gripes that I wear jeans in a
business casual environment, or that I look like a hippy with my 21" hair.

Minuses: Fewer promotions, lower average pay.

If I did the math of some of my peers who negotiated more pay from employers,
but were then laid off during low profit years, I would either break even or
end up in the black by comparison.

By showing competence, a sense of urgency, and willingness to keep an
enterprise system healthy for the long game, I've done pretty well, plus no
pesky student loans to pay off.

...but on the other hand, I haven't written that killer app, founded my own
tech firm, or otherwise found my way to riches. As 50 gets nearer, and as I
cost my company more, any of that may change. I fully expect within the next
re-org or two to be handed a severance package, and then see if my secret
project-x is a gold mine waiting to happen, or if I've been kidding myself all
these years.

~~~
infinite8s
Why wait? You should see if your project-x is a goldmine now, when you have
some leeway to iterate pivot if it turns out its not the gold rush you
expected.

------
groby_b
44, and yes, it's a concern on the horizon that there might be ageism - but so
far I'm not seeing it.

> Do you have to go into management to continue progressing upwards in pay and
> influence

That depends on how much pay and influence you want. At some point, influence
means managing. If not in title, certainly in actions.

> Is there a plateau in pay? Yes and no. If you stay in the same qualification
> range at a given company, your pay will stagnate modulo annual increases.
> Move up or out to improve.

> Is there a drop in pay switching jobs after a certain number of years
> experience because places are looking for 5+ instead of 20+?

There can be. If you can, trade the drop for something you care about that
advances your career. E.g. 2 jobs ago I took a pay-cut, but that translated
into being given the responsibility to build a new team from scratch. It was
something I wanted enough to take the cut, and it was a great learning
experience. I subsequently traded back for money ;)

> Are older devs not looking for new jobs because they have families and want
> more stability/are focussed elsewhere?

Can't speak for all - I usually pick jobs I like, at companies I like, for pay
I'm OK with. As long as the job comes with growth opportunities, I don't look
for new jobs because I'm enjoying what I do.

If I don't, I'll probably switch.

But yes, I've also settled down a bit more. I wouldn't root up my family on a
whim and move to a different continent any more, unless it was a _stellar_
opportunity. Or maybe I'm not settled down, just pickier.

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your
> job? What are the older people in your workplace doing?

I write code, and am trying to move into a bit more of a lead position,
because that's what I care about. In general, the ones who want to write code
do so. The ones who want to manage do so. And we've got people that are
significantly older than I am.

In short, I wouldn't worry too much about being too old just yet :) Just make
sure you keep your skills sharp.

------
hopeless
This has always bothered me since my early twenties: my Dad was a programmer
into his 50's (albeit, as a manager too) but he'd actually risen _to_ those
rank from an engineering apprentice so it's a bit different.

For me, there's the obvious path into management but being good at your trade
does not imply you'll be good at management.

I think there's a more subtle path too: consultancy. I particularly like
consultancy because you can start off basically as a freelance developer and
gradually raise your profile into project management (if you own a consultancy
team) or architecture design or CTO-type problems. It's much easier to get
away from the code whilst still avoiding the management trap.

Of course, that assume the need to move away from the code but I know I don't
learn new technologies quite as well as I did 10 years ago and that'll only
get worse over the next 10-20. Also, as you get older, you generally need to
find higher-value activities and a monkey coder is not top of that pile.

------
asimeqi
Few weeks ago I got an email by a person who wrote a famous piece of software
in 1971. He was given some software I had written and was asking me questions
because he intended to make a few additions. My software was written in C#. I
don't know what he used in 1971 but most probably it wasn't C. I have to admit
that his questions made my day (or week). I learned that he is over 70 years
old and programs every day. I hope I will be doing the same at his age.

~~~
seunosewa
Can you tell us his name, please?

~~~
asimeqi
Would love to, but I think I would look like I am namedropping. Also I
probably would need his permission to mention his name.

------
jwarren
My father's in his 60s. Formerly a Pascal/VBA programmer, he's found it very
tough going over the last decade. 20 years ago, he was working for the London
Stock Exchange but now _scrapes by_ making (actually very impressive) complex
Excel macros for local small businesses.

It makes me really sad. I've tried retraining him in web development, and he
actually picks it up really quickly, but I doubt there'd be any work for him
out there given his age.

------
jebblue
I'm in my 50's and still do what I've done since my 20's then as a hobby and
since 30's for pay.

The older people where I work? Yeah not sure, management mostly I think. Some
older people still program where I'm at.

My dad taught himself programming as a hobby in his 60's.

Why is this ever even a question anyway, no one asks what happens to people in
their 50's who craft furniture, drive trucks, carry on scientific experiments,
climb mountains, etc. Do what you like.

------
psychotik
Older developers get garbage collected

~~~
thebooktocome
There's an easy solution to that problem: have two older developers take each
other as references....

~~~
noblethrasher
Don't most garbage collectors use tracing?

~~~
Ihmahr
Only the younger ones...

~~~
cwzwarich
Actually, tracing GC is older than reference counting.

------
compay
I'm 41. I also worry about ageism but so far I don't feel that it has affected
me yet.

> Do you have to go into management to continue progressing upwards in pay and
> influence? I know this isn't the case at some companies (e.g. Google), but
> is it rare or common to progress as an individual contributor?

That has not been the case for me. I'm currently doing software development
for a startup - the same thing I've done my whole career. I do get asked to
provide guidance and help for younger devs sometimes, but I don't mind that
one bit, it's actually very personally fulfilling.

> Is there a plateau in pay? Is there a drop in pay switching jobs after a
> certain number of years experience because places are looking for 5+ instead
> of 20+?

For me, so far no. I'm currently making the highest salary I've made yet in my
career. I've been here for a year and a half.

My age has not been an obstacle to finding a job yet; I've had plenty of
interviews and offers over the last 5 years and have chosen the places I
_wanted_ to work, rather than the places where I _had_ to. It's worth noting
that I'm white, male and American, so I realize I'm less likely to suffer from
workplace/interview discrimination with US companies than people in other
demographics.

> Is becoming a specialist rather than a generalist the answer?

I'm pretty much a generalist web developer, I do backend and front end work,
On a nearly daily basis I work with Ruby, Javascript, Postgres, Haml, Chef,
CSS, Sass, Shell scripting, etc. I didn't have to become a specialist to get
my job, although the fact that I've been doing Ruby for about 10 years did
help me get it. I think the answer is, just to be good at what you do, whether
that's as a specialist or a generalist.

> Are older devs not looking for new jobs because they have families and want
> more stability/are focussed elsewhere?

> What are the older people in your workplace doing?

I have two kids, 5 and 2. My coworkers are evenly split between man and women,
are mostly in their 30's to 50's and most of them have kids too. A coworker of
mine recently returned from a ~5 month maternity leave after having triplets,
and we've been flexible about her work hours/conditions because we didn't want
to lose her. So we're definitely not averse to having employees with families.
I look for companies that have this kind of attitude to work at. It's not as
hard to find as you might think; as long as you're good at what you do people
will probably want to hire you.

I'm not sure to what extent my company is "typical" but you can at least count
me as one "older" developer who is happily still working as a developer, was
able to have a family without harming my career, and didn't get pushed into
management.

All in all I would say, your early 30's is still young. Statistically you've
got more than half of your life ahead of you, likely the best part, too. As we
get older I suspect the demographics of our profession will change along with
us, and there will be more older people in roles we stereotype as being for
younger people. At least that's what I keep telling myself!

~~~
chadcf
> As we get older I suspect the demographics of our profession will change
> along with us, and there will be more older people in roles we stereotype as
> being for younger people. At least that's what I keep telling myself!

That's my hope too. At 36, I still enjoy what I do and have zero desire to
move into management or run my own consulting business (I like the security of
steady pay). While software is considered a young man's game, my hope is that
this is mostly because historically it's a young industry and that I'll age
along with it.

I've been doing this 15 years and am better than I've ever been. The key is to
keep on growing and learning. I naturally love learning new things so that
keeps me relevant and productive, and I hope to continue doing it the rest of
my life. Or at the very least another 20 years (I'm 36) so I can pad my
retirement savings before moving to a freelance / consultant lifestyle).

Also, call me crazy, but I don't really care about continuing to climb the pay
scale or company charts. I make enough now and like what I do. More money is
great, but my overwhelming focus is on keeping a rewarding career going and
not continually earning more and more.

~~~
vitd
You say, "I like the security of steady pay". If you find a company that's
really good, you can bank some of your pay now to make starting your own
company later less risky.

------
peter303
I am in a vertical industry, i.e. something else (energy) plus computer
science. Lots of purely trained CS-types do not do well here because they dont
understand the domain. My degrees from MIT and Stanford are in the domain.

Incidentally, Google has matured and hired some of my classmates. Facebook
still seems to be more of a CS kindergarten.

------
mml
Anecdata:

My father is nearly 70, and still writes & maintains those horrible
departmental VB+Access apps. He _started_ in his late 40s, having noodled
around with spreadsheets & databases since the 80s (from whence my fascination
with this stuff stems).

Sadly, the world of VB & Access is so alien from my own that we can't even
talk shop.

------
vijayr
My manager is at least 55+ (he retired, but came back because he was bored) -
he writes code all day. My CTO is 50, he also writes code (though not as much
as my manager).

From my (limited) experience, it looks like, as we age, we have these options:

1\. Continuously learn new things - this negates the "old man" perception in
the industry

2\. Be good (not necessarily bleeding edge) in programming, but have good
domain knowledge (this ties us to one domain though) - these kind of people
are very valuable, as most programming jobs don't need bleeding edge
skillsets.

3\. Become a suit

------
JabavuAdams
I'm 38, and I work at a small company with 11 full-time employees. I'm tied
for oldest. It's by far the best place I've worked, just in terms of general
autonomy and not worrying about stupid stuff. We've also released a number of
hit games, which helps people to stay relaxed, I'm sure.

I'm the eldest of 5 developers, but I think the youngest is 29-30. We're
essentially all generalists, although we have individual specialties. A couple
of guys have really deep knowledge of iOS strangeness or shaders. I've got
some specialization in game AI and physics, as well as game design skills. Any
task can go to any dev and come back with reasonable results. There's no hand-
holding.

We're an iOS shop, so my day-to-day coding is in Objective-C, although I do a
lot of tools programming in Python 2.x.

Generally, I get to do what I want, with some exceptions. There's a strong
culture of just doing something that helps the company, without necessarily
being tasked to do it. Taking a day off to do a research project is also
tolerated when we're not on a really tight deadline.

Unlimited vacation and sick-days, within reason.

I don't see working for anyone else in the future -- I'd have to start my own
gig.

There's some temptation to work for a Google, but at this point in my career
it's getting a bit undignified to work for other people as an employee. I.e. I
don't want to deal with your BS, unless you're a client (I can fire you).

------
mgkimsal
There's not been a 'traditional' software career yet, so it's hard to tell if
what's happening is what 'should' happen.

Thinking about this from a numbers standpoint, the market for people with
software development skills on a truly national (or global) scale only really
developed in the late 70s at earlier - I'd say not until the mid 80s did we
see enough of an uptick such that the idea of a long-term career for large
numbers of software developers was viable. With that viewpoint, we're just now
seeing a ~30 year mark from the start of that time period - people who started
in their 20s or 30s in software are now hitting their 50s and 60s. Watching
and learning from what their careers have been will be instructive for people,
although I'm not sure there's a whole lot of lessons we can draw conclusively
from that yet. It's only one generation, and the world of tech changed
dramatically during that generation.

Will this always be a problem? I don't know - embeddable bio-devices may be
the next seismic shift, but "the internet" \- the idea of billions of people
always connected to services - this was little more than a dream in the eyes
of a few people back in the 80s. Given _that_ viewpoint, the career of
software developers in the "always connected" age of the internet has been not
even 20 years.

Unrelated, I've had pretty gray hair since my early 20s, and I'm not sure I've
been too affected by ageism, but I know it's been a factor during some hiring
- people assuming I was in my 40s or 50s when I was ... 31. :)

~~~
gaius
_There 's not been a 'traditional' software career yet_

Really? There were full-time professional programmers in the 1960s.

------
bbaisley
I'm in my late 40s and switched to full time management about a year ago. I
didn't have to, it was a choice. I felt there was a management/leadership gap
at my company. One I thought I could fill and do a good job. It wasn't about
pay. Yes, the pay is greater. It is inline with my expanded sphere of
influence. That said, how many managers have you seen doing tech talks at
conferences? As a developer, that is one place you can expand your sphere of
influence. Open source code is another outlet. I don't think there are limits
to pay, or that it plateaus. There are less jobs paying 150K than 100K, less
jobs paying 200K than 150K. There are probably more management jobs than
developer jobs at the higher levels. So as a developer, the competition is
greater. Good developers can get good pay, great developers can get great pay.
Are you a good developer or a great developer? Google good vs great. I'm not
looking for a new job because they are finding me. I keep my LinkedIn profile
updated, I'm active on Stackoverflow, I open source. I actively manage my
public profile. I find an online reputation is almost a requirement for the
higher paying roles.

~~~
wildfire
Yes.

Totally true. _IF_ you are a developer.

How many managers do you meet who still contribute to Free Software? Or who
even look at Stackoverflow, let alone contribute.

You might, which might make you exceptional but the vast majority of managers
do not. Yet you are llikely only achieving 10-15% premium over them.

Whilst you (and they) are achieving a significantly higher premium over
existant developers.

The problem is that the close you are to the people are the top of the
leadership chain, the more they believe you are valuable -- even when your
value is motivating other people nothing particularly intrinsic to you.

------
tungwaiyip
I'm in my mid 40s. I have been coding my entire career and I am still coding
everyday.

The startup I have worked for 3 year was not quite taking off. So a few months
ago I decided to quit to look for something new. This is the first time I have
quit a job out right without having a new job waiting. It turned out to be the
best thing I have done. Once I broadcast the message that I am in the job
market, my email box quickly fill up with requests (I'm in the San Francisco
job market). I've spent the next week pretty much interviewing full time. Very
soon I've received multiple job offers. The company I like the most did not
make the highest offer. But I successfully negotiate up to a satisfactory
level.

In terms of work and technical skill, I feel I am in the top of the game. I'm
not sure where people get the idea that young person is better than more
experienced. New knowledge often build on top of old knowledge. Fundamental
skill like logic, math, data structure are just equally relevant. Plus
experience is useful when you need to make judgment on where and how things
are likely to change, and where things is more risky that deserve more
attention for design and testing. That say the landscape of technical
knowledge is huge and quickly expanding. There a new thing to learn everyday.
I am aware that many people around me, both young and old, are really
talented. There are always things I can learn from them.

In terms of pay, it is rising in absolute term. But I'm not in management and
I'm moving mostly laterally. I don't believe I am making more than someone who
are in their 30s. In this sense both my career and my pay is plateaued. But
still I satisfied with the work and pay level. I think this is an excellent
career choice for myself.

------
eranation
I'm 36+ so I consider myself old. I am a tech lead in a "startup that gone
enterprise" and write Java, Scala, and web.

Most of my friends are between 35-45, all fully employed with good salaries
(mostly Java / Enterprise shops though, but also some cool startups / Googlers
/ Twitter / Amazon)

My take on this, both as an older guy, and also as a hiring manager is that
for me merit and skill matter more than anything else, I'm completely age,
race, color and gender blind. (I recently hired a 50+ years old dev who didn't
work for 5 years, he was simply that good)

Good developers of any age will always find job, at least this is my theory.

Yes, there are 10X 1 year of experience people, yes there are people who as
they grow older they have less desire to work long hours / cut salary (due to
having a Family, this is legitimate) but I don't really believe that anyone
out there will say no to a 40 years old developer if she is an ace. If someone
does, then they are missing the talent and hurting their own companies.

I'm 100% unforgiving to skill issues, but in my experience, usually the older
the candidate, the better they do, merely due to more experience.

They might not all know the latest vagrant / docker / hadoop / scala / Haskell
/ scss / node.js trends, but they know how to write code.

I'm shocked how many people with BSc or even MSc in CS, years of experience,
simply don't know how to code. I mean some can't code their way out of a paper
bag. But this has nothing to do with age, the last thing I care about is
someone's manufacturing date. really. it just doesn't make any sense to do so.

------
v0idness
Have you ever seen Soylent Green ?[1]

Watch It, and you'll discover what happends to Older Developers.

By the way, I'am 36 now, nearly half way. I still looking for code only jobs,
I've been managing people since I was 18 to now. I go reverse, and toward more
and more coding, architecture, research ...

[1][http://en.wikipedia.org/wiki/Soylent_Green](http://en.wikipedia.org/wiki/Soylent_Green)

------
DEinspanjer
I'm hitting 40 this year. I've been a professional in the tech field for
almost 20 years, and a hobbyist for another 5 before that. I am completely
self taught. I never took any computer science courses.

I have done pretty well in the field. I eventually focused on data warehousing
and business intelligence. I worked for a startup that was recently acquired
by a huge company, another startup from early on, and the highlight of my
career was working on the Metrics team at Mozilla. I eventually accepted a
management position in that team, but after a few years, the stress was
getting to me and I missed coding so I switched back to the technical track
and I'm doing software architecture at Pentaho, a business intelligence tools
company.

I live on the east coast, I work from home full time. I make a good salary. I
took a very small drop in pay when I left Mozilla, but it would be tough for
many companies to compete with the full scope of life and benefits at Mozilla,
and I wasn't unhappy with the change. I am on the upper end of the pay scale,
but having been a manager at a couple of different companies, I also know that
there is still plenty of room for improvement, even staying on the technical
track.

I like @bane's reply, although I feel that personally, there is an important
distinction between the middle-management handing hiring, firing, performance
reviews, and bureaucratic BS and the director, CTO, VPoE, or team lead where
you are doing the abstract work he discusses. Maybe I just got unlucky or I
didn't take advantage of the opportunities there though. :)

I would eventually like to move into a principle role, or _maybe_ a director,
but I personally have to be careful because I enjoy leading teams but I don't
enjoy middle management. :) It is very possible that I might not hit that
level because of my self-imposed restrictions.

I attribute my success to a ceasless passion for technology in general. I keep
a notebook where I jot down any keywords or tech that I run across or hear
mentioned so I can look into it in my spare time. I love diving deep into
these technologies and understanding where they can be effectively applied. In
most people's books that would make me a generalist, albeit within a
specialized field.

I don't pull as many over-nighters as I used to a decade ago. I am more
concerned about stopping work in the evening to spend time with my family.
That said, I have never felt or acted like a "5:01'er", and I don't believe I
would continue to prosper in this field in a way I want if I were to become
one.

------
StevePerkins
If you walk into any Fortune 500 "enterprise" environment, MOST of the
employee developers working on the core business systems are typically in
their 40's, 50's, and up.

It's not as "sexy" as tinkering with this month's Scala/Node/Go/Rust/Julia
fad... but when you get older and have family and other commitments,
perspective often changes. A lot of guys just want to "get things done", and
then go have a life outside of work. To be fair, most developers continue to
learn new technologies and skills throughout their life. But the drive to
always be on the bleeding-edge with your professional work tends to be a trait
of younger developers and smaller companies.

I think a large part of the fear of age is that we don't see a lot of middle-
age web developers. That is because Generation X was really the first
generation for which web development even EXISTED during our entry-level
formative years! So I'm not convinced that we will all simply vanish into
management 10 years from now. Rather, I think you'll just see a lot of middle
age Gen-X web or Java developers, with perhaps younger guys focusing on newer
niches (e.g. wearable devices, VR, pure client-side JavaScript with little to
no backend, etc).

Or maybe web development will become a more cross-generational field, with
middle-age and younger developers working side by side. Hard to predict the
future with certainty. At any rate, I'm about to turn 40 myself, and I stopped
stressing out about my "exit strategy" a few years ago. I'm currently working
for an exciting small start-up. I ENJOY being hands-on with the code... and as
long as I maintain that passion and desire to learn, I find that my income and
responsibilities keep going up. I'm sure that will plateau at some point soon,
and maybe decline later in life if I choose to slow down a bit. But I find
that I'm still highly employable among the employers that I want to work for.

------
shitgoose
It depends on you. If you are one of those developers, who like butterflies
fly from one framework du jour to another, then you will find yourself
obsolete pretty fast. There is always going to be someone with more time on
their hands to convert Spring to asm.js that runs in JS emulator implemented
in Haskell.

If on the other hand you are interested in what is the _business purpose_ of
what you are doing, then you may have a long and rewarding engineering career
ahead of you. Developers of 1st kind (butterflies) are dime a dozen. Second
kind is much harder to find - someone who understands the business. I would
recommend to specialize in business, but remain a generalist in technology
(they haven't invented anything new since LISP and APL anyways). As a bonus,
if you get sick of development or modern developers, then you can easily
transition to business side.

I am in mid 40's, work in Finance.

------
mildtrepidation
Older developers never die. They just fade away.

I'm in the "start your own gig" boat as far as people who have a useful skill
set and don't want to learn an entirely new set of languages/frameworks/etc.
I'm nearing my mid 30's have a consultancy, but simply being a consultant with
a decent rate is a better option for making more money yourself without having
to play as many corporate games (provided you have the discipline and tenacity
to work well by yourself and stick with it).

The other side of that is creating products, which has been beaten to death
here (look to patio11 for great inspiration and excellent insight), but it's
quite relevant to this thread. It's somewhere between a massive amount of work
and a crap shoot, but if you can figure it out and do it well, in my opinion
it's the best of all realistic worlds for people in our position.

------
jpdefillippo
We started a podcast... Grumpy Old Geeks.
[http://grumpyoldgeeks.com/](http://grumpyoldgeeks.com/) where we answer damn
near every question you just asked in one episode or another. My cohost and I
are both 20 year web vets in our 40's now so dealing with all that bullshit.

------
philk10
I was a dev for 20 years at the same company - went from being an Assembler
and BCPL programmer to C, C++, Visual Basic, learnt web stuff when that came
along. Then the mid-life crisis hit ( well, more like my daughter was grown up
so I had freedom to move ), thought about career changes and became a tester.
A few years after that I moved from the UK to the USA and am loving my new
adventure. Working at a small company as their main exploratory tester,
working on several projects at a time, all sorts of domains and techs and
still learning new stuff.

The devs I worked with for 20 years either stayed and stagnated with average
pay rises every year, moved onto new firms to get a bigger pay rise, one went
contracting then earnt a lot of cash and retired to be a farmer in Cornwall.
Another dev retired with a nervous breakdown

------
dagw
Most old (50+) programmers I've worked with have spent most of their time in
some variation on theme of management, only to occasionally sit down and write
code when their unique expertise (Fortran, Lisp, Cobol, APL etc.) is needed,
occasionally to great surprise. A few move on to start highly specialized
consulting firms focusing on the sort of things the 'kids' don't know anything
about (Fortran, Lisp, Cobol, APL etc.).

The only 50+ programmers I've worked with who where still employed as
programmers as their main/only responsibility where those who'd been at the
company since "the early days", had written and/or designed all the companies
core systems and thus where the ones who understood the system better than
anyone.

------
mcv
My dad was programming right until his retirement. He always refused any sort
of management role (though he occasionally got a lead role for a high-profile
project thrust upon him). I know one of the things he worked with was Java, so
it definitely wasn't all old stuff. He was working on an open source project
in his spare time, though strangely that seems to have stopped since his
retirement. I should ask him about that.

I'm 40 and still young. I'm learning tons of new stuff, developing into new
areas, and started as a freelancer two years ago (which boosted my pay quite a
bit). I still have great plans to work on ideas of my own in the future. No
idea where I'll be in 10 years, but I bet it's something totally different.

------
detIbVendyinyoj
Late 30s. Recently took the plunge into management. I suppose I can manage. I
don't love it. Can't say I recommend it.

At least when I was a developer, I could focus on the technical parts. If
things went south, I could hone my skills for the next gig on someone else's
dime.

I should probably be honest with myself and move into consulting and
contracting before my skills degrade too much and I'm less relevant for it. I
honestly don't care much for the politics of management, I'm not terribly
charismatic, the company's processes are tiring and frustrating, and my team
would probably be better served by someone who handles all that well. I'm
scraping away time to hack when I should be taking care of the team.

------
pyrrhotech
Don't listen to what anyone who says that you can make as much as a programmer
as a manager. The best programmers in the world with no management experience
are going to cap at much less than a million a year in 99.9% of cases. Usually
400k or less. That's still good, and if you are happy with that stay a
programmer! Just don't justify it saying that's the most you could make.

People who go into management literally have no cap in earnings. There are
people who started as engineers and worked their way into senior management
and even C suite positions. These positions can pay 7 or even 8 and in some
cases 9 figures a year. The cap is much, much higher than you could ever make
as just a programmer.

~~~
wallflower
Usually but not always in most corporate structures an MBA from a brand name
school is required to move into the mid-high six and seven figure management
positions.

~~~
FireBeyond
Late comment: but handily enough, many large enough corporate structures will
happily pay your way through MBA school when you are middle management with
"potential". My ex-employer sent one of the managers in my group through
Dartmouth's MBA program.

------
gesman
I'm 50 and along with senior coding job I run my own side hosting company,
occasional moonlighing consulting gigs and always interested in launching and
trying little business ideas here and there.

I also get more and more interested in personal development. Getting through
middle age, heavy swings of depression, emotional health struggles, addiction
struggles are issues common to most, not only programmers or technical people.

Having overcome all these I've collected a set of very useful and practical
personal improvement methods that I plan to gradually launch as my personal
development business to help other people who are suffering from these issues.

I like to solve my own problems and then help others do the same.

------
huherto
I am 45, I have been working on software development for 25 years.

\- You can move into management, but you have to keep your technical skills
sharp. It is harder to find management positions than programming positions.
Also, you cannot manage what you don't understand.

\- I have stayed around 5 years on each job. Knowing the specific systems of
company as well as the technology makes you very valuable at that company.
However, you may be able to raise your salary if you move more often, but that
has its own risks.

\- Specialist or generalist? if you are willing to move it is probably better
to be a specialist.

\- I still enjoy coding, the trick is to think of it as a craft. The feeling
of being good at something, is a big motivator.

------
ishbits
I'm 39 and write code every day for my employer, but outside the scope of the
engineering team. I guess it may fall under exploratory/architectural work for
what might be future products, though if they gain any traction they will move
into the engineering team, and I move on.

I guess this falls under the "more and more senior as a developer", but I'm
outside the direct line of fire of bugs, deadlines, etc.

I can't complain, and I'm often working on newer technologies than the folks
in engineering, keeping my relevance.

My plan will probably to migrate into a consultancy.

------
zoom6628
You should be worrying about plateau in your mind set long before you worry
about the pay aspect. Yes we all need income of some sort. Start with living
within your means, and then follow what interests you as best you can. Im 51
years old next week, started coding Portran and Basic at 13, worked as a dev,
then did consulting, business operations work, started my own business in
Hongkong, and now im a product manager of an American software company
responsible for Asia Pacific. I could get paid more elsewhere but i love my
job and the environment ( live in Guangzhou ).

You will get all sorts of advice about learn this, do that. Bottom line, know
yourself well, especially what is deeply important to you as a person, and the
rest will take care of itself. Spend time to ponder, have fun, try everything,
stay optimistic, read widely.

Right now I get up at 05:30am every day to hack on Arduinos in C and Pythong
and burning my fingers with soldering iron, and doing stuff to help my son on
his PhD research into humanitarian logistics. 07:30 i down tools, breakfast
and shower and go to my day job of ERP, global MNCs, C#, ABL, databases cloud
this-and-that. Evenings i review and CTO on a system to help people
collaborate worldwide. In between times im learning yoga. Colleagues amazed i
do so much. The secret is that hackers/developers are blessed with a natural
curiosity - when we learn to occasionally turn that on ourselves we can find
that which motivates us, and then can follow that and have tons of fun.

Wish you well.

------
mabhatter
The big thing is that developers move to "adult" companies. The pay is less,
but they get to act like grown ups, take vacations, have families... Sure the
work is more boring. Who doesn't love EDI or Factory planning!!! But getting
those business skills down and implementing what the accountants want is like
50% of "computer" jobs that mostly are never, ever advertized.

I'm 40 and still looking at more school and something to keep busy another 20
years after the kids move out.

------
elliottcarlson
I'm in my mid-30's and was very reluctant to go in to management, wanting to
code as I have done since my first job at 16. In the last 18 years I was happy
being a developer, but over the course of the last few years I have come to
the personal realization that I would need to eventually move in to a
different role - I didn't want to wait too long either. I recently got the
opportunity to move in to management and don't regret the decision. Sadly,
it's brought me to 100% management, 0% development - but I make sure to review
every pull request, knowing exactly what is going on. Additionally, I still
work on little side projects of my own at night/weekends - it takes care of
the itch to want to code, and it's stuff I am really passionate about.

As for salary - I believe I was getting close to plateauing as a developer in
my area (for jobs I would want to do), and I have opened up my career and
salary path a bit more.

Regarding looking for jobs - I moved from the agency world in my early 30's to
the startup world. I am so much happier, even with the perceived risk, I
believe it has made me far more marketable for future endeavors. I got to work
on far more interesting things, and the people I've met after making the
switch has helped me tremendously.

------
andretti1977
I'm a 37 italian computer engineer, i made my first super-easy assembly
program when i was 7 and loved programming since then. I've worked for big
companies and left them for a small company where i learned a lot. After 4
years i started freelancing. Now, 4 years later, i can say that my pay grew a
lot during freelancing. I think it can still grow, maybe a 20 or 30 percent
more so maybe there will be a plateau. But i love programming!!! I can't think
of a management work. I need coding! I know that maybe one day i will not be
able to learn new stuff as i was able during these years, but learning
something is one of the best part of this work! I'm thinking about founding a
startup so maybe my work will be marketing/management but also coding. But as
somebody said, i will also try to learn something in machine learning field
(my university thesis was about IT infrastructures optimization based on
genetic algorithms). So try to understand what you want from your work life:
money, fun, career? Then you'll exactly know where you will go.

------
logfromblammo
Older developers get sent off to a farm in the country, where they will have
the space to run around and play, in a way that they never could in the
cubicle maze. You never see or hear from them again because they are just so
happy there, and also because all the fiber (or copper, if they were naughty)
to their premises goes straight to the HappyFunNet, which doesn't have a
peering agreement with our boring old Internet yet.

But they're totally still working and not being replaced by dumber, cheaper
kids fresh off the boat or fresh from the diploma mill. Totally.

If you aren't lucky enough to work for a company that values the aptitude of
older workers, even without domain-specific experience, your options are to
become a technically indispensable genius, capable of writing metacode that
the younger chimps can turn into working applications without much hand-
holding, or you can become a person that spends increasing amounts of time
firewalling those experts and chimps from the people who understand money and
people better than computers.

Architect or manager.

------
WalterBright
> Do you have to go into management to continue progressing upwards in pay and
> influence?

Nope. You can invent a new programming language.

------
microjesus
Fantastic points, I've been thinking about these recently as someone close to
mid-thirties. I've been learning hardware development and low level hardware
software design over the past year as I saw myself either needing management,
a new industry or ... death. I find it strange and almost awkward to work on
projects recently with cocky 21 year old versions of myself.

------
swampwiz
I am an early middle-aged "obsolete", "unemployable" American programmer. In
2003, I had just come off of yet another in a long 6 years string of great
paying gigs using my pre-.NET Visual C++ skill set. I was doing so well that
then, in my late 30's, I saw a pathway to early retirement not soon thereafter
- making 20-30% on a 6 figure nest egg in the stock market will give you that
feeling.

But a few things happened in the meantime. First I had a home that was little
too low in elevation a little too close to New Orleans that got wiped out in
2005. Then I found my Visual C++ skill set considered obsolete almost
overnight. I learned the similar Visual C# .NET WinForms skill set, and
started to work on the ASP.NET skill set. However, it seemed that the
necessary complementary skill set to be an employed ASP.NET web developer was
growing exponentially. By the time I realized that I had to learn JavaScript,
CSS and who knows what cr@p API Micro$oft would push as its flavor of the
month, I looked at my financial situation whose descent started in the loss of
my home in 2005 and that hit rock bottom when the Great Recession came about,
and decided to just throw in the towel, file for Chapter 7 bankruptcy (keeping
my retirement accounts intact) to discharge 6 figures of credit card and other
unsecured debt, take full advantage of the social welfare system (i.e., SNAP
"food stamps", ObamaCare, etc.) and just be an extraordinarily cynical "bum".
I now advocate for socialist redistribution.

I have gotten off track in this response, so I will get back on. I would say
that the front end is for the birds - the back end database stuff is where is
the action is, and where the underlying skill set remains having value.
Although there is the possibility that the current k3wl data scientist will be
lose its luster, I really don't what a tech oriented person should do these
days.

------
s0me0ne
Hell, I'm near my late 30s and I've never made over 28k (and the one time I
did it lasted one year). Right now I'm a permatemp contractor (no benefits)
but I like the job because I get to do design work a lot. Granted I'm not a
"hacker" and more of a mediocre dev. I've read questions on "older developers"
for years (back on slashdot and digg), so I've always known it was going to
come sooner or later.

I don't know how many other jobs I can get with a certificate that will pay
decent. I already have a bachelors in CS, and don't want to go to college
again (its several more times more expensive than when I went). All my skills
are computer related and I do not plan to go back into tech support ever
again. Management isn't me and neither is sales. Guess I'm not sure what I'll
end up doing.

Everyone here seems to be rockstars or A-list devs, but I like reading the
comments here since it keeps me up to date and I learn a lot.

~~~
collyw
I don't think I am a rockstar. But I do think I am a decent developer, and I
can see that I am getting better with experience. I look around at my
colleagues, and see a lot of incompetent people and a few really good people.

Its a shame that after 10 years my salary seems to have peaked, just when I
feel I am starting to get good. Problem is no one seems to reward you for
being good. They are happy when something works (or appears to). They seem to
have no concern that the code will be buggy and unreliable and require
constant tweaking. Get something out like that in a week, rather than
something solid that takes twice as long.

------
kewpiedoll99
I never understood why my dad got sensitive about letting people know he was
50 and over until I got there and found myself working side by side with
mostly people under 30. Now I'm careful not to let anybody know when I
graduated from college or how old I am. I know I am more expensive than a lot
of them. If I were in the shoes of management I would be looking hard at more
expensive employees and assessing whether they were worth it. I interviewed at
a place I'd have liked to make a move to, recently, but they passed and I have
to wonder if their decision was to do with my being older and/or asking for
too much money.

Emotionally, it's definitely harder to get excited about the new next hot
thing. I'm not sure there's a lot more in coding that I am super excited
about. I could see getting out of development. I'd be interested in getting
into a related discipline, so if anybody has specific suggestions about that
I'd love to hear them.

------
chrismaeda
One data point: a good friend of mine joined [large rdbms vendor] out of
college about 25 years ago and rose through the ranks in the rdbms engine
group. He's now one of the senior people who knows where all the bodies are
buried in the code, the forgotten bugs that resulted in the current weird
algorithm in the xyz module, etc. I have no idea what he makes, but when I
tried to hire him during the first internet bubble they slapped the golden
handcuffs on him. These days he's rich from 25 years of stock options.

Your comp definitely plateaus if you remain an individual contributor. You
become more valuable, and more highly compensated, by managing and/or
mentoring people, helping evolve the technology to match the needs of the
business and to find new markets, touching customers and revenue, etc. In my
opinion this is required from all senior level technical people in the
software industry.

------
Brig303
An interesting comment on a Valleywag article -

"I am a 20 year resident currently in the process of being "de-located", and
will be leaving San Francisco in a few weeks, destination unknown. A little
known secret about the tech industry is that if you're not in your 20s or
early 30s, you are basically unemployable. It's a great gig for the kiddies,
but if you're an adult with a family and responsibilities, you'll learn all
about the magic of "at will" employment. Not to mention that many/most of
these companies are run by financial criminals/sociopaths who could care less
about anything other than lining their own pockets."

Comment on [http://valleywag.gawker.com/twitter-will-cause-so-much-
gentr...](http://valleywag.gawker.com/twitter-will-cause-so-much-
gentrification-they-invente-1447346147)

------
spiralpolitik
Largely it depends on the company culture. As you approach your mid thirties
these are the questions you should be finding answers to:

Does the company have a technical development path ? Do developers get
promoted to senior developers to technical leads or is the organization flat
(bunch of developers reporting to a non technical manager) ?

Does the company value employees with experience or does it assume that
everybody is an idiot and only a select few can make decisions ? A good way to
asses this is to look at how responsibility is spread around the org chart.

Can you see yourself working for the company in 5 years time, what about 10
years, what about 20 years ?.

The sad fact is that after 40 even if you are the best developer in the world
changing jobs is going to be more difficult so if you can find a company
culture that works for you this is vastly more important than more pay.

------
arbutus
I'm curious to hear the answer to these questions from a woman's perspective.
I met a few lady engineers through IEEE involvement in university who were
further along in their careers, but I haven't met very many other lady devs
over the age of 35.

~~~
maverickmind
I am a 40 year old female whose been coding since I was 23. College degree but
not in comp sci. Completely self taught. I have never felt more at the top of
my game as I do right now! In my "short" time as a developer I've worked for
startups, fortune 500s and did 7 years at Amazon. I've had a large amount of
experience on both coasts. So far I've had zero problems being recruited. I
tend to mark that up to the presence of amzn on resume. Names do open doors
for better or worse it's true.

I did take a small pay cut when I left the startup for a larger company.
Mainly because the startup was grossly over paying me. However I got a bonus
up front and my performance the first year earned me a merit raise back in
line with my former salary. I've now surpassed that. So far no plateau.

I'm currently trying to make the decision to move into management. In my
current role as a tech lead I do a lot of management anyway so why not get the
title and a salary bump? The only options at my next promotion is manger or
architect so if I stay there it's the time to make that decision. It probably
helps that I don't care much for developing in our stack. I do code a
significant amount on my own projects to offset that though. In my early 30's
I was so burned out from coding that I thought I needed to quit programming. I
realized I really just needed to quit amzn. :) no matter what I decide I'll
always code I just may not do it as a part of my job. I cannot stress enough
the importance of keeping current. That plus experience is what will keep you
marketable.

~~~
mncolinlee
Why would you assume they were "grossly overpaying" you? Perhaps they just
really needed an employee with your skills and felt they needed to pay that
much to keep away Facebook and Google recruiters?

I would argue that most developers are underpaid relative to their
productivity benefit. The Silicon Valley wage theft pact had an impact across
the entire industry as it set a lower ceiling on wages which few employers
chose to beat. It still shocks me how few star programmers earn as much as pro
baseball players (without taking on the risk of startup options).

------
AnimalMuppet
It gets harder. You can continue to be an engineer, but it takes longer to
find a job. (I've seen lots of openings for "senior software engineer", by
which they mean "5 to 7 years experience". Great. I've got 25 years. So, you
don't want me, even if you call it "senior".)

But there are some places that want more experience. My current job wanted
someone to come in, take the central piece of a new embedded system, and not
have to take time on a learning curve. They didn't have any problem seeing the
value in 25 years of experience.

Does salary plateau? More or less. Salary growth tapers off after about 10
years experience, or so it seems to me. It still grows some, though.

------
trvd1707
I use to be concerned about that when I was at your age, but now, after having
to face major tragedies in my life I learned that the poet was right when he
said that "All is worthwhile if the soul is not small." (Fernando Pessoa). I
never get tired of learning, even if what is shown as new smells like dejá-vu.
Learning is something that rewards you not only when you achieve the goal, but
in the process of achieving it. I tried the management path and I was good at
it, but I really enjoy programming better, so I get programming gigs as much
as possible. One thing in my favor is that I don't have any aspirations of
being rich, stability and alike. This open my choices of jobs.

------
jmadsen
I see a lot of "coding-centric" answers, but I think the most valuable asset
older programmers have is their experience. So I would say, you go into
"project lead" mode (which you could read as management, but I think of that
hat as non-programming)

In other words, you sit in the planning meetings & your experience on past
projects helps get over that "where do we start" mode. You make sure the
proper QA and testing is being done, things like that.

Your day is filled with many other tasks than just writing code. You go home
at 5pm & work on your private projects for fun & interest (not that 9-5 is
uninteresting, but you don't have the time to "play" so much any more)

------
jasonkester
There are three popular paths you can take as you get older: You can become
obsolete and eventually find yourself laid off and unemployable. Or you can
move into management. Or you can keep learning new technology, becoming
better, more employable, and able to demand higher bill rates year after year.

To a large extent, you get to choose which of these paths you prefer to go
down.

I seem to have personally gone down path four: Start your own business.
Consulting, unlike employeeing, tends to map bill rate exponentially to
experience. And selling software products... well, when was the last time you
decided not to buy a SaaS product because the company's founder seemed too
old? That's what I thought.

~~~
Qworg
I see it as moving into path 2 and 3 combined.

It is interesting that some parts of CS have more opportunities for consulting
than others. Has anyone else experienced this in their chosen specialization?

------
mtourne
I'm not that old (28), but I already see myself doing "the same stuff over and
over" in my programming jobs. It's not that bad yet, but I think this would be
a problem in my mid-thirties.

I've been seriously thinking about going back to school, and specializing in
something entirely new (computer vision), as I'm already learning about it on
my own.

Learning something new would be exciting, but the idea of starting over, being
an "intern" again, then _maybe_ qualified if everything pans out is
frightening.

As anyone here changed their technical career for another different technical
career, instead of going the management route ?

------
hermitcrab
I am 48 and have been programming professional since I left University at 21.
After ~20 years working for other people, I struck out on my own. I have been
running my own 1-man software company for the last 9 years. It isn't an easy
option, but it is a great lifestyle and I make a very comfortable living from
it. I don't expect to ever go back to employment. You can find out a bit more
about this route here: [http://successfulsoftware.net/2013/11/06/lifestyle-
programmi...](http://successfulsoftware.net/2013/11/06/lifestyle-programming/)

------
akmur
I have a question though, for those who say that management is the way. If you
follow this path, what happens is that you are replaced by younger and
possibly faster programmers. Naturally, as things change and progress, before
long, you are going to be managing stuff you don't comprehend in their
entirety. So then, the solution is to keep studying and improving - I agree to
that - but without experience on the field and with an ageing brain, I doubt
you can keep up with the developments. What is your answer to this? Thanks for
the thread

------
mathattack
My 2 cents... The great programmers can stay technical as long as they want.
If they find their way to great companies, they will do well on equity. I have
several data points of folks in their early to late 40s like this.

People who aren't excellent, or not truly passionate about the coding itself
go into management, sales, or consulting. (I'm in this group) There is age
discrimination by people in the open market who don't know your work. There is
much less age discrimination amongst people who personally know you.

------
mairead
I started my own company as a freelancer. You earn twice as much, so you can
either work less, if you want family time or if you want to spend time on your
own research. My primary motivation was putting money aside for maternity
leave and spending more time on learning projects to keep up with industry
changes. (I'm a front end dev btw) You need to be good enough to get work, and
have enough contacts in the industry. I find this is much easier now that I'm
more senior.

------
andyhnj
I'm in my late 40s, and have been working as a developer since I was a
teenager. Here's a simplified account of the last 20 years or so:

I spend 10+ years working for a mid-size company, progressing from developer
to a sort of combination senior developer / IT manager. My salary grew at a
reasonable pace. I was wearing a lot of different hats, and gained experience
in a lot of different areas. That company went out of business a few years
ago.

I then spent a couple of years at a small (12 person) web dev company. We had
one in-house product and worked on various sites for various clients. Mostly
ASP.NET, some Drupal. I took a bit of a salary hit there, making maybe 85% of
my previous salary.

I left that company about a year ago, and am now at a fairly large company,
primarily working on Dynamics AX custom programming, with some random
ASP.NET/C# stuff in there too. I'm still not back at my old salary, from the
company that went under, but I'm closer.

With a little more Dynamics AX work under my belt, I could probably jump ship
for an AX consulting job that would get me back to that old salary. Or I could
stay here and make a pretty reasonable salary, with modest gains, over the
next several years. (There doesn't seem to be much room to move into
management here, though if I stay long enough, that may change.)

Or I could try to go back to another web dev position, ASP.NET and/or Drupal,
maybe. (That probably wouldn't get me much of a salary bump though.)

I'm not entirely sure what I'll be doing ten years from now. The company I'm
at now is stable enough that I might be able to stay here until retirement,
but I wouldn't count on it. I'll probably need to change jobs 2 or 3 more
times before retirement. I try to keep my skills up to date, so I can stay
employable, and, at some point, I'll probably start using the standard 50+
tricks on my resume: dropping my college graduation date, dropping the oldest
jobs from the resume entirely, etc. And dyeing my hair maybe, if I get too
grey.

This being HN, other people have of course talked about starting their own
company. I'm not sure I want to do that, but it may become an attractive
option at some point, especially if the health care situation in the US gets
straightened out enough that I can afford to pay for my own health insurance.

------
sharemywin
I think in the midwest you have a lot of banks and insurance companies and
alot of programmers still using cobol. I know at my company we should finally
get all the way off the mainframe in about 8 years not because it's better or
cheaper but because no one will be left that knows hot to use it. I code in
gosu which is specific to a product in the P&C insurance industry I see the
company staying with that product for another 10+ years.

~~~
GFischer
I think your gosu skill will be transferrable :) , and Guidewire looks like a
great product (I wanted the insurance company I work for to choose it, and
they chose to go down like the Titanic on their own custom-made software) so
you're probably safe. Insurance is a pretty big niche.

------
dvydra2
I am 45 and my current occupation is as an Agile Technical Coach. It does
involve a lot of travel, so I take breaks by doing remote-pair programming to
spend more time with family and to keep up my coding skills. On Saturdays, I
am starting to teach in the Math and Software Engineering Academy for kids 12
to 17. I do work a lot of hours, but the mix of work makes it very satisfying.
I feel blessed that I got into this field.

------
michaelcampbell
I'm 48. I do architecture, development, and mentoring mainly. MOST of my
contemporaries moved into management and "VP" type positions (but to be fair I
come from a banking/finance background so that's just What People Do There
(tm)).

I have a number of colleagues in my current position (in the Internet Security
domain) around my age doing the same as I, although the average age is lower
to be sure.

------
theitsystem
You could also find yourself on a totally unexpected path where years of
development experience comes in handy and makes you a very fast learner.

[http://venturebeat.com/2013/05/16/homeless-to-hacker-how-
the...](http://venturebeat.com/2013/05/16/homeless-to-hacker-how-the-maker-
movement-changed-one-mans-life/)

------
lmcuende
I feel very identified with this. Also I am a 55 yo developer. And my main
issue is to place the focus in one of the disciplines I dominate and be a
great specialist on it. The biggest obstacle is that I love a lot my job and
I'm always going from backend to frontend and back. But that's now a mistake
and I must to fix it urgently.

------
grobmeier
I am 35, soon 36. I have worked as project manager for 3 years when I was
around 30, then quit the job because it bored me to death. This wasn't career
for me. Now I am developing a lot. I have a team, but its so small that I
write a lot of code myself.

I enjoy planning and developing systems. I have seen all aspects of working in
small (~100 persons) and big companies (160.000 persons). Why should I switch
to management when I am good with what I do? Being a developer is not only a
step in career, its also passion. Being a manager is not the next step, its a
completely different job. You plan deadlines and HR and speak with customers
and their contracts. This is not the next level, its something different. You
can do this also without being a software developer in a previous life.

There are not that many older devs I know. The people of whome I speak are
between 40 and 50. These folks are truly experts in their domains. I learn a
lot when speaking with them. In some cases 40+ devs act and work like 20+
devs: they learn. Imagine what you can do with a knowledge grown by 20 years?
Age really doesn't matter, except you want to do a completely different job
after your software development time.

I have not suffered any salary drops so far. I could have steadily increased
my income. However I decided before around 3 years to stop this and work as a
freelancer. My time is limited, my rate is pretty normal and so I know pretty
much what is possible in a year and what not. You could say, I have limited
myself to a certain income. On the other hand since then I only worked on
projects I liked. I have never written a single line of code of something I
didn't like (except that one time, but I fired the customer).

For me, being an "old" dev with 35 as you maybe would call it I have realized
that I found my high in my career: the full freedom of what I do and what not.

I get a lot of offers because of my experiences and I have the choice. Please
consider "earning this choice" as an important point in your career. Many can
have more money; a few can have the freedom.

That said, the 30+ or 40+ devs I know are not shy to switch jobs. I know a few
who think like that, but well: I was 32 when I quit my job. Now I am 35 I
don't need "safety". With 33 my son was born, I still didn't feel like that.

If you would ask me: don't worry about your career. Spend your time with the
things you like. Life is to short to waste it with people who tell you what a
"great career" is.

------
dfs45
My parents are both in their early 60's and they both still work as
NATURAL/adabas developers.

------
bkurtz13
They merge into the global repository, becoming part of the source code of the
universe.

------
csense
Old software developers are like old software: They never die; it just gets
harder and harder to make them run on the latest hardware and software
platforms, and the physical media they're stored on may eventually wear out.

------
bjornlouser
When I get older, losing my hair, many years from now. Will you still be using
the command line? Wasteful meetings, bogus deadlines? ... Will you still need
me, will you still feed me, When I'm 64?

------
DanielBMarkham
I'm 48 and ended up moving up, even though I still love to code.

The reason wasn't age as much as it was simply a desire to do more complicated
stuff. To me the real challenge in technology has always been at the
intersection of business and tech, that spot where you have people with a need
meeting people with capability. The business side alone is pretty boring, and
the tech side at the end of the day just amounts to variations on bits and
bytes. Puzzle books. (Although, like I said, I love it)

Being a consultant, I see a lot of older developers around. I think there's a
significant bias in the industry towards younger guys -- mainly because
younger guys are the hotshots moving through development into management, and
people like hiring people that look like them. [Insert long discussion here
about age bias if you must. I prefer to just acknowledge it and move on.]

The "mistakes" I've seen from older developers come in two flavors: not
specializing enough and not moving around enough. Some guys will "float to the
top", and become more of a surface-level generalist. This is the path I see my
own technical skills leading. That's great, but many times companies
specifically want some kind of bullshit new technology because somebody
thought it looked hot on HN. In that case, you're at a disadvantage. And after
a few years pass like that, sure, you're the guy that can do anything, but
only in C. That has real, solid, useful business value -- but it sucks to try
to sell in the labor marketplace. I have a feeling there are going to be a lot
of older startup founders over the next 30 years that fit into this mold.

The second way to kill yourself is to stay at one company, working on one
product and one technology, longer than a couple of years or so. Pretty soon
you're the master of C++11 as it applies to real-time embedded weasel-hunting
robots -- in other words, you are truly the master of something nobody else on
the planet cares about. That works great until they stop making weasel-hunting
robots, then it sucks.

I think the problem with age as a developer is the same problem you have at
22: you have to wisely balance the time and energy you spend on learning new
things. You can't learn everything and move around every other month, but you
can't stagnate either. Instead, you have to carefully watch the market and
anticipate where it's going to be in 3-4 years. As you get older, sadly, it's
just easy to stop giving a shit as much as you used to. Sure, in five years
everybody will be using X, but what will they be doing with it? I'll tell you
what. In 99% of cases, they'll be doing the same kinds of things they're doing
right now, that's what. So after a couple of dozen rides on the "Gee whiz! Is
this cool tech or what!" wagon, it gets tougher to get back on again.

~~~
happycube
Your example for the second way's it's own counterexample, IMO...

It seems to me that the skills needed to make a _good_ weasel hunting robot
(computer vision, mobility, audio processing) would have _lots_ of other
applications. Probably could angle to get hired for some of Google's robotic
initiatives...

------
nickthemagicman
What about someone just starting out in programming at 35? Is it a bad idea?

:)

~~~
pacomerh
never a bad idea if its something you enjoy and think will be good for you.

------
orionblastar
I am 45. Been out of work since 2002. Nobody wants to hire us older developers
they all want cheaper labor sources.

Even NASA has this find big asteroids contest for $35000 in prizes because
they got bit by the startup hackathon of cheaper labor sources of 20something
college dropouts instead of 15 plus years of experience programmers.

Fact facts most hiring managers hate older developers. Unless they want
quality and pay a salary to support a family can't hire us.

Need to move to find work but my family don't want me to move. Given ops for
Google, Amazon, etc but had to move to take them. Nothing for me in St Louis
Missouri USA.

------
alvisandersonq
Todowiz is one of the best Todo List app which help you to keep track of
everything.This application make sure that you won't miss anything.

------
moron4hire
I'm 31 and I worry a lot about this issue. I live in the Washington DC area,
which is extremely expensive. I am a freelance consultant, but my hourly rates
are not very high. I have one client, and if someone in official IRS capacity
were to look at us, they'd make my client make me a wage employee, the
relationship we have is clearly not a subcontracting position. But this
arrangement makes it possible for me to earn more from them than I would have
as an employee. I don't now how that works, health insurance can't cost _that_
much (I'm on my wife's now), but everywhere I've been has acted like a $50k
employee == $100k subcontractor. Even paying for my own health insurance, my
own vacations, and deducting my own taxes, I'm still netting more than I'd
gross as an employee. I don't get it, but I'm not going to complain too
loudly. And that not even getting into the cost savings I have from not
driving, not eating out all the time, not getting sick all the time, etc.

My wife has a fulltime engineering job working for the government. We have a
small condo that is just about the cheapest sort of place you can get around
here without living in a rathole. We have one new car between the two of us,
which works because I work from home and don't drive (I have a 15 year old
car). Between our two salaries and the fact that we cook better than most
restaurants, we live comfortably.

But I worry about what having kids will do to us. We would certainly have to
buy a house. The condo is almost too small even for the two of us right now,
but "fortunately" I didn't have a lot of stuff to begin with because I've
never been paid very well. I have always risen to a head leadership position
amongst developers wherever I've worked, but it has never turned into anything
meaningful. "We appreciate your work!" would have a lot more meaning if it
came with greenbacks.

If she decided to stay home, it would cut our income in half. Not to mention
that we'd have to find private health insurance. I just don't see a bigger
place plus half-income working. We need to either move in-state (which she
doesn't want to do) or I need to make more money.

I'm reluctant to look for a job because I've not had good experiences working
in offices. I don't enjoy the type of work I'm doing or would get hired to do.
I like programming, a lot, just not this same, old, bullshit CRUD all the
time.

I had good grades in college. I've always had strong programming, math, and
science skills. I've always had lots of interesting side projects. I get along
with people really easily. And I've never been able to find a good match for a
job. The only places that ever call me back are shotgun recruiters and
consultoware dungeons. It's disheartening.

I got really depressed with the consultoware field about three years ago. I
lived off cash for a month while I looked for a new job, and ended up taking a
huge salary cut to get into the only product-based startup that has every
returned my emails. Turns out, they stuck me in their own consultoware
project. After a year, they fired me without telling me why. I'm pretty sure
it was because I was very unhappy, had worked it out so that none of my work
was very much effort, and fell back to only putting in as much effort as was
required of me, which was less than the 60 hours a week they expected.

I was on unemployment for a couple of months. I applied to everywhere I had
ever wanted to work. I figured I had a bit of a time window and, at least in
the first 2 months, wasn't terribly desperate to have a job right away. I
reasoned I could "hold out for my dream job." Out of 30 job applications, not
a single person called me back.

Eventually, a friend got me an introduction to the company he worked for at
the time. I started contract-to-hire with them, and when the intro period was
up, I took a chance on an ultimatum of letting me stay freelance or letting me
leave, I would not take a salaried position. I've been working for them for 2
years now and it's been decent. I have a good working relationship with my
client, he loves my work, they pay me, I don't go in to any offices, and
sometimes the work is a little interesting. But, it still doesn't pay very
well, in the grand scheme of things. I don't think I'm being paid what I'm
worth.

It feels like the only out for me is to start my own company. I think I would
really like to do that, but I don't have the funding for it and I don't know
the right people to get funding.

~~~
fsk
>$50k employee == $100k subcontractor

That's false. You can figure out out directly.

Paying your own social security tax: +7.5% (say $7500 out of $100k salary)
Health Insurance: $700-$1000 per month (say $12k annually) 2 weeks paid
vacation + paid holidays: +7% (another $7000 out of $100k salary)

So, $100k contractor is equivalent to ~$80k as a full-time employee with
benefits.

~~~
moron4hire
I know, that's why I said I can't figure out why places would be willing to
pay me the equivalent rate of $100k as a subcontractor, but only $50k as an
employee. It's very obviously better for me as a subcontractor.

~~~
fsk
At many large corporations, the contractor budget is a different line item
than the employee budget. So, it's easier to allocate money temporarily for a
contractor, than for an employee where it's considered a recurring expense.

Another issue is that it's embarrassing to pay a low-ranking programmer
employee more than a manager in a non-technical division. That messes up the
corporate hierarchy.

------
consultutah
Ever go to Wally-mart? Have you seen the greeters at the door? Just ask them.
Most of them are old cobol programmers. ;)

~~~
brc
I know a couple of COBOL guys with specialised 'network databse' skills. (Ever
heard of one of those? They are what people used before relational DBs
existed)

These guys pull down big money, have very flexible working hours (2 days a
week from home) and are set financially. I know them from the very start of my
career. Every 5 years or so someone comes in, sees the pays and freaks out and
has them terminated. Within a couple of months they are re-hired, usually with
an increase in pay.

There are _tons_ of legacy COBOL systems running in big companies. Whether it
is keeping them running, or helping plumb up various middleware solutions, a
top-quality COBOL guy can make lots and lots of money.

------
valbaca
As a 25-year-old developer, this thread is one of the most informative I've
seen in a quite a while.

Thank you for this question.

------
alien3d
in 30, i do code and make a generator code to reduce my code time.Do you
expertise in php and java or other language.. feel free to have fun.. I think
still lot people doing same job writing customize application.

------
jmnicolas
> What Happens to Older Developers?

Like the elephants when devs sense they're going to die, they travel to
elephant's graveyard / management position.

The ones that refuse to die are disposed of humanly and ends up generally as
cat food ... or dog food according to their last wishes.

------
0800899g
What happens to older developers?

------
gregimba
They go to the java factory.

------
Uncle_Ned
Offering up my experiences and viewpoint as an older developer.

At 45, I've been professionally coding for just over 20 years, so I've been
able to work with the majority of technologies that have been available during
that time span. Just for a frame of reference, I've worked in consulting,
manufacturing, owned my own business, for health care companies, and most
recently, a NLP "Big Data" (quotes intended for lack of a better term) company
that is all OSS and cloud infrastructure.

First off, I don't feel like an older developer, as I still have the same
passion for building software that I did when I was 24, but how I approach it
is different. I have no real interest into going into a management position as
it would rob me of my main passion in life. However, by being heavily involved
in the local developer community, I've been able to help many people who are
new to the field, and companies who need technical help at an architectural
level, while not distancing myself from actual development as my primary job.

To address your questions specifically...

If pay and influence are your primary concern then traditional management is
obviously one route, but I offer up the alternative, only because it has been
my experience. That alternative is being involved in helping people in the
community. Speaking at conferences to share your skills and experiences,
attending hackathons to help people build interesting projects and meet even
more interesting people, working with teachers/students at local schools, or
any other types of event where you share the expertise you've gained over the
years can help serve the same goals. You gain exposure, so more people will
want to work with you which may easily lead to increased pay and influence.

As for there being a plateau in pay, I can't answer that, but I can definitely
attest to there not being a drop in pay as long as you don't let your skills
atrophy. There is a huge need in the technology world for experienced
developers who can guide product development either individually or as part of
leading a team.

"Are older devs not looking for jobs..." I think this is a faulty assumption.
There are plenty of older developers looking for new opportunities, but I
cannot deny that there is a significant segment of the workforce that does
favor stability. Again, in my experience most companies that I talk to are
looking for a mix of the 5+ and 20+ crowd. Only the most naive would hire a
team of developers in their 20's and expect a robust, maintainable,
sustainable solution... unless, of course, that's not the goal.

As for the specialist vs. generalist question, I think the distinction is
irrelevant and either route would be fruitful. I might give a slight advantage
to generalist because then your personal opportunities increase, but there's
room in the industry for both, as they are both valuable.

So currently I'm coding and mentoring at my job. I know many other developers
in my area that are approximately the same age doing either pure development,
a mixture of development and being a team lead, or they've moved on to
management.

I think the point is that the path of a passionate developer is not set in
stone. You don't have to do any one particular thing in order to advance a
career. The important thing is to figure out what's really important for you.

Do you care about remaining a developer?

Do you care about gaining influence and/or getting a high salary?

Do you care about helping your community?

Do you care about educating or mentoring others?

There's no one path.

------
OldCoder
Developers who go on long enough are expected to obtain high-level titles by
their 50s or to retire at about that time.

I'd like to discuss an issue that you might not have thought about: What's
going to happen if you lose your job?

Employment in the 50s can be problematic. If somebody is skilled and employed,
and has a high-level title or is a specialist or has useful connections, they
should be able to obtain a new position.

Otherwise, they might go from well-off to homeless. It happens. I'm 55, my
resume has been called pretty good, and I was worth $1M a decade ago. I'm a
transient now. I've got some medical issues, no medical care, and no dentists.
Potential jobs are primarily unskilled physical labor, which I'm not able to
do.

I'll be taking a shot at tutoring. However, I don't expect that to provide
more than gas money. The head of an admin assistant firm said that I can't be
a secretary unless I already am one. Two people considered sending me to care
for elderly relatives, but we didn't proceed. My title at one of those
positions was going to be "poop scooper".

Don't let this happen to you.

For what it's worth, here's my advice:

1\. Don't fall off of the employment ladder.

2\. Become a specialist. Try to remain broad enough, though, that you don't
become obsolete.

3\. Build a network of people. Make it a large one.

4\. Diversify your investments.

5\. While you're employed, don't let medical issues, even minor ones, go
untreated for long. If you lose your job and your assets, you'll lose medical
care too and the issues may become serious.

6\. Be kind to people. But don't be a fool. Most people that you help are not
going to return the favor.

Regarding specialists, I did recruiting for a while in 2011 and I can confirm
that the filters are heavily weighted against generalists.

I've spent about 35 years myself as a generalist. My jobs called for it. The
place where I spent most of my career took any project that came along, code
of any type. At a dot-com that followed, after the money ran out, I handled
all of the technical roles; IT, websites, development, support, documentation,
etc. I was able to do a bit of everything.

Later on, none of this made a difference. There are no job listings that say
"a bit of everything".

After the dot-com shut down, 2003, I made a million dollars in the stock
market. Lost most of it afterwards and reentered the job market. Learned that
middle-age generalists were not in high demand.

In my case, there were other factors that won't apply to you. It's a story for
another time. But if you're a generalist who falls off of the ladder in middle
age, you can expect things like this:

"With a resume like that, why isn't he a CTO? Why doesn't he even have a job?"

You'll be asked questions about algorithms that you haven't thought about for
30 years. Or you'll go through coding tests under adverse conditions that
don't allow you to show what you can do.

Plan ahead. Understand that the best-laid schemes of mice and men often go
awry.

My own resume is located at:

[http://oldcoder.org/general/misc/Kiraly_Resume.pdf](http://oldcoder.org/general/misc/Kiraly_Resume.pdf)

Regards, Robert (the Old Coder)

------
dcgibbons
I am 43 and I have been programming professionally for the past 26 years.

I had good early education, but left school as a college freshman to focus on
industry work, and didn't return until 2004. The lack of formal education has
never held me back, as technology companies especially like people who have
been successful without those credentials. I am doing a graduate program in CS
now, for the pure intellectual fun of it.

Pay has continued steadily over my career, with the only setbacks being self-
imposed when I tried my own startups or left a high paying job for a lesser
one because of better long-term prospects. It is mentally hard deciding to
leave those $200k+/year jobs, but I have not once regretted it. In the end, I
have only had 2 years total in my career where my taxable gross was less than
the year before, and one of those years is when I took a year off to goof off
(as an aside, I highly recommend that people do this every 5 years or so).

I have always wondered about ageism, mostly because I started doing this when
I was 18 and there were a lot of older developers I worked with that were not
effective. I have come to learn over time that age has really little to do
with this: people can become complacent for a variety of reasons, and age has
little to do with it.

The few folks I've known that are older and who did have trouble finding jobs
had some other life issues in the way, such as letting their skills become
irrelevant, being a bitter whiner, or not being a very good salesperson. You
don't have to be the smartest tool in the shed to interview well, and
sometimes you will not (I have had some spectacular uhhhh-duh moments more
than once!), but take those setbacks as opportunities to learn and improve,
not to sit and complain.

The whole discussion on management, leadership, architecture, etc. is quite
pertinent. I have done mostly architecture since my early 20s and always find
myself back in that role whether or fight it or not. I try very hard to code
every single day, but the reality is businesses get more value from me when I
am looking at the bigger picture and enabling others to code faster.
Personally, I would much rather go code than do that type of work, but it is
still very fulfilling and is still engineering.

When I give others career advice and coaching, my number 1 suggestion is to
always do what you love, but be open-minded about what that means. Most of us
will find ourselves with a variety of opportunities over the years and being
self-limiting is the best way to keep your career from advancing.

My number 2 suggestion on career is that if find yourself being the smartest
person in your company, either because you are or just believe it, it is time
to move on. Don't be that guy/girl.

I have always deliberately avoided the siren-song of the Valley, but I know I
could make enough compensation to make up for the cost of living differences
and still support my family well there. But, I will only go there if the
project/company is one where I will be making a substantial impact on
something interesting. And, frankly, that really should be true for anyone
with more than 20 years of experience: it is time to use your experience for
great works, not just paying the bills.

p.s. rules of thumbs are just that, and sometimes you have to make compromises
because life is in the way - that's okay, too. Just don't let yourself fall
into a trap/rut because of those.

p.p.s. people in this field are rich by almost every measure, even if you
aren't technically still in the 1%. If you're struggling to get by in the Bay
Area, there are a lot better places to live where you can do a lot better.
Don't be fooled into thinking that is the only place to be.

p.p.p.s. get off my lawn

------
robotpony
I'm in my 40s and have been designing and building software for money since
the early 90s (and coding since the 70s). I remember asking these same
questions at some point, while watching older developers lose their mojo
(often ending up in management). I worried that I would end up like those
soulless managers and burnt out architects. I didn't. Not yet, at least.

> Do you have to go into management to continue progressing upwards in pay and
> influence? I know this isn't the case at some companies (e.g. Google), but
> is it rare or common to progress as an individual contributor?

You will always have more influence as a VP, Director, or general board
member. Architects and team leads can be part of the management group, but
actively avoiding or despising it is alienating those who carry financial
responsibility for the company. Once you have the ability to make long term
and rational architectural decisions, you will want to be able to use that
knowledge to change things. Making things happen outside of the management
structure requires a great deal more force than from within.

But, you can retain your technical edge while in management (at many companies
at least). I am an architect and CTO at one company and a board member at two
other companies. I also code almost every day, as I believe that software
design and architecture cannot exist without understanding how things work
today.

That said, you don't have to go the management route. I do suggest at least
making peace with management and managing, as it is a valuable tool for
getting things done when mad coding and design skill is not enough.

As for pay ...

> Is there a plateau in pay? Is there a drop in pay switching jobs after a
> certain number of years experience because places are looking for 5+ instead
> of 20+?

Yes, pay rates tend to plateau if you're not part of the management or
directorship. There are exceptions to this, including a number of smarter
employers or if you change jobs regularly. You can also start your own
company, but that requires both management and business savvy, and adds some
risk.

I have only changed employers a few times as I've been lucky to really enjoy
my teams, but I do own a consultancy as well (which allows me to adjust for
any ceiling at my day job).

> Are older devs not looking for new jobs because they have families and want
> more stability/are focussed elsewhere?

Many older developers end up in management, owning companies, or as architects
(who gravitate toward larger, older companies). Most older devs prefer
stability, but not all.

> Is becoming a specialist rather than a generalist the answer?

The answer to what? Specializing will allow you to do more of something you
want to do. Generalists often do better with entrepreneurship and general
opportunity. You want to make more money? Management and ownership are great
routes for that, and generalists excel in those roles (in my experience).

> And lastly: if you're in your late 30s, 40s, 50s, what are you doing at your
> job? What are the older people in your workplace doing?

I spend about half of my time designing systems and interfaces (from APIs to
UIs). I spend half my time prototyping and setting up projects for my teams. I
spend the last half of my time making sure it gets done properly. I still have
more ideas for products than time, and I still pick up several new tools a
year. I'm always learning, and always improving my own methodologies (as well
as my team's). I still love what I do.

I also work with a software architect who is in his late 60s who is still both
passionate and coding daily. He avoided management and does not often regret
it, and has coded everything from OS subsystems (in the 60s) to iOS and web
things today. His rate of learning has slowed down appreciably, but his vast
knowledge and experience more than makes up for it. He was the first architect
I met that still loved what he did (when he was in his early 50s).

------
xamdam
Soylent

------
greatsuccess
In in my mid 40s, went through some life burnout due to trying to start my own
business, and had to come back to just being the most solid engineer I can be.

I do contracts almost exclusively because I have no faith in the employment
market as an employee given the current trends in hiring.

Also I dont feel that being an employee makes me more of a team player, In
most places contractors are doing the real work and employees are sitting
around chatting over the water cooler. Id rather get work done.

Im a generalist and in spite of the rather idiotic statements about that in
the first comment, its really the only way to go, if you are not a generalist
you are likely not employable regardless of your age. Any shop that has hordes
of 20 year olds spitting out HTML/CSS is wasting their time.

The beauty of being a generalist is that once you have enough experience and a
core set of tools, you can add new ones or not at your leisure. The pace of
things is really not that fast, about 80% of all tools that get released are
just junk that noone will remember in a couple years.

One benefit of being an older developer, is that in a decent shop people tend
to notch down the bullshit factor, because they know you have heard it before.

Conning people into doing things that are stupid is reserved for the 20
somethings.

~~~
sizzle
I found your post highly insightful, as a 20-something generalist. Thanks for
sharing.

------
greatsuccess
"The problem for some people is that these kinds of more generalized roles put
you in charge of systems that do not have the sort of clear-cut deterministic
behavior you remember from your programming days", what could you be possibly
talking about? So generalists work on non-deterministic systems? Clear-cut?
Gimme a break man that statement and perhaps your whole remark is a load of
bull. You are making a statement that generalists arent programmers.
Generalists make more money than anyone else except for security specialists.

------
copergi
I know it sounds a bit snarky, but for a lot of people it seems to be "go get
a decent job instead of doing software development". Maybe not going full
Gibbons, but I definitely see a lot of people move out of the software world
as they get older.

------
hokkos
Soylent green.

------
sam_lowry_
They don't die. They just disassemble.

------
orionblastar
Most of my friends that were older developers had killed themselves.

It started in 1999 during the Dotcom busts that flooded the market with
cheaper labor sources.

Suddenly if you had a good job with a good salary some 20something working for
$20K/year replaced you.

Unable to find work and provide for your family really wrecks the go. Most of
my friends chose the suicide by shotgun route. I went to a lot of closed
casket funerals and then got too depressed to go anymore.

My last job was in 2002, I thought I had a good job, but my employer only
hired me to 'super debug' their main software that they hired these cheap
labor sources for and they had a hackathon and prizes and none of them could
get it stable or good quality and secure. So I got paid $150K/year and fixed
it in two months, and then was fired even if everything worked great. I found
that most job offers in my area are like that, promise you everything and as
soon as you 'super debug' their problem you are fired.

Happened to most of my friends, and they ate a shotgun.

Some 20somethings on Internet forums kept telling me to eat a shotgun, shotgun
mouthwash, etc. I refuse to kill myself and I will keep looking for work and
bootstrapping my own side projects. I am glad Hacker News is not like Kuro5hin
or IWETHEY or some other troll forums telling me to kill myself. You guys are
professionals here.

