
Do You Really Want to be Doing this When You're 50? - rw140
http://prog21.dadgum.com/154.html
======
edw519
57, programming for 33 years with hardly a day off, and having more fun than
ever.

My motivation? It's not about the technology, the tools, the apps, the
business, the customers, or even the money, although any of those can provide
plenty of motivation. And believe it or not, it's not even about the happy
dance feeling I get when something I built works for the first time.

It's about the achievements of those who use what I built. Hopefully that'll
keep my busy for another 33 years.

~~~
mengine
This sounds pretty depressing to me. You're building the software that allows
others to retire while you're a cog in someone else's wheel for another 33
years.

Why not build your own achievements?

~~~
jerf
You're presuming an awful lot in that analysis there.

Besides, who is not a cog in some wheel or other? In civilized countries,
there is nobody who is at the top of all hierarchies, no King. It's a
pejorative with no bite if it applies to all.

~~~
mengine
I just find it sad people write themselves off as never being rich or running
their own business. There are 16 year olds making 6 figures writing their own
iphone apps yet people view their only alternative to programming is moving to
middle management.

~~~
stevewilhelm
"16 year olds making 6 figures writing their own iphone apps "

The reality is there are very few people making six figures writing their own
iphone apps. Even fewer that can sustain that level of income as a sole
proprietorship for a couple of decades, which is what you will need to do to
retire at fifty.

For every programmer who does create a sustainable business, fewer still get
rich doing so. One reason, creating a wildly successful business is a
completely different skill set from programming. Another reason, it takes a
fair amount of luck for a company to become wildly successful.

Goog luck.

~~~
Evbn
"goog luck"

Great Fredudian typo, or greatest Freudian typo?

~~~
georgeorwell
Definitely a Fredudian typo, Freudian would have been "Good fuck".

------
tptacek
Please note extremely effective demonstration of "privilege".

Two employee candidates interview successively. One is 25, the other 53. Both
are comparably conversant in technology, evince comparable cognitive
capability, are equivalently literate in the problem domain being tackled by
the role they're interviewing for.

Privilege: the 25 year old is not asked (overtly or subtextually) whether they
"want to be doing this". It is simply assumed that the 25 year old's head is
in the game. No demonstration of lifestyle commitment to the craft is
required.

Take the idea and turn it around in your hands for a little while. Try this:
imagine that instead of software developers, these were master woodcrafters;
luthiers, say. Notice how the subtext changes: age is an asset. A lifetime
spent designing guitars is a signifier of passion and competence. Flip the
switch back to development and notice how age suddenly connotes something
else, like "career failure forcing person to retain technical role".

You will get old someday, if you're lucky. But controlling for spectacularly
unlikely values of "lucky", you are aren't going to strike gold in this field,
such that you'll have no career concerns when you're 45-50. It is unfortunate
that our field manages to devalue competence and experience that way it does;
here's a second-time Rails gem author instead of a virtual memory system
designer, see you at SXSW!

~~~
mechanical_fish
It's about the rate of change. Luthiers are practicing an art that would be
recognizable to Stradivari, three hundred years ago. The tools are made of
more modern materials but they're basically the same. The product has a more
modern design (both functionally and stylistically) but is basically the same.

More importantly, the culture and business of instrument-making is largely the
same. You have a shop in your garage or basement, or in the back of your
store. You make instruments by hand a few at a time and sell them, preferably
for cash, to individual buyers. You learn by apprenticing with someone who
knows, or reading books and practicing like crazy for decades. Maybe you'll
scale up to a factory with a few dozen journeymen cranking out instruments…
like Stradivari did, three hundred years ago.

The problem with programming is that it's unstable. And I contend that it
isn't even the unstable languages and platforms that hurt (as everyone says,
experience makes it _easier_ to learn new languages). Nor is it the eternal
brokenness and turnover of APIs. This is not a new problem, nor does the
patience to deal with it necessarily decline with age. Indeed, to an extent
the opposite is true: experience has taught me not to panic when my favorite
API is shot out from under me. (The first time it happens is a really awful
surprise and a test of your patience, but the fifth time it happens you're
probably used to it.)

No, I think the real problem is the constant turnover in _culture_.
Programming in the late 1980s, for example, was a _completely_ different
social universe than web consulting in PHP, or iOS development: Different
typical org structure, different business model, different way of learning the
trade, different communities and communications channels, different career
tracks, different project management styles, different constraints, different
everything.

Immersing yourself in a new culture is _hard_. You're going to get schooled by
kindergarteners, so check your pride at the door. And you're going to have to
relearn your whole approach to the business, not just a new syntax or a new
set of APIs. You're even going to need to learn new jokes. And the biggest
challenge of all is that your old culture rarely dies cleanly, so you're never
quite sure if you're doing the right thing by becoming an expatriate. Why not
just go home, where you have the seniority and the contacts, where you know
the old stories and can visit the old hangouts? The old way is shrinking, but
is it really time for the funeral?

~~~
rkwz
>No, I think the real problem is the constant turnover in culture.

As a 24 year old, I find it difficult to relate to this. Can you explain a bit
more about this - in a blog post or so?

------
jgrahamc
In short, yes, and I'm in my 40s.

I actually returned to programming after years managing programmers in part
because I was unhappy. I realized that the further I got from the machine and
_making_ the less happy I was.

So, if you asked me whether I wanted to be 'managing' at 50, I'd say "Hell,
no!".

The enjoyment of making things work, learning and shipping it real. I hope I'm
still able to feel those things at 80. I never got the same satisfaction and
enjoyment from managing people and processes.

~~~
bambax
I don't think this is about "programming" versus "managing".

It's about "actual problem solving, and building things" (which is good and
enjoyable at any age) versus "navigating oceans of constantly changing APIs"
and getting bitten by minuscule oversights in enormous volumes of
documentation, which requires a lot of stamina, and maybe optimism, that you
have less of as you get older.

I hate arcane APIs with a passion. I love programming and building things.
Always have, always will.

I think one's tastes don't change much with age; what changes is your
willingness to put up with things you don't like. Like a grumpy old uncle who
says inappropriate things at family reunions, at some point in your life you
just stop pretending.

~~~
anklos
I often see aged programmers are more tolerant with things they dont like,as
they know most jobs are just boring from their years of working experience.
Lots of them think job is just for paying the bill.

------
raganwald
If you're young, be sure to read the responses here very carefully. There are
lots of people like me who love what they do at fifty or beyond. Yay!

But of course, this sample has survivor bias. How many people who left the
profession in their forties are going to post on HN? How many people who are
fifty and hate their jobs are going to post on HN?

I love what I do and try to share that love. But my advice to you is this:
Don't pay attention to how much we love our jobs at fifty, pay attention to
how we got to be fifty without burning out.

~~~
MattSayar
So how did you get to fifty without burning out? The advice I've always seen
is a mix of: have a healthy work/life balance, exercise, find satisfaction
outside of work, enjoy people more than products, and make sure you actually
like what you do and where you do it. Anything else?

~~~
blisper
In my personal experience, resisting the urge/pressure to get into management
(vs. staying in engineering). Management in a larger setup invariably involves
having political skills of some sort.

------
plinkplonk
The interesting idea in the post(beyond the programming vs age bit, which is
sure to trigger some rage,) is this

"To me, there's an innate frustration in programming. It doesn't stem from
having to work out the solutions to difficult problems. That takes careful
thought, but it's the same kind of thought a novelist uses to organize a story
or to write dialog that rings true. That kind of problem-solving is
satisfying, even fun.

But that, unfortunately, is not what most programming is about. It's about
trying to come up with a working solution in a problem domain that you don't
fully understand and don't have time to understand."

If this is a problem that affects you don't do 'most programming'. Nothing
really stops a developer from learning a problem domain with economic
potential. Sure you may have to go to school or read some books or get some
experience, but so what?

The idea that a programmer always has to work in a half understood domain
transforming some one else's ideas into code is just that, an idea. It is a
dominant idea, but nothing really stops anyone from mastering an interesting
domain in addition to programming.

