
No Company For Old Programmers - tathagata
http://blogaborty.blogspot.in/2013/04/no-country-for-old-programmers.html
======
andrewcooke
45 here, still enjoying it. and much of that description didn't really ring
true. the obsession with computer science came at the start (i wasn't educated
as a software engineer, so my first job writing code had me scrambling to
understand the theory); what i enjoy most these days is crafting something
_well_. it doesn't have to be rocket science - it's a pleasure just to make
something that is so simple it is beautiful, yet works so well it makes others
happy.

everything else - understanding inherited crappy code; fixing bugs no-one else
can / wants to; listening to clients change their mind again - is just the
price you pay for being able to do that craft...

~~~
radio4fan
42 here, and still loving it.

I work from home, and can work anywhere in Europe, as much or as little as I
want (within reason). I don't have to put up with meetings and bullshit
bosses. Above all, I still love programming for its puzzle-solving side, and
for its non-stop accumulation of learning and experience.

I'm currently having an awesome time in Barcelona, but I've lived in a
beautiful city in France, by a beach in the Canary Islands, and in an 18th
Century Norman Château (well, in its converted stable anyway).

I'm sooooo glad I stuck to the coalface and didn't move into management, or
I'd probably still be swearing at tourists on the tube every day.

~~~
boothead
How do you find remote work? Are you a contractor or permanent?

~~~
radio4fan
I'm a one-man business doing web development.

I get my work almost solely through contacts I made when I lived in London,
though I left the UK in 2007.

Sorry: probably not what you wanted to hear!

~~~
boothead
It's not that bad, I'm a web developer too and I work in London at the moment.
With my day rate I could probably fund a year in a cheap part of the world on
6 months work, but it would definitely stretch further if I could top it up
with some freelance work :-)

------
ericb
I'm 38. The difference in what I know, can do, and can do quickly, now vs. 10
years ago is staggering. I can't wait to see where I'll be in 5 years.

It makes me confused about the "young founder" trope. Maybe some wunderkind
can pick up a lifetime of learning before they are 22, but if so, I'd love to
know how, and how this could be a common scenario. It just seems far-fetched
to me. So much of what I know came from experience, but without that
experience, I'm not sure how one would learn these things...

~~~
untog
I think the young founder trope persists for social reasons, not technical.
The average 25 year old "understands" the internet on a very different level
than the average 35 year old- simply as a consequence of having grown up
around it.

~~~
16s
I disagree. Ask them what "recursive queries" in DNS are. Ask them to explain
the difference between a forward and reverse lookup. DNS is fundamental to
"The Internet" and hardly any young person I have met can answer these basic
questions about how it works. Now they do "understand" how to post pictures on
Facebook, but Facebook is not the Internet.

~~~
untog
Well, I disagree with that fundamentally. You don't found a successful tech
company because you know what a recursive DNS query is. You do it because you
know your market and you understand your customer.

------
saddino
It took me almost 20 years of hardcore programming to realize it wasn't the
programming that was interesting to me. I didn't give a whit about new
languages and frameworks and new design patterns. What I cared about was the
_creation_ of something from nothing. What I cared about was the ability to
conceptualize and immediately materialize: ideas leading to moving digits on a
keyboard leading to product.

Starting my own company, releasing my own software, interacting with my own
users and reveling in their praises or reeling back from their complaints:
that's software brought to life and that's what keeps me going.

Programming is just the canvas for getting my ideas out in the real world in
the hands of real people.

~~~
beeffective
Exactly this, except I've only been developing for 8 years and don't have my
own company. I find myself getting into new hobbies because of the actual
creation. I've built my own redwood planter boxes for tomato plants this week
and it's my first year planting tomatoes. I have 8 plants and I'm obsessed.
Golf is similar, but instead of creation, it's about troubleshooting what I
did wrong and fixing it. My handicap has dropped from 18 to 13 and that's
before buying new wedges (I've only used sand and pitching if any of you are
golfers). My self-taught mentality is holding me back from going out and
getting a golf lesson, much like how I teach myself new frameworks.