Knowing how to program is like knowing how to write (in a largely illiterate
society, so your knowledge has economic value). Or like knowing how to cast
spells. Yes, if you spend all your life scribing other people's thoughts or
casting spells to manifest other people's wishes, it could get boring. Could,
but doesn't have to be. You don't _have_ to be a scribe just because you know
how to write.

------
DanielBMarkham
I love programming and still consider myself a programmer first, although I do
a lot of other things too.

If I wanted to rag on programming, I'd point out how many dysfunctional
programming workplaces we have, or how our tools are always 100 times more
complex than they need to be, or how setting up and managing the programming
environment can take the joy right out of actually doing the work. (I could go
on at length here)

But overall it's a great place to be. We're the Michelangelos of the great age
of machine intelligence which is yet to come. We're sketching out how it's all
going to look. We're at the forefront of solving incredible problems and
creating magical devices. A guy told me something back in my 20s when I was
just getting started that rings true today: technology development is the one
area where _you can create your own reality_. Not only in terms of a virtual
reality, but in terms of how you want your work day to go, how you want to
interact with your peers, how you get compensated, how you spend your free
time. It's all up to you. This is completely unlike many other professions
such as doctors where everything is tightly regimented.

I worry that as the job of programming matures, we are losing track of that
fundamental insight. One of the reasons I like Agile and Scrum is, when done
correctly, it liberates the teams and takes them back to the way programming
should be.

It is rarely done correctly.

~~~
Lagged2Death
_We're the Michelangelos of the great age of machine intelligence which is yet
to come._

If there's a great age of machine intelligence to come, then one in a million
of us may be a Michelangelo. The rest of us are house-painters, and the houses
we paint are slated for demolition within our own lifetimes.

~~~
TheFuture
So true. Just crushed me...

~~~
Evbn
What is wrong with everyone doing well, including your peers and descendants?
Why must everyone want to be the top dog forever? You are going to die. No one
will buy or code their way out of that, not even Zuck or Gates

~~~
TheFuture
My point was more how as programmers, the emotional toll of everything that
we're making will be destroyed, usually in only a few years.

Yes, we're paid. But it's hard to have satisfying work when the result you
produce becomes worthless. It would be like spending 12 months carving a
beautiful piece of furniture out of wood, get paid $100k for your work, and
then handing it to the owner who lights it on fire right in front of you.

------
jacquesm
Hell yes!

There are many different kinds of programming, some are fun and some are not.

If you really want to be doing this when you're 50 make sure you get good
enough that you can pick the projects that are fun. If by the time you are 50
and you've been doing this for 3 decades you are still gluing api's that's not
the fault of 'programming', that's a direct result of choices made earlier.

And one more thing: on the scale of things that you could be doing, look at
your parents, grandparents and their grandparents and what they were doing
when they were 50. Suddenly that api gluing doesn't look so bad at all.

~~~
Surio
@Jacquesm, I agree with your FU money concept and I am actively working on
that. I think this comment is a byproduct (side-effect?! (-;) of your having
achieved FI.

But what you mentioned here is what I would consider "Let them eat cake
instead" advice. :)

Not well thought out.

Nostalgia is a very powerful emotion, and besides historical perspectives are
based on whatever set of lenses you choose to wear. Actually, our grandparents
(even parents) had more time in their lives, more variety in their lives that
was completely unrelated to their 9-5 routines, their professional lives were
(mostly) on autopilot, so they had more free time to pursue all kinds of
hobbies and tinkering, while still working on a daily job! So, yes I am
looking at grandparents too, but I chose to wear different lenses.

~~~
jacquesm
My grandparents would have been very happy with time and energy left over for
'hobbies and tinkering'.

~~~
saraid216
I think you both need to remember that you probably have different sets of
grandparents living in different circumstances.

------
praptak
Late 30s represent, yo. The author of the article mentions high stress. My
experience differs.

In my case the stress sort of waned by itself. I think I moved a bit towards
Wally character from the Dilbert series. I don't overcommit anymore and I
certainly gained resistance to "aggressive schedules" and visions of doom and
gloom tied to deadline skips. So I stress out less and less and I believe it
comes naturally with age.

~~~
muyuu
I think the crux of the matter is your job security and your financial
stability (the economy where you live, etc). If you can afford to delay
projects as needed without risking your position then of course that takes a
lot of pressure off you and things are more enjoyable.

In an ideal world, I'd be set financially by the time I'm 50 and I would work
in my own stuff exclusively or almost exclusively.

~~~
DennisP
In my experience it's not so much about missing deadlines with impunity, as
negotiating up front what you're willing to commit to delivering. A lot of
times you can put off some "nice to have" features without anyone complaining,
as long as the core functionality is ready on time. (That may be what you
meant by "delaying.")

The other part is renegotiating timelines when they make changes to stuff
you've already built.

Financial security helps but the real key is being skilled enough to
accomplish a lot without breaking a sweat. As much as possible, build reusable
components with nice APIs, even if it means putting in some extra time up
front. Always think about how to make your own job easier down the road, and
after a while you'll have an easy job.

------
dschiptsov
That's solved long ago.

There are some underlying concepts, foundation ideas which didn't change much
since 1960-70-80s, the time when they have been discovered, studied and
defined.

Yes, people are piling up tons of crap in order to get money, and this is how
we got a millions lines of meaningless Java code which no one could understand
or maintain, which seems to work well only because most of unit-tests passed
and hardware is so cheap.

I don't even want to mention current Javascript madness.

At the same time, however, almost nothing were added to the ideas expressed by
John McCarthy, and followers.

Yes. They are stuffing tons of useless crap into new Scheme standard, as they
did with Common Lisp, but, the underlying ideas and the principles of "less is
more" and "good enough" remain unshaken, like mountains in Nepal.)

In a very rare occasions we still can witness some miracles. For example, the
source code of this site - the engine _and the language translator in which it
written_ is less than one megabyte. (just imagine what amount of traffic it
handles and how much money already created).

There are also Plan9, nginx and few other wonders.

So, in ones 50s one, perhaps, should enjoy knowing and applying these
principles and ideas and produce ones own small wonders. Or teach others, as
enlightened people like Gerald Jay Sussman or Brian Harvey do.

~~~
wumpushunter
Would you mind sharing the the "few other wonders"?

I've been able to pull many programming lessons from the other activity I
enjoy, woodworking. When I first started, I was overwhelmed by the sheer
number of items in catalogs and stores. I didn't know where to begin!

And then I discovered Japanese woodworking, and traditional woodworking, and
people like James Krenov and Roy Underhill.

It is impressive what people have built with a small set of simple, sharp
tools.

I love seeing these gems, regardless of the domain!

~~~
dschiptsov
MIT Scheme, T3, vi, Gambit-C, postfix, openssh, postgresql, redis, GNU Emacs,
clisp

------
kamaal
No,

Because I seriously would like to see myself retired by 40. Not even 50. Would
I like to code in my spare time? Yes! But I'm dead sure and certain the nature
of programming is likely to have changed so drastically in so many years I
might find myself a losing horse in such a race. Not that I cannot compete,but
after looking at my father I can say for certain priorities in life at 50 are
very different than what they are 25.

Solving problems is something that I would love to do even after retirement.
But solving problems doesn't always mean programming.

I love programming, but I just like money a little more!

~~~
Surio
+1 Good to see I am not alone with views like these. I agree with you. It is
also about where you are doing "programming" too ;-)

See my comments elsewhere.

------
btilly
Let's draw an important distinction.

There is programming, writing code that helps computers do what people tell
them to do.

Then there is the experience of programming that this author seems to have,
which involves a lot of long hours, and nights until 2 AM.

It is rare for competent and experienced people to be tolerant of the toxic
environment that was assumed for programming. Over time you learn that there
are lots of professional programmers with reasonable lifestyles, and you'll
want to become one of them.

However programming itself, if it is enjoyable for you, is likely to remain
enjoyable for a long, long time. (Mid-40s here. Didn't learn that I liked
programming until around 30.)

------
gonzo
I am 50.

I had a large portion of the 'middle' of my career in management, including a
couple CTO/VP Eng positions, with the traditional increasing stress.

So I moved to Hawaii for nearly a decade, got rid of the stress, rediscovered
programming, and I'm happy again.

~~~
kamaal
I think the reason you are even able(read afford) to move to Hawaii is because
you went through a couple of CTO/VP Eng positions, with traditional increasing
stress.

~~~
woodhull
Any American citizen can move to Hawaii anytime they like. It's not terribly
hard to do, especially with a high demand skill that lets you find work
anywhere, globally, like being a software engineer.

------
brooksbp
> But large scale, high stress coding? I may have to admit that's a young
> man's game.

2.5 yrs out of college. Code monkey. Really, really good at monkey
programming. Used to get upset when people made claims that it can't or
shouldn't be done. "Of course it can be done you lazy #$%*$%. You call
yourself a software engineer??" Then I pull it off. A couple more people love
me, a couple more hate me. I become the monkey programmer. I am the one who
brings designs to life the quickest.

That's the gist, and it's getting old. Requirements change. Social issues.
It's like trying to drive a ferarri up switchbacks of a mountain. No wonder
companies love hiring new grads.

The largest benefit from this is: reading & writing a lot of code. There is no
substitute for this. It has helped me identify design areas that I need
experience with. It has also helped me reason about code more efficiently,
which is a very useful skill when interacting with other programmers.

Edit: And then I go home and read HN and /r/programming and play with other
programming languages and build stupid little programs and read my books and
try to figure out my next move...

------
saraid216
Some people actually seem to be missing a significant part of his point. He's
not talking about "Do you want to be coding at all when you're 50?" He's
talking about the dependency management that goes into building something
large on the shoulders of others.

That's a lot different from "hacking on your homepage" or throwing together a
quick Ruby script utility to do some scraping.

~~~
Surio
Well put!

------
mikecane
When you reach your 50s, you have enough experience to see what is real
bullshit and what isn't. He is basically talking about being a hamster
spinning on a wheel made of someone else's bullshit. You are old enough to see
that many things shouldn't be the way they are and you get tired of having to
fight basically the same battle again and again with the same enemy that is
just wearing a new uniform (API).

Hm, maybe the solution is to have people in their 50s design APIs, so they can
make sure the bullshit doesn't get in?

BTW, I'm not a coder but I Follow several on Twitter and too often see their
frustrations with bizarre APIs and things not working as documented -- and
these guys are young!

------
geofft
I'm excited to see all the other folks in this thread who say they're 50 and
they're programming! I've been worried that because everyone _else_ thinks
"large scale, high stress programming" -- i.e., the kind of programming that's
_fun_ -- is a young man's (or woman's) game, I won't be able to have a job
like the one I have when I'm 50, and I might need to find some other career I
enjoy in order to continue having a job I enjoy when I'm 50.

I'm not looking for advancement, since advancement would be out of programming
and into management, nor a pay raise, since programmer salaries are already
plenty high. I just want to be doing exactly what I'm now doing in thirty
years.

------
lazyjones
For much of this frustration I blame the modern practice of letting some
committee design a protocol or other standards and then force that down the
throats of programmers. This leads to bloated designs and deficient
implementations and documentation and last, but not least, far too many
revisions and alternatives.

Back in the day, protocols (tools, languages, ...) were designed by people who
thought very hard about the implementation, the required resources and the
programmers whom these were inflicted upon.