------
chrisbennet
I'm not old yet [only 51, software dev. since 1985] but I still enjoy
developing software. I compared myself to a golden retriever in an interview
once: "You know how you throw the ball and he brings it back? If aren't
familiar with retrievers, you'd think. 'He'll get tired of this in a while.'
but it never happens. That's me and programming."

Admittedly I've been _very_ lucky, I've never had to do "maintenance", write
CRUD apps, had horrible bosses or worked with bad developers or unpleasant
people.

~~~
kyllo
What's wrong with CRUD apps?

Has CRUD become a derogatory term, or do you just personally feel that they're
boring to work on?

Tons of useful applications involve Creating, Reading, Updating, and Deleting
database records at their core. Facebook and Twitter are essentially giant
CRUD apps, so is every CRM system ever. Rails and similar frameworks provide
scaffolding for automagically building functioning bare-bones CRUD apps with
just a few keystrokes, relieving developers of the boring, repetitive part and
freeing them to work on the unique business logic.

I dunno, maybe I'm a dork, but I guess I kind of think CRUD apps are cool.

Edit: OK, I admit that they're not nearly as cool as machine vision for aiming
lasers, though. :)

~~~
coldtea
> _What's wrong with CRUD apps?_

They are full of boilerplate, unimaginative uses of computing, the re-invent
the same bloody wheels again and again, and that should have been automated
much more already.

> _Has CRUD become a derogatory term_

Yes, for at least a decade.

~~~
kyllo
While the tone of your comment comes across as a bit negative, I appreciate it
because it got me thinking about ways to automate CRUD apps even more than
Rails already has.

Perhaps it could be a framework or application that would allow a non-
programmer user to create basic CRUD apps with some sort of "app builder
wizard" GUI by simply defining the record fields and their data types. Then it
would automatically generate the tables and the corresponding models, and the
create/edit views just like Rails does. It could also expose basic
access/permissions configurations and have a bundle of CSS files to select
from for the GUI styling, and a drag-and-drop interface for selecting GUI
elements.