In contrast, entities like the W3C display complete ignorance for the
implementation details (look how they've failed to provide even a half-assed
implementation of a browser as proof-of-concept for their "designed by
committee" standards). Whatever builds on top of such lackluster work is
doomed and will frustrate programmers endlessly ...

~~~
colomon
I don't know squat about your specific examples, but I couldn't agree more
with the general principle. In my sub-field, the obvious example is the ISO-
designed STEP file format, which several times longer than the older IGES
standard (exact count is hard to get because the STEP standard is split up
into dozens of books, not all necessarily relevant) yet is drastically less
specific about how you actually put together a meaningful file.

For instance, the STEP AP203 standards document is 500+ pages long. (That's
the old edition, I don't have a printed copy of the second edition handy.) But
those pages don't tell you how to use the hundreds of classes they define to
actually create a meaningful file. For that you need the supplemental
"recommended practices" document
([http://www.steptools.com/support/stdev_docs/express/ap203/re...](http://www.steptools.com/support/stdev_docs/express/ap203/recprac203v8.pdf)),
which has been marked "preliminary" for the last 14 years and is itself not
particularly clear. (On the bright side, at least it's free!)

Of course, that only applies to one of the many different STEP application
protocols, and while I did find a reference to an AP214 (which I also need to
support) recommended practices document, the link to it was dead.

------
adamc
I'm fifty, and I still enjoy programming, but my interest in incidental
complexity -- the details of APIs, say -- isn't what it once was. And the
likelihood that I will put in a ton of overtime to meet an arbitrary schedule
isn't what it once was either. I'm less interested in the technology than I
once was, and more interested in how people are using it to solve problems.

------
TwoBit
I love programming professionally at nearly 50. I doubt that is going to
change. And I'm in the game industry.

------
Surio
Remember the mantra - "location, location..", and also context. In other
words, where you are working (geolocation of company, and therefore the
strategic operations concentrated in that place, company size, technology,
etc.), what you do on a daily basis, whether you are doing things like
"skimming great oceans of APIs, but the market will have moved" day in and day
out. (There's a lot of gems in that article, BTW)

Add to my above para, this other gem of an observation:

<blockquote> If you're fresh out of school, there are free Starbucks lattes
down the hall, and all your friends are still at the office at 2 AM,
too...well, that works. But then you have to do it again. And again. It's
always a last second skid at 120 miles per hour with brakes smoking and tires
shredding that makes all the difference between success and failure, but you
pulled off another miracle and survived to do it again. </blockquote>

That article really resonated with me. And, no I can't see myself doing it at
50 :-)

EDIT: One more thing to add with regards to context of operations, rewards are
also skewed in favour of management rather than "engineers", so at some point
mortgage, loans, education and medical expenses will overshadow 'fun'.

------
lifebeyondfife
I know and have worked with coders in their 50s, even 60s. They were very much
what I'd call 9-to-5 coders though. They were never given big, important or
new projects but as a consequence were never expected to burn the midnight
oil.

The main thing that looks unappealing to me about being a hacker decades from
now is the constant cycle of learning. I'm on probably my 3rd generation
upheaval. I've worked on a daily basis in a team of programmers with C, C++,
C#, Java and Python. Getting familiar enough with those languages to do more
than just tinker took a lot of effort - even for the languages that are pretty
similar e.g. C# and Java. I'm now looking to do more front to back website
coding (away from pure desktop/server stuff) so I'm trying a few things out
before choosing on the main stack of technologies I need to master.

In my early thirties I still have the enthusiasm to do this but I find it hard
to picture doing the same ten years from now with the same smile on my face.

~~~
lincolnq
Oh, interesting. I love the learning cycle. If I wasn't constantly learning
new tools and tech then I would get really frustrated with my job.

~~~
Surio
I'm happy for you. But sooner or later it gets to you. No one can say
when/how/why, but it does. Happens to the best, happens to everyone else a
little sooner. Until then, enjoy the ride. :-)

------
henrik_w
Absolutely! I'm 46, I have been programming professionally for 21 years, and I
still love it.

I think we're lucky to be in such a creative and interesting profession where
you get to learn lots (and it pays comparatively well too).

I've written about the joy of programming in "Why I Love Coding"
<http://henrikwarne.com/2012/06/02/why-i-love-coding/>

------
outside1234
40 year old here. The key to a long enjoyable career is making sure you really
love 80% of the work you do in your role. You'll never enjoy 100% but if you
find yourself only loving 20% of it then you need to examine what that 20% is
and figure out how to make it at least 80%.

I made a long (5 year) detour into management because "I was supposed to" and
it took me 4.5 years to realize that I hated 80% of my job. That isn't to say
management is "bad" but you need to understand what makes you tick and what
doesn't and then find a role that matches that. Don't worry about the money -
the money will find you if you love your job.

------
Swizec
Man, I _hope_ I still get to program when I'm 50. This stuff is fun!

That said, I sure hope it's not my day job by then. Programming is much more
fun when you're just doing it for yourself than when you're solving other
people's problems to extract money.

Although even those projects can be made fun by making a valid business case
about cool things to clients.

------
ryanlchan
A bit of a false dichotomy here.

Don't do the work because it's expected of you, because it's sexy, or because
it's "interesting". Don't do it because your friends are impressed, because
the pay's good, or because your friends are there.

Do it because it enables you to do what you love.

~~~
10098
What if suddenly, by the time you're 50, you find that you no longer love it,
but it's the only thing you can do to put food on the table?

~~~
snogglethorpe
Sure, but there's nothing particularly programming-specific about that
situation.

It can happen with _any_ profession, and I can't see that it's any more likely
for programmers.

[Personal note: I'm my late 40s, and have been a professional programmer my
entire working life. I still love it, and can't think of anything else I'd
rather do.]

------
mgkimsal
"It's about trying to come up with a working solution in a problem domain that
you don't fully understand and don't have time to understand."

Hrm... it's like that for me, but it's not like that for others I know. Some
people I know have worked in the same industry for several years and have a
good grasp on the problem domains they address. That doesn't mean they know
the solution to everything off the top of their head, but it does mean they'll
likely have time to figure it out, as they're in that business for the long
term, and have incentives to get it right vs 'fire and forget and move to the
next project'.

I'm in my 40s and have been programming, for 30 years. Initially as a hobby
(obviously) but getting paid to do it, first part time, then full time, for
about 20 years. I had this same conversation with an uncle last year -
shouldn't I be doing something else (OK, not quite the same tone as the OP,
but we had the discussion).

I have skills that allow me to solve problems for people. Many people do as
well, but with software, I do it with electrons, and can do it wherever and
whenever I want. In contrast to many other types of work which dictate
location, tools, timing, software work is incredibly flexible. But... more to
the point, as more of the world continues to become software-based, the
opportunities to offer my problem-solving skills to people increases at a rate
few other industries/skills have enjoyed (or will continue to enjoy).

Even if I switched focus to work in "company X" vs "company Y", my core
ability will still be "problem solving with software" - I just don't see that
changing for me over the next 20-30 years. The 'how' and 'who' may change, but
probably not the 'what' so much.

------
donpark
FYI, I am 50 and loving it still. More relevant question IMO is: are you doing
what you enjoy doing?

------
Stratoscope
I'm 60 and have been programming for 44 years. This year I'm working on
election maps for Google. I still like learning new languages - this year it's
PostgreSQL and PostGIS, Go, Autohotkey (a very strange language!), and now
TypeScript (not quite a new language).

One thing I get an odd pleasure out of is when other programmers use phrases
and styles I came up with years ago. A recent example is the $ prefix on a
JavaScript variable containing a jQuery object:

    
    
        // Set $test to a jQuery object and test to the DOM object
        var $test = $('#test'), test = $test[0];
    

I just saw someone explaining that on reddit last night and it gave me a
smile.

Much longer ago, I coined the phrase "fire an event" back in the 80's when I
was designing the VBX interface for Visual Basic (then called Ruby). Alas, not
all the names I coined for that project survived: VB Controls were originally
called Gizmos, which I thought was a much more fun name. But still it's neat
to see people talk about firing an event.

------
happywolf
I have been programming for 10+ years professionally (not counting those
'Hello world' days in school), and I need to admit the OP hit the nail at its
head. Yes, I still believe programming is fun, problem solving is fun, and
solving a hardcore problem is fun. But putting all these in the context of a
tight deadline, management who has no clue about technology, and changing
requirements, I really am tired to pull the miracle off by working my ass off.

A quick glance through the posts here reviews a lot of folks here have better
luck and it is a good thing. To put things in perspective, I have been working
in Asia Pac and now in China. Now I am in the business dev turf where a
technical background is proven useful.

------
epo
People are being very selective in what they are responding to. The final
words are "But large scale, high stress coding? I may have to admit that's a
young man's game." High stress coding is what companies can get away with when
they hire kids fresh out of college, i.e. young, stupid and inexperienced.

And before people throw a hissy fit about being called 'stupid', look back at
10 years ago and tell me you weren't stupid with regard to what you think is
important _now_.

No one is saying you can't (or shouldn't) code in your 50s or beyond, but the
older you get the more particular you get about what you work on and what your
working conditions are.

------
robomartin
Programming, by itself, the mechanics of it, isn't something that I find
stimulative enough to derive long-term enjoyment.

I think the author is right in pointing out that there's an ugly side to
programming that includes bugs, bad API's, bad tools, bad documentation, etc.

This is what I have come to term "programmer on programmer violence". We
certainly can't blame anyone else for these issues.

This I don't enjoy.

Not to single them out --because EVERYONE has these issues-- but you look at
the bullshit you have to deal with when doing iOS programming and, yes, it can
be down-right demoralizing. Horrible documentation, an IDE that looks more
like an iTunes-styled toy than a professional development system, bugs, bugs!,
no feedback, huge delays in fixing problems, etc.

Again, this isn't just about Apple, as nearly every system I've worked on over
the years has some kind of bullshit that you have to deal with, like it or
not.

This, I do not enjoy.

That's why, when justified, I've always gone for projects where I can "own"
all of the code. Two typical cases are FPGA-based projects where you start
with a blank slate of sorts and develop it into a useful signal processing
subsystem. Or, embedded systems where I've had the chance to roll my own RTOS
from scratch. These projects are fun. And you don't have to deal with other
people's bullshit, laziness, incompetence and technical baggage.

These projects I really enjoy.

The other side of this question is: If you didn't program, what would you do?

I am an odd duck. I am equally at home designing multi-gigahertz digital
circuits, programming embedded systems, FPGA signal processors, iOS apps,
workstation apps, websites, doing mechanical design and even running a CNC
shop. I've been lucky enough to have had the opportunity to learn tons of
disciplines through hours-upon-hours of hard-work and dedication. I've enjoyed
every minute of it.

What I have not enjoyed --and I'll try not to get too political here-- is when
your efforts are affected or even destroyed by external --political-- forces.
I recently had to close down a beautiful electronics manufacturing operation
that took me fifteen years to build. Typical story: Started in the garage.
Worked my ass off. Learned a ton of stuff I didn't know. Worked some more.
Grew it to a 15 employee company in a 10,000 square foot building with top-
notch manufacturing equipment. That's the good side of the story.

While I was busy doing this, fucking idiots, otherwise known as politicians,
where busy meddling with free markets and passing laws and regs that would,
ultimately, cause the economic implosion in 2008. My customers couldn't
finance their purchases (this was B-to-B in a mostly leased-equipment
environment) and orders went to zero or nearly zero instantly. There's a lot
more to it, but that's the basics. At one point no option remained but to fire
everyone and shut it down.

How does this relate to the "Would you want to be doing this at 50?" question?

Be careful about doing something or falling in love with something that
external forces can seriously affect, damage or take away. For me I'll
generalize and call this "manufacturing". No, I don't want to be in
manufacturing any more. Not now, not when I am 50. It's a shit business in the
US and, between our politicians and what's going on in China, it is getting
destroyed a little more every day. Here's a case of having invested fifteen
years of my life into something that the government destroyed. I did not
destroy it. None of my actions caused the economic downturn. None of my
employees or my customers caused it. It was government policy that allowed
millions of people making $50K a year to buy $500,000 homes they could not
afford. And so it went.

The software industry, as fucked-up as it can feel from time to time, can have
a lot more isolation from these issues. That's not to say that it isn't
affected by economic ebbs and flows, it is.

There's a fundamental difference between the nature of a software business
and, say, a manufacturing business. At any given time I had to have one to two
million dollars in inventory, tools and equipment (parts, assemblies, raw
materials, manufacturing equipment, tools, infrastructure) in order to be a
small manufacturer. And, when things go bad, this infrastructure is sitting
there, right above your head, ready to squash you, ready to kill you off
unceremoniously. It can happen almost literally overnight.

Software is different in that infrastructure is minimal and there is no real
inventory investment. You can do software from your bedroom and build a nice
lifestyle business or million dollar venture. Most importantly, software is
incredible in that you can pivot overnight. You can be doing children's
educational apps one day and a real-time process monitoring system the next.
This allows for great security and potential stability for years and years.
This is a huge advantage and, yes, this is something that would be desirable
to have in your life at fifty and beyond.

~~~
dexterchief
Sorry to hear you had to fold up shop like that. It sounds like you have
plenty of talents to fall back on but that probably doesn't remove any of the
sting of having all your hard work swept away. That said, US Politicians have
plenty of misdeeds to answer for, but over-regulating the financial sector is
really not among them. The requirement to prove that you have some sort of
income before getting a house loan was one of the things deregulation "fixed".
It was bank policy not government policy that "allowed millions of people
making $50K a year to buy $500,000 homes they could not afford". Check out
Alan Greenspan's testimony before congress. Its easy to find on youtube.

~~~
giftedbygod
LOL: and who guaranteed all these bad loans? Who guaranteed all the mortgages
by the Law? The US Government and the FED. Are you really surprised that banks
were approving nearly all mortgages when Government GUARANTEED they if house
owner stops paying, the Government will buy the mortgage?! That's the very
purpose for which Fannie Mae and Freddie Mac were created. To guarantee risky
mortgages so even people who shouldn't get a house (lazy) would still get one.
With the Government guarantee. The unintended consequence was (of course!)
that banks started giving out loans to everyone.

Look for Peter Schiff videos on youtube from 2005/06/07 when he talks about it
and everybody laughs at him.

~~~
forensic
The lesson is that you can't just ignore politics. You can't just leave
politics to the politicians.

The same people who bitch about the government typically refuse to take
control of the government. Democracy is bullshit and it's time for technical
and scientific people to create a Platonic state.

The price good men pay for indifference to politics is having their businesses
destroyed by evil men.

What mystifies me is how all of these smart technologists and scientists
refuse to use their intelligence to take over the state.

People should have to pass science and math exams if they want to vote. It's
that simple.

------
tremendo
Fifty? Pfft, sure! I'm almost there, and yes, I want to continue… Now Sixty…
I'll confess that my evil "plan" from many moons ago was to—by then—be able to
balance this with my other loves, being outside and moving (not just my
fingers). I suppose many professions suffer from the same disadvantage, but
programming _is_ a slow killer. Eyes, joints, all that clot-inducing sitting,
disrupted cicardian-rhythms, too easy to get trapped in bubbles disconnected
from reality, you need to be extra-vigilant and pro-active if you care at all
about your health and those that love or at least put up with you.

~~~
genbattle
I definitely feel this. I'm only 24, but already I can feel the effects of
being in a chair for 8-16 hours a day. It's sad that it is happening so
quickly, but it has really made me realize how much I need to break the cycle
and start thinking about this now, rather than just deferring it till _when I
have time_.

Also I deeply feel the mental bubble that forms around me when i'm
programming. It makes it scarily easy to just start withdrawing from other
people and the world around me.

------
noonespecial
30's here. I'm actually calling "still doing this when I'm 50" my best case
scenario. It will mean the joy I take in making was able to outrun the
creeping cynicism that seems to catch up with far too many people as they get
older.

 _It's about getting derailed by hairline fractures in otherwise reliable
tools, and apparently being the first person to discover..._

I actually live for these moments. When I google the error, in quotes, and get
0 responses. Its a total rush to know that I'm the first one there. Its even
better when I figure out a decent fix and then light out across the forums to
share my new-found knowledge.

------
lifeisstillgood
The frustrations of this are less than frustrations of almost every other job
I know.

I hope to mitigate the frustrations by simplicity - the idea of a few great
tools I know inside and out

~~~
lifebeyondfife
The point is you have to be prepared to re-select the 'few great tools' you
know every decade or so and invest time getting to know them inside out. That
can get very tiring as you get older.

~~~
danso
How is that different from any other job? Listen even to people in
traditionally creative/uplifting jobs...including artists and teachers. It's
depressing to hear how much of their time is struggling with data
entry/Excel/why-wont-the-font-stay-the-same-size issues...time (and energy and
angst) that is probably substantial over their career

~~~
lifebeyondfife
Interesting.

I remember an industry teacher once saying to me that "You'll probably never
put '10 years experience in Technology X' on a CV." because by the time it's
been around for that long it will be pretty much obsolete. The fundamentals of
computer science won't change (big-O, synchronised distributed systems, logic
etc.) so I suppose it will just come down to re-learning the modern day tech.

But that's the same for lawyers (fundamental laws / processes unchanged, need
to be up-to-date on modern rulings and changes), doctors (fundamental human
physiology unchanged, need to be up-to-date on modern techniques and drugs)
sales assistants (knowing how to greet and assist a member of the public never
changes, need to know how to use the latest cash register / Square-up card
reader terminal).