Basically, I'm picturing something like a cross between Rails and a version of
MS Access with a more user-friendly front end a "real" database behind it. Or
just a GUI version of Rails, bundled with some HTML/CSS view/style templates,
really. Or "the Wordpress of CRUD apps." (Maybe this exists already and I
don't know about it?)

Of course, if someone made something like this and got business users to
actually use it to build their CRUD apps themselves, it could put a lot of
CRUD app developers out of business!

~~~
coldtea
> _While the tone of your comment comes across as a bit negative, I appreciate
> it because it got me thinking about ways to automate CRUD apps even more
> than Rails already has._

Well, it's a little negative, but I've made my fair share of CRUD apps at one
time.

> _Of course, if someone made something like this and got business users to
> actually use it to build their CRUD apps themselves, it could put a lot of
> CRUD app developers out of business!_

Hmm, I have a friend that attempted something like that -- his startup was
featured on TechCrunch IIRC: <http://app2you.com/site/index.html>

~~~
kyllo
Cool.. Is this still an active project? It says © 2011 but it's still in beta
and there isn't much on the site.

What I'm thinking of is like an open source project for a "one-click"
installer that deploys a default/pre-configured Rails application, with a GUI
wrapper (similar to Wordpress) that allows you to visually design the database
schema, generate the scaffolding with the click of a button, and swap out
themes for style and plugins for added functionality.

I don't think this idea (RailsPress?) is so original that no one's thought of
it before, but it doesn't seem like anyone's really executed it yet. I'm
thinking about starting a Github repo for this if there isn't already an
existing one I can contribute to.

Edit: It looks like there is a repo called "RailsPress" but it's just a port
of WordPress to Ruby on Rails, not a framework for allowing non-programmers to
generate generic RoR applications.

~~~
coldtea
> _Cool.. Is this still an active project? It says © 2011 but it's still in
> beta and there isn't much on the site._

Not sure, I'll have to ask him. There are some 2012 updates on the site, but I
thing he moved on to something else now.

> _I don't think this idea (RailsPress?) is so original that no one's thought
> of it before, but it doesn't seem like anyone's really executed it yet. I'm
> thinking about starting a Github repo for this if there isn't already an
> existing one I can contribute to._

Sounds like something that, if executed well, can have a real market.

I'm surprised there isn't any SaaS offering something similar for SMEs. Like
the way WooForms let's you make, well, query forms.

------
Isamu
Over 50 here. You have to create your opportunities. Want something
interesting to work on? Create the project, work on it in stealth. If it works
out, it may become an official project and you increase your status.

Cultivate your interests. Learn something new. Coursera is pretty awesome - I
wish I had more time for all the courses I'd like to take. The courses at
MIT's OCW (and edX) are great. Download lectures to your mobile device. Search
iTunes U for classes.

Write short programs for fun. Check out Project Euler, fer instance. Don't
forget why you started programming in the first place.

Gear up and get a new job. Don't accumulate too much dust. Crack open a book
about interviewing, get off your high horse about what people consider fair
game in an interview.

~~~
beeffective
As a developer, I find that designing the web app that I'm developing for
makes the effort/project much more enjoyable.

Web app development is the type where you do things differently for every
project. Going from writing ajax handlers on the client and server, to using
KnockoutJS (or Backbone or Angular), is extremely fun because it lets me focus
more on the UI.

------
Luyt
I think the blogger has an Indian background, because in that culture you're
seen as a failure if you're still developing software after a decade of
programming. You're supposed to be at least a manager by then. Maybe the
author reinforces this sentiment by disallowing himself to find enjoyment in
programming when he grows older.

I'm 48, programming since 10, and it hasn't bored me one moment. I can't
really relate to the problems the author poses in his article. The IT field is
continuously shifting and very broad, look a bit left and right and you'll
discover new things. And if you've reached your Blub Ceiling [1], try out some
language which is more powerful than Blub.

[1] <http://www.paulgraham.com/avg.html>

~~~
ripter
Agreed. A manager is not a promotion, it means you can't/don't code anymore.
As long as I have my wits I'll be programming.

~~~
k3n
My problem is that my company (and I don't think I'm alone in this) is ill-
equipped to handle the career path for programmers in any other way than to
force them into management. I've been resisting it as hard as I can, but I'm
already growing weary due to factors such as the "team lead" title which
instantly gives extended benefits -- like an added week of vacation -- among
others. My path also upsets the existing chain of command, since I'm outside
the norm, and so I'm treated like floater that just kind of gets bounced
around.

------
svachalek
These days if you graduate at 21 and want to work until 65, the encouraged
retirement age in much of the world, that's about 44 years of work. They're
trying to slide things up to 72 now, and who knows, by the time anyone
starting out today gets there we may live much longer or even forever.

My point is, expect to work a LONG TIME. It's not about pulling a few all-
nighters for finals, collecting a piece of paper, and waving goodbye. It's a
marathon, not a sprint. Do what you gotta do to keep it interesting, because
no one else is going to do that for you and the "end" is so far in the future
it's not even worth thinking about. Take vacation time, take on new
challenges, go back to school and start a new career, stop and smell the roses
once in a while. It's your life, choose it.

~~~
hifier
Why let someone else prescribe your retirement age?!

~~~
bru
Because it is how it works in many countries?

~~~
hifier
Your ability to retire is tied to your financial situation. What does that
have to do with the government?

~~~
kyllo
And your financial situation is, for many people, tied to your age because
pensions, 401(k)s/IRAs and the like offer tax exemptions that are conditional
upon waiting until you hit a certain age before collecting distributions. If
you withdraw early from a retirement account, you face something like a 10%
haircut in addition to the income taxes. If your money is outside of such a
tax shelter, well then you just need _more_ of it to retire because you have
to pay income tax plus capital gains tax.

~~~
gknoy
I think his point was that, for at least some of the readers here, the goal of
"retire early" means that one has enough wealth that even without tax breaks,
one has the resources to live or work or play as you see fit -- whether that
means continuing to start new companies, or raising llamas.

~~~
kyllo
I know what his point was. I was just pointing out that when you retire, for
most people, does have something to do with your age and with the government,
because the government offers tax shelters that are tied to your age, and
these are what most people use to fund their retirement.

Of course if you're rich enough, you can just pay the taxes and still be rich
enough. But that's a circular argument. The point is, the bar for "rich enough
to retire" is much higher the younger you are--and not just because you have
more years of life ahead of you, but also because of the taxes.

------
zwieback
_I personally don’t know a programmer who successfully survived the boredom,
disrespect and disregard that comes with age and experience._

I've been actively programming for 30+ years. Whenever I get a "Hello World"
running on a new system or language I get the same excitement as I did the
first time on my Apple ][. It helps that I work for a company that values
experience and has a technical track so I don't ever have to become a people
manager if I don't want to.

------
PaulHoule
Back in the day, when the boomers were 40, they called this the "midlife
crisis"

It affects accountants and carpenters and all sorts of people.

That said, I definitely recognize some of the feelings he's having.

~~~
pc86
Exactly. Programmers are not some magical subset of people that go through
life differently than anyone else. It's an incredibly arrogant mindset that is
rife throughout HN and technologists in general.

It's a midlife crises. Go buy a Corvette or something!

Source: None, because I'm 26. But I'm looking forward to that Corvette in a
few decades.

~~~
eksith
Wait till you're 30 like me and you'll feel differently about the "midlife"
bit ;) . If you're like a vast number of people (not just on HN of course, but
anywhere really) there's something similar to a "premature midlife crisis" of
sorts <http://en.wikipedia.org/wiki/Quarter-life_crisis>