I suppose you can't escape it in another industry. I still stand by my point
that your skillset as you get older will make you more appropriate for other
duties.

~~~
lifeisstillgood
I think the skillset as we get older is knowing when to duck.

It might be called wisdom, mentoring, what have you but basically, having been
in situation X before, you can give sensible advice to someone just entering
situation X.

Monetising that is generally harder

~~~
Surio
Reading through all the comments has reinforced my original comment that this
kind of "bring it on" passion is heavily correlated to geo-location, culture,
industry and day-to-day grind that one is put through.

>> Monetising that is generally harder

Tell me all about it! So, I've heard of elephant graveyards and jet
graveyards... Now, where do all those grizzled, veteran (old) programmers go
away (other than into management)?

:)

~~~
lifeisstillgood
we hang around on HN, moaning

------
donebizkit
Finally an article that tells it like it is. A word to the commenters trying
to disparage the author. I am sure wherever you live, in la la land, you wake
up smiling, sipping your coffee, checking tech blogs, dev sites, spending
couple of hours learning a new technology and then when you feel like it you
write a single PHP page and call it a day. But let me tell you how the rest of
us do it. You wake up with a headache because you spent last night dreaming
about all the meetings you had the day before. You chug your coffee hoping the
headache will go. You spend 15 minutes catching up on emails and if you are
lucky 15 on reading tech blogs and then the misery begins. In 15 minutes
increments you jump from coding project 1 to a meeting to fixing project 2 to
a meeting to learning about the domain of project 3 ... And then some
douchebag in a meeting says why don't we use technology X and spend many days
learning about it to build something we could've coded in couple of hours. And
then management says why don't we use technology Y because all the douchebags
on the internet are talking about it. You try to make you case that we don't
need any of that i.e. we don't need to use Hibernate for COUPLE of
select/update/delete queries SQL is not that evil! and then even though most
of the team agrees with you, no one has the guts to say it out loud. You
return to you desk trying to remember the algorithm you were designing in your
head but part of it is gone. You jump from JAVA to .NET to PHP to javascript
to C++ to SQL to Hibernate to jquery to YUI to MVC to mapper to, to, to ...
You go back home, do whatever nightly routine you do and call it a day. Sorry,
passion is not the problem here. Software developer is a tough job and I know
I can't do it when I am 50.

------
lukeholder
I just turned 29 and this depressed me.

~~~
peterhost
You'll see, turning 40 is even worse ;)

~~~
tonyedgecombe
I'm nearly fifty and have found things get easier as you age. The things I
used to worry about in my twenties just aren't on my radar now.

------
velebak
I've been doing software development for a total of 16 years, with a stint as
an IT manager for 5 additional. Did some side work here and there to keep
skills sharp, but I recently got back into full-time development after I
realized I like creating more than I like maintaining.

I'll be 42 in November, and my experience gives me a guided path to
understanding and solving problems, independent of technology, language or
API.

I don't need to chew through espresso and lattes until 2am, because I've
gotten smarter over time. I can identify patterns and problems faster than I
did 20 years ago. I work more efficiently and don't need to take a scatter-
shot, unfocused approach to work.

I don't disagree that software is a continual source of frustration to
develop, but I think that's because we expect at some point to be super-
experts for any problem domain.

Yes, tools and frameworks change. Sometimes they suck. Sometimes they don't.
If you don't love learning new things and investing yourself in continually
keeping up to date, then you doom yourself to being miserable in this
profession at any age.

------
grownseed
I liked that article, it's a question I've asked myself numerous times. I love
programming, been doing it for about 14 years now and I regularly find renewed
interest.

I think one point that's maybe not stressed out enough here is that the
passion for the activity itself doesn't necessarily have to do with a passion
for the job related to that activity. I very often do things at my work I
honestly wish I didn't have to do, a lot of it is really, really numb.
Consequently, sometimes I think I wouldn't want to do that for too long, but
then I realize the problem is the job itself, not programming.

There's also the question of whether I'll still be able to keep up with all
the new stuff when I get older. I've often relied on the fact that I can adapt
and learn things pretty quickly. Then I think back and it turns out that it's
not so much a 'mechanical' problem, it's more of motivation problem. So I
suppose as long as you can keep yourself motivated, you'll keep going.

------
rapind
I think the key, just like any career, is to truly make an effort to reduce
your cost of living (yes even with dependents, or what I like to call
_barnacles_ ). This will help you get the stress under control and free you up
to be a little pickier with the projects / products you work on and the people
you work with.

Still happily coding away @ 37 here.

------
Zigurd
It really depends on what you mean by "programming." Following some dullard's
waterfall plan to put sludge data in one server into a database of sludge on
some other server would make anyone depressed.

Writing books, consulting on multiple interesting projects, and being well-
remunerated is a very rewarding way of making a living. Can't complain.

------
mark_l_watson
I am 61, started programming in high school in the mid-1960s, still really
enjoy it.

But, that is the issue: enjoyment. The author of the article is not enjoying
himself (apparently) so time to try something else.

I enjoy the tech and helping people. My only frustration with my work comes
when occasionally projects, for whatever reason, don't work out well.

------
eda
I'm 51 and I've been programming since I was 21. I write code every day. I
love what I do and I have never been more productive than I am now nor have I
ever written better code than I am writing now. I write highly complex multi-
threaded algorithmic code that operates on extremely large graphs (up to 3.5
billion nodes). I have no interest in getting into management.

I did get "lucky" in that I was a member of the founding team of a publicly
traded company and am now a technical co-founder and chief software architect
of an up-and-coming engineering software startup. I've written 3 blog posts in
career and, except for LinkedIn, I participate in no social media/networking.
I've never posted on StackOverflow. Outside of my niche industry, I'm sure
that no one has ever heard of me. And, that's exactly how I like it.

Just my $0.02

------
wbharding
Whether I'm still programming when I'm 50 (currently 33, programming for about
20 years), will depend on whether I have the same appetite for being wrong
that I do today. To constantly program, you have to constantly learn, and to
constantly learn, you have to constantly be confronted with the fact that
you're doing it wrong. Not using the right API, the right language, the latest
technique, etc. The best programmers are the best learners.

The author here doesn't seem to be particularly passionate about learning from
his battles with Hard Problems. I don't blame him, because it's hard and
painful to be in a constant battle. But for my part, I hope that I still have
a taste for the pain of learning when I'm 50; the day I stop wanting to learn
is the day I become bored & boring.

------
talmir
I am at 29 and finally after years of wanting it I landed my first software
developer job(Didnt have the uni degree needed, but now I do, hells yeah!). I
know that I will be happy doing this until the day they pry the
keyboard/neural-thought2ascii interface from my cold, dead hands/brain.

------
GnarfGnarf
I'm 63, been programming since my student days in 1965. Programming is one of
the greatest jobs in the World. I'd rather program than play golf. All my life
I've been incredulous that they actually pay me to do this.

(I'm not sedentary, I walk 3 km/day, 8 on week-ends).

------
xyzzy123
Yes. But not actually for technical reasons. I program to be a part of
something, to participate in a vision or shared goal. I program because the
experience of creating something is (currently) the major way that I have fun
with people.

If I'm working on a projects/products I care about I think I could easily do
that for the rest of my life.

At times, it's the enthusiasm of others which pushes me along, while I provide
technical expertise / experience. Other times I will have a silly idea of the
way the world should be, and I can use that to gather others around me and
make their lives better.

Programming at its best, for me, is vision enabling :) How could you ever grow
out of that?

------
thedealmaker
I think it is very important to understand the "real" differences in what it
means to program vs. manage. In programming in most cases you are working on
projects. Once you deliver the code that project is essentially over (minus
support and bug fixing of course). In a management role many of the key
activities never really conclude. For example, resource allocation overall and
amongst various projects, is something depending on circumstance, you may have
to revisit on a weekly or monthly basis. So you don't get the satisfaction of
"delivering" anymore and items stay in your inbox much longer. This for me is
the key difference.

------
agentultra
Yes and I hope to continue programming well into my 60s and beyond if I will
be so lucky.

However I hope that by then I won't be working for a boss and stressing to
meet deadlines. I hope that I will be conducting research and working with
fellow hackers to seek out the next frontier of the future.

While I think the present we live in now is full of wonders, I don't get a
very gratifying sense that it's going to last. It seems more to me that we're
finally able to apply the things we've spent enormous amounts of time and
money learning over the last thirty years -- we're not out seeking the future
so much as we're claiming a stake in the present.

------
mandeepj
I think those who hate IT, programming are the one who does not understand the
computer architecture, compilers, programming languages, protocols (http,
tcp), OS, does not becomes friends with tools, never try to improve
themselves.

They don't know what is happening behind the scenes like how code gets
compiled, how inter machine, inter process communication happens. How browsers
work, what is the work involved when someone requests a web page from a
server. How to debug issues? Effective debugging requires great knowledge of
the components involved and creative thinking and above everything else lot of
patience.

------
nathan_f77
I'm 23, so I have no idea, but I'm pretty sure that I will still love
programming as much as I do now. I started as a kid, so it's a big part of me.
However, a lot can change in 27 years. Programming is a huge passion of mine,
but music and charity work can also steal all of my focus if I let them.

I'm a Ruby on Rails specialist at the moment, and I absolutely love the
framework and community. GitHub and rubygems are amazing. Google and Stack
Overflow are like all-knowing genies. I'll go out on a limb and say that right
now is the best time in history to be a developer, and tomorrow will be even
better.

------
njharman
I will always program, for myself, solving my problems, exploring my
interests.

I doubt I will always program for someone else, solving their problems. I'm
sure I'll do it for another 8yrs at least. Which will put me at 50.

------
nprasanna87
After being inspired by a Team Lead in my office, 2 years into my career as a
software engineer, I chose to focus all of my efforts onto Programming. The
main reason it seemed attractive than any other option was that I liked the
feeling of having found a solution to a seemingly hard puzzle or a challenge.
The small victories. But of course now the reasons include the prospect of
creating something of value for which I could get paid passively. Thanks to
hacker news! And yes, I like it and don't see myself doing any other thing
that programming!

------
kabdib
I'm 51, and having a blast.

I'm still learning. I'm an ACM member and read at least a paper a week from
one of the journals. I keep trying to improve my skills. (A couple months ago
I realized I hadn't done much work with trees in a few years, so I spent a
week going through tree balancing algorithms from several books. It was fun).