It's just part of growing up actually. I think programmers in particular tend
to frame that into something a bit different, but the reality is that it's the
same thing for all mere mortals. It's just perceived differently.

~~~
PaulHoule
Overall people have a crisis every 7 years or so in their adult life. Gail
Sheehy talked about a "Catch 30" in the book "Passages" and my friends who
believe in Astrology believe there a "Saturn Return" between the 20's and
30's.

~~~
lubujackson
[http://www.smbc-comics.com/index.php?db=comics&id=2722#c...](http://www.smbc-
comics.com/index.php?db=comics&id=2722#comic)

------
kabdib
Just turned 52. I just started a new job at a great company, after 11 years
with Microsoft (7 of which were my "dream job"). The new work is fantastic,
and I'm learning a ton of new stuff.

I see programmers get trapped into thinking they are too old and have to
manage. After a couple years of no programming they've often lost the knack
and all they can do is tell other people what to do. It is incredibly hard to
recover from this.

In fact, there are lots of ways to get trapped. I won't enumerate them, but
"getting into management" and "not learning new stuff on a continual basis"
are classic ones.

If you become the expert on something; if you're the "go-to" person in a large
group for a particular piece of technology, my advice is to find something
else to do, within a year or two, or you're gonna be stuck. Nothing lasts
forever in this industry.

------
justanother
Started programming at age 5, professionally since 15, now 35. I admit I've
gone through short phases of this sentiment, but to me, this attitude says a
lot about tolerating a crappy environment (fluorescent lights, big companies,
bad clients) and how that can grind down your enthusiasm for just about
anything. I'm guessing the problem isn't that you've been programming for too
long, it's how you've let the situation become stale. So you've got the 'what'
down? Great. Now challenge yourself on the 'how'. You're a software developer,
it's literally your world right now. Work from a cabin in the mountains, a
ship on the sea, or the top floor of the Ritz.

------
voidlogic
I know someone who just retired from a career of software development and is
in his late sixtys. He has never stopped learning new tech and innovating on
behalf of his employer. He, even in retirement, is well compensated, respected
and sometimes even consulted.

Watching him, I think the key is being bright and choosing where you make your
career carefully.

~~~
pekk
Does that mean if an older person has a problem in this industry due to their
age, it is because they weren't bright?

~~~
tgflynn
Maybe, but it could also mean they're too bright.

People whose brains are good at generalizing from data eventually realize that
the vast majority of "new technology" in computers is really 40 (or more) year
old technology with a new paint job. Once you realize that it's very hard to
get excited about these things.

There are still things to get excited about : machine learning, AI, etc but
they tend to be orders of magnitude more difficult to understand than the
technology stuff you've spent a couple of decades working with.

~~~
csixty4
For me, I see echoes of conversations I had ten years ago.

CSS preprocessors? Server-side Javascript? Anybody who proposed those in the
past was flamed into submission by the community for deviating from standards
or, worse, being "lazy". There's nothing new there. What's new is the
community's openness to doing things differently, to accepting that web
templates don't need to be written directly in the languages sent to the
browser.

I've been writing Javascript pretty much since there WAS a Javascript, so I
love node.js. But I'm just getting my feet wet and I'm three years behind the
game because I expected it to be written off as a "toy", just like every other
time someone suggested running Javascript on the server.

I know I need to get over this skepticism, but I'm having a hard time figuring
out which horses to bet on anymore. I feel like I'm close to just saying
"screw it" and becoming that crazy graybeard who uses a completely off-the-
wall technology stack because that's what he enjoys and to hell with everyone
else.

~~~
DannoHung
The one thing that I want to counter people who complain about the whole
nothing new in heaven and earth issue is that the reimplementations are
typically removing historical cruft that made the old versions untennable for
contemporary development or have solved a hard problem that made things work
poorly.

Now, that doesn't mean the new version _is_ tennable, but it means that it's
probably time to re-evaluate the old idea.

~~~
csixty4
> reimplementations are typically removing historical cruft that made the old
> versions untennable for contemporary development or have solved a hard
> problem that made things work poorly.

Oh, definitely. Node.js wouldn't be anywhere near as popular without V8 behind
it. Also, without the strides Javascript has made in recent years. I was
messing around with a MacOS 7.6 machine last night and Netscape 3 was throwing
Javascript errors all over the place when it hit modern code.

I think another part of it is cultural. Since I brought up CSS preprocessors
as my other example, a lot of the animosity toward them "back in the day" was
driven by the web standards movement. We finally had sane standards that
worked across the big browsers, and then some upstart was trying to introduce
something proprietary and the community reacted. Now, we have little hiccups
once in a while but things are pretty much standard across the board and that
makes a stable platform for innovation.

------
dack
When I joined my most recent company, one of the people on the team was a
badass, grey bearded developer who used to work at Sun. He is basically a Tech
Lead or Architect now, and is AWESOME. He has tons of experience and taught me
quite a bit just by pairing with him. I'm glad he kept up the programming
career!

~~~
thetrumanshow
This takes humility. Some people don't have enough to survive contact with a
grizzled veteran without coming away bitter.

By the way, this is why many self-preserving large companies use humility as a
filter for new hires. They want knowledge to pass down effortlessly from the
veterans to the noobs (and others) without creating unnecessary internal
battlegrounds.

------
analyst74
Developing career is like starting up a business, you need to have a
competitive advantage.

In early stage of your career, your competitive advantage is cheap and fresh.
But at some point, that advantage goes away, and you need to find other
advantages -- domain knowledge, industry reputation, connections, management
skills, anything that can distinguish you from other developers.

Once you get that competitive advantage, you will get the desired respect and
people will start to value your opinions. And hopefully, you will not find it
boring anymore.

------
JackFr
Still loving it after 20+ years.

> I personally don’t know a programmer who successfully survived the boredom,
> disrespect and disregard that comes with age and experience.

I think to some extent, you get what you give.

------
kjhughes
_In the end though we have to accept that programming is a repetitive
activity._

No.

Would you also say that writing is a repetitive activity? I do think I saw you
repeating a few letters in your post, after all.

Should we view living as a repetitive activity? All that breathing of air and
pumping of blood can be so monotonous.

Rather than fretting that programming has become tedious, look up the stack to
the limitless opportunities that applying your hard-earned skills now affords
you. Build on what you know; don't wallow in it.

------
JoeAltmaier
The guy is depressed. Anybody can burn out on a job, at any age. He needs to
get help, not rationalize how he's too old for this.

------
codex
If you don't get bored doing the same thing, you haven't mastered it. In all
professions, one must level up to keep things interesting.

Unfortunately, for software developers (and mathematicians) leveling up starts
to become difficult as the mind ages--and there's only so much computer
science stuff out there before it all becomes repetitive. Fortunately this
occurs at just about the time one begins to realize that they're in the middle
of the pyramid, working primarily to enrich someone else, and thus follows
consulting, entrepreneurship, or, if you don't care about enriching someone
else, management.

------
ericb
If my age becomes an issue for clueless employers, I will work only remotely,
join the matrix, and _become my github account._

My face will not be old and haggard, but digital, expressive, cleanly coded,
and handsomely tested.

------
msluyter
I'm over 40; I started late (after studying music for over a decade) and then
spent some time in QA, so technically I've only been doing "pure" development
for 6 years or so, and thus perhaps haven't been doing this long enough to
face the burnout. But thus far, the more I do it the deeper my interest &
passion. There's an explosion of interesting stuff to learn these days --
functional languages like clojure, scala, javascript, ruby, python, go, cloud,
etc... -- and even if my day to day work is crufty old java, learning new
things keeps me engaged. Even learning new java tricks is pretty fun. Github
makes this so much easier. I feel pretty lucky. I believe that if you enjoy
learning for its own sake, you'll remain engaged by this profession.

Now, eventually, I figure I'll hit barriers. I expect these to be mostly
physical. How long can one take sitting and typing? I've had bouts of back
pain and rsi, and these have been more demotivating than anything else. But
even here, I think life is getting easier. More companies are coming around to
the importance of decent ergonomics, sit/stand desk options, etc... Voice
recognition is coming along nicely.[1] So I'm mostly optimistic.

[1] [http://pyvideo.org/video/1706/plover-thought-to-text-
at-240-...](http://pyvideo.org/video/1706/plover-thought-to-text-at-240-wpm)

------
brucehubbard
I've been told by several of my mentors that there are precious few grey
haired programmers (probably because of issues like the OP is pointing out)
but seeing people like Jim Weirich (local Cincinnatian and inventor of Rake)
who are still passionate about programming and going strong gives me hope that
I won't burn out (I'm 34).

------
tathagata
OP here. Sorry for joining late. Reading the comments on HN here was an
uplifting experience! Thanks for all the feedback and encouragement! Can't
reply to everyone but I will try to write a few follow up articles addressing
the issue in further detail and depth. Thanks again!

------
netcan
I wonder how much of the 'programming is a young person's profession' is due
to relatively banal explanation like programming being a relatively young
profession and other "demographic" reasons.

------
arethuza
Anyone else find that cartoon a bit odd - I tend to start the day a bit grumpy
and generally find that my productivity (and mood) improves almost linearly
throughout the day...

~~~
booty
I was that way when I was younger. As I hit my thirties I found myself
becoming a "morning person." Anecdotally, I find this is super common.

I actually enjoy early-morning coding (before the rest of the world wakes up)
more than late-night coding now!

------
migtav
Started programming at 12, didn't stop until now and I like it more and more
(getting close to 40).

The author seems to jump to generalizations. For example, from "I can’t find
the enthusiasm to program anymore" he goes on to "we try to discover new
sources of inspiration". Who's this "we" he's talking about?

------
quaffapint
As I try to explain to my kids - life is what you put into it.

When my work life gets boring, I do something about it, so I'm starting a
saas. If you sit around and moan and groan, life's gonna groan right on back
;-).

------
pjmlp
Started at the age of 10 and still enjoying it with 36, while trying to stay
away from management tasks as much as I can.

Having fun to see youngster always jumping on the technology of the day every
few years.

------
GNUAerospace
In Europe you can be 49 years old and still doing what you love. How, because
I bailed from the US 10 years ago!

------
BerislavLopac
I'm 45, and started programming professionally only 15 years ago or so. Am I
counted among the old ones? ;-)

------
visarga
25 years of programming and I am still loving it, especially building tools.

------
cafard
Badly thought out and badly phrased.

------
paulhauggis
I'm young (upper 30s), but I've been programming since I was 10 and I still
love it.

What I don't love is being forced to work on project after project by
employers that don't have the slightest idea what they are doing.

At my current job, I've been stuck in the cycle of:

-boss will give me the specs -right before I finish, boss decides to change his mind (redesigns, functionality, etc) -There will then be pressure on me to get all of the new changes done in a specific time frame (often not even close to reality).

This cycle has repeated 5 or 6 times. I still haven't had one release of the
project I was hired to complete. It has pushed me to leave and start my own
company.