Hardest thing: Having to learn new stuff that isn't designed right. I'm going
through a fair amount of that now. Having to move in with a large, not very
well designed system and make serious additions to it is . . . irritating.

------
ww520
Yes, I do plan to be doing this when I will be 50 or 60 or whenever. There's
always something new coming up, new platforms, new hardware, new languages,
new tools, new problem areas.

For example, I've just learned a new vision algorithm that came up couple year
ago that makes one of the vision problems solvable with modern hardware, that
opens up the possibility to build solutions for this kind of problem.

We are slowly but surely automating life with software, and we developers are
in the middle of it. Why stop just because you've aged?

------
rbanffy
If I can still build planes in the sky and herd cats when I'm 50, I'll be
happy.

I've been building planes for my first 20 years and herding cats for the rest
of my career and there is probably nothing in the world I'd be happier doing.

Note: those may be obscure references for some.
<http://www.youtube.com/watch?v=Y7XW-mewUm8> and
<http://www.youtube.com/watch?v=m_MaJDK3VNE> should help.

------
laichzeit0
No. I'd like to be retired before 50. I'll probably still code when I retire,
but it will be in something like Mathematica or R while I sit around learning
subjects that interest me.

------
gexla
Taken to extremes - if it's not worth doing at 20 then it's not worth doing at
50. If you feel that you don't want to be doing this at 50 then you should
probably get out as soon as possible.

He also mentions something to the effect of not being able to take the time to
completely understand everything. But the problem is, it doesn't matter if you
are being paid or not. Your lifetime will always be a constraint. You will
never completely understand everything you are working with.

------
pre
Yes, course I still wanna be coding when I'm fifty in a decade's time. If I
was rich enough to not need a job I'd be hacking on my homepage.

I just hope my wrists hold out that long.

------
scrozier
54, programming for 34 years. Numerous adventures in entrepreneurship, one of
them successful. Came back to programming in the last few years because it's
the most satisfying work for me. Making stuff that amazes people and makes
their lives better is totally rewarding for me.

Nothing wrong with being a craftsman, using your intellect, and making others
happy. In some ways, pursuing the elusive "big win" seems a little shallow by
comparison.

------
theoa
65 and coding harder than ever. All the things I have wanted to do for years
are now becoming easy.

It's not that I am getting any smarter. There are so many new tools and so
many new techniques with thoughtful discussion to back them up, that creating
cool new stuff is becoming a piece of cake.

My world is all about 3D.

WebGL and libraries like Three.js are breakthrough tools.

Stuff that would have taken weeks to code gets dashed off in hours.

I would not stop coding even if you paid me to stop.

It's way too much fun right now!

------
akadien
I want to do exactly what I'm doing now in seven years. Like several stories,
I drifted out of programming and into various management roles over the past
few years. I'm super-fortunate to be out of Excel and Word and back into a
command-line and VIM.

As a side note, I work with a well-known researcher/developer in his 70's, and
it's like working with Yoda. There is so much to learn from him.

------
tmerr
I enjoy it now and that's the best prediction of the future I could hope for.
It would be silly to worry about something so unpredictable!

------
dumb-dumb
I think this is the reason VC need kids to build hyped contraptions of
unneeded but usefully obfuscating complexity that can be pitched to investors
as "the next big thing". Adults would just skip the hype, the faux
productivity, and do things efficiently in the simplest way possible. Case in
point: the author's small image composition program built using C and Erlang.

------
ef4
No matter what you do, you should absolutely be asking yourself "do I want to
still be doing this in N years?".

It isn't just a matter of trying to have a fulfilling life -- it's a matter of
survival. People who don't look up once in a while and consider their larger
place are the people who get steamrolled when a new technology kills their
entire industry.

------
6ren

      > ... a problem domain you don't fully understand and don't have time to understand.
    

One resolution is to create products that address problems. Then, you can
justify time in understanding and improving, because it's amortised over many
users.

Of course there's still pressures, and technology still moves, but it's not
cut and paste and pray.

~~~
cmdkeen
Or go and work in that industry. I work in finance and the office has plenty
of older programmers who have been trained in the theory of what they're
working on.

Being a good software engineer still puts you in a large group. Being a good
software engineer with good domain specific knowledge instantly puts you in a
much smaller group.

It can also be much more satisfying work. And an awful lot more secure
(depending on the firm) compared to starting out on your own.

Trying to be a rockstar competing on your coding merits alone is going to be
damn hard to keep going for 30+ years.

------
danso
I want to be programming, but in the line of non-professional software
development, whether it's making open-source tools or to advance the processes
of a cause/organization/business that I support, on my own terms. I've been
lucky that I haven't had to go into a purely software dev job at a company...

------
unsigner
Game development in a fairly NIH-ish studio can be very close to the good
scenario: very little API wrangling, very little red tape, the "client" (game
designers and artists) are in the next room and generally reasonable. I'm not
terrified by the idea of doing this 15 years from now, aka when I'm 50.

------
henrik_w
From codinghorror, on the subject of working as a programmer "Programming:
Love It or Leave It" [http://www.codinghorror.com/blog/2008/12/programming-
love-it...](http://www.codinghorror.com/blog/2008/12/programming-love-it-or-
leave-it.html)

------
sentinel
Yes. Maybe not exactly the same thing (because as the author mentions,
technology is an ever-changing field), but it's very interesting to see and
adapt to that change as it is happening. Especially now when the tech sector
is at the core of everything around us.

------
tharris0101
I think it depends on WHAT you're programming at 50. Anyway, my philosophy is
that I want to be defined by what I'm doing away from my job/career. It is
extremely depressing to me to think that my career will be my driving force
through most of my life.

------
bryanwb
I really started programming at 30. Prior to that I spend 5 years managing
medium-sized groups of IT staff (telephone, wan/lan,satellite). Managing the
IT groups was a billion times more stressful. Programming is so much more fun
and rewarding.

------
nydev
I will still enjoy programming at 50 and will still want to it for money. But
will the ageism in this industry permit that to happen? It feels like the tech
culture must change to accept that there are good programmers who aren't in
their 20s.

------
anil_mamede
If you look for achievement in programming field you have to plan it for a
long term in specific area. Unfortunately many programmers turn to be jack of
all trades, working in many things at the same time and without a long term
purpose.

------
michaelwww
\- But large scale, high stress coding? I may have to admit that's a young
man's game.

This statement verges on ageism, which I forgive you for because it is common
in the tech industry. Ask Rob Pike (b.1956) if high impact programming is for
young men.

------
lambda
So, what do you do instead? As someone whose only job has ever been
programming, what else is worth moving to that pays about as well, has similar
job prospects, and is suited to the type of person who is drawn to
programming?

------
stantonk
If that's been your experience of programming either:

1\. You're doing it wrong. 2\. You work for some sort of agency / programmer-
for-hire outfit where you never work on the same project for longer than a few
weeks or months.

------
Joss451
I've been programming for 37 years. Programming is learning and learning makes
me happy. I don't hunt, fish, play golf, chase women or drink in bars. I
learn. I discover. This vocation is perfect for me.

------
bbunix
I had to reply... more than a comment, an entire blog post :)
<http://blog.maclawran.ca/hell-yeah-hacking-at-50>

------
azakai
> But large scale, high stress coding? I may have to admit that's a young
> man's game.

Was there a reason to use "man" instead of "person" here? Being a man doesn't
seem important to the article.

------
EwanToo
Yes, because I can't guess what the world will be like in 20 years time, but I
am 100% certain that I'll want to be working with the insanely powerful
computers that we have then.

------
b4c0n
Reading the mostly positive replies of "Yes, I definitely want to keep doing
this well past 50!" gives me manly tears of happiness.

------
Craigangus
Yes, maybe I do! Just need to make the sure you end up being an ageing
Rockstar programmer rather than retired Lounge singer

------
daven11
50 next month, and yes :-), and do cutting edge development still. I'm worried
I wont be able to do it when I'm 70

------
dragondilesh
Hell yes!

Im only 20 and if I can program/code/solve problems for the rest of my life, I
know i'll be content until I die.

------
wglb
I'm not gonna say by how much, but I passed that mark some time ago. So the
answer is emphatically yes.

------
lrobb
Would you ask that of a lawyer or an accountant.... Or even a civil engineer?

------
nsxwolf
It would be nice to have that kind of job security.

------
droope
FUCK YES!!!!!

of course I do

------
genbattle
I'm literally going through this at the moment.

I'm currently 24.

I do still love programming, and I'd like to think i'm pretty damn good at it.
But do I want to be doing it as a job in 30 years time? I'm not so sure
anymore.

I've been through one software job at the very loose-and-fast end of software
development, but the pace (and a huge amount of overtime) burnt me out. I got
to the stage where I couldn't get myself out of bed to go to work the next
day. Over time I recovered somewhat, but I just wasn't enthusiastic about the
work anymore.

My current job is at the complete opposite end of the spectrum. Medical
software development is very slow, conservative, and methodical. To be honest
I can see why most of the companies in this industry are at the thousands-to-
tens-of-thousands scale; you literally need that critical mass in terms of
staffing to deal with all of the overhead associated with a medical product.
Reports, standards, committees, meetings, audits. And yet this company is
doing it with less than 10 people.

It's really feel-good work, but it is really easy to get bogged down in the
day-do-day drudgery and overhead, to the point where you completely miss the
big picture of helping save peoples' lives. Do I want to be doing this when
i'm 50? I don't think so.

In general in software development there's a couple of things that I've
realized you have to work really hard at to have as a software developer. I've
also discovered that both of these are much more important to me than I used
to think:

\-- Physical health and fitness: if you're sitting statically in a chair for
8-16 hours a day you have to really watch your diet and make continuous
conscious efforts to exercise at every opportunity: it's going to catch up
with you eventually (especially by the time you get to that 50 mark).

\-- Varied and changing environments: both of my parents have "desk jobs", but
both have extensive trips out of the office to visit customers or other sites.
As a programmer I don't get this variety (the spice of life), so it's very
easy to get bogged down and forget the big picture. I think this also leads to
getting stuck in mental and emotional loops, due to a lack of external
stimulus (kind of like what people who work from home report).

Nothing prepares you for actually being in a 9-5 programming job. At
university it was obvious that there were people who were able to pass tests
well enough, but would obviously struggle to code their way out of a paper
bag. What about the people like myself, who are competent and practical, but
are not prepared mentally to handle the rigors of 9-5 programming? Maybe
that's why there is a shortage of labour in this sector: not only are we
struggling to find people who are excited about programming and skilled at it,
but we also struggle to find people who can handle working in these commercial
scenarios?

There are also a number of companies that aren't like the examples above,
especially in SV. But the problem with that is that not all of us are, or want
to be, in Silicon Valley. Could I start my own company? Maybe, but that's not
where my competencies or passions lie, at least currently.

Some deep thought is required about where exactly I will go next, given the
time and effort I've invested up till this point into electronics, computers
and programming.

------
michaelochurch
I enjoy programming and would like to be doing it at 50, but with regard to
the software industry itself... not in its current state.

If you want to be able to survive more than 10 years in the software industry,
you need to get manager-level clout and full autonomy over your work. That's
non-negotiable. This industry destroys you if you don't have those things.

The terrifying thing about the software industry is that if you don't continue
to get good work, you decline pretty quickly. Also, I honestly think 90% of
what makes some engineers great and most not (once filtering for natural
talent has taken place) is past experience: you need a continual stream of
high-quality work to become and remain decent at this job, and the good stuff
is rare.

The actual work of programming can be a lot better (more interesting, more
rewarding) than anything that managers do. The hard part is figuring out a way
to be a full-time engineer but retain manager-level clout.

Many engineers think that actually becoming managers will give them what they
need to enjoy engineering again, but the problem is that this strategy doesn't
work. If you're a manager and your reports figure out that you're taking all
the interesting work for yourself and throwing them the scraps, they'll get
pissed off and either underperform or leave.

~~~
joshyeager
There is another option: find a really good manager who is able and willing to
give you what you need, make sure they understand your value, and stay with
them.

I don't really know _how_ to do that, I just got lucky. I moved into
management myself about five years ago (still working for the same guy), and
I'm trying to be the same kind of manager for the people who work for me.

~~~
michaelochurch
I like that idea as well, but the problem is that your manager will, over the
long term, change. Most people have no insurance against some person they've
never met being hired above them. You need enough independent credibility to
protect yourself against that. You have 5 years of managerial experience, so
you probably have enough work experience that any job move would be a likely
promotion, so your company has incentives not to treat you badly.

I used to think the software industry was about programming: writing great
code to solve hard problems. It's not. It's about credibility and technical
risk. The software industry is 90% industry and only 10% software. Most of
your time will be spent convincing people to allow you to do useful stuff, not
actually doing useful stuff.

The ironic thing is that, as software jobs increasingly slide toward looking
more like widget-making and less like research, programmers become a lot less
effective. Valve established that open allocation works.
([http://michaelochurch.wordpress.com/2012/09/03/tech-
companie...](http://michaelochurch.wordpress.com/2012/09/03/tech-companies-
open-allocation-is-your-only-real-option/)) Every other software shop has
proven that the alternative (still more popular) doesn't.

The Death of R&D, I think, will be looked upon as the "conscious" decision (of
course, large groups such as nations do nothing "consciously"; it's a
historian's metaphor) of the United States to go from a world leader to third-
rate in a few decades.

~~~
joshyeager
Most of my experience has been in product-focused teams, so there is a good
mixture of R&D and polish work. The company as a whole has to spend time
convincing customers that our product is useful, but the development team is
able to focus on actually making a useful product.

I can see how what you're saying could be a much bigger problem in a project-
focused organization (or if you're working on a product that isn't actually
useful). So maybe my advice is twofold: "find a good manager and stay with
them, and work for a company that values software for its long-term
potential."

~~~
prodigal_erik
My version of "values software" is that it be mission-critical. If it breaks,
we're going to be chatting at 2 AM and testing a patch at 3, because we'd lose
vast sums of money or customers by waiting until after breakfast. I met my
favorite manager turning around a shop like this.

Most software is utter garbage because everyone knows better than to actually
rely on it and nothing bad happens to incompetent people maintaining it.

~~~
slurgfest
Just making heads roll is not going to magically improve software. You can
keep firing your teams but if there are other issues like unrealistic
deadlines, bad process you are going to get bad output even from good people;
all firing will achieve is churn.

~~~
prodigal_erik
I don't necessarily mean firing people (though there are some who really
aren't good fits for this work). I mean I see better work from people who
literally lose sleep over bugs, rather than merely shrugging.

------
andyl
I was a manager in the dot-com era, made good money then took a decade off to
climb mountains and raise my kids. Now approaching 50, I've taken up
programming and just loving it. Today's tools are incredible - I can do myself
what used to take a whole team and literally millions of dollars.
Ruby/Rails/Sinatra/Rspec/Postgres/Backbone/Coffeescript/Erlang/Elixir/Chef/etc/etc
- we are blessed. Creating with my own hands and having a direct relationship
with my customers is so much better than hassling with investors, attorneys,
employees etc. I hope to do this the rest of my life.

------
bravoyankee
_It's about skimming great oceans of APIs that you could spend years studying
and learning, but the market will have moved on by then and that's no fun
anyway, so you cut and paste from examples and manage to get by without a full
picture of the architecture supporting your app._

Well stated. Man, do I feel like that. But I think this is a universal problem
now. Information is freely available, and there's so much of it. An endless
buffet, and it doesn't matter what field you get in to.

~~~
lifebeyondfife
It's not so much the field but rather your role within it. Someone with many
years experience as a programmer working within a specific industry might have
the experience necessary to make sound, informed technology decisions.

Not saying that would be an easy job or not stressful but it's a better use of
that persons skills and experience.

------
pyrotechnick
Yes I do but we'll all be writing genomes by then.

