30 comments

[ 3.7 ms ] story [ 71.5 ms ] thread
I can't say I know any people over 40 at all.
Being 43, the question got me alarmed. The article, even more.

Am I the oldest person on HN?

Hell no. You were in diapers when I started.

Edit: That goes for pg too.

At my last workplace around half the people I worked with were in their 50's and still going strong, working on things they love. A couple were just a year or two from retirement.

You may be glad to know that HN ⊂ 'the' developer community.

(For the record, I'm 'only' 26)

Not even close, sport. I have 12 years on you, and I'd guess I'm not the oldest.
Wikipedia claims that PG was born in 1964.

I won't speak for any of the others, but rest assured you're not alone.

Gadzooks, I wrote my first programs before he was born, possibly even before he was conceived.
You might be, but then, if you're here, you're probably trying to keep your skills up to date, so avoid the problems expressed in the article.
Oddly enough, I am also interested in learning old technologies. I am currently restoring an Apple II clone (that has the weirdest serial keyboard ever)
Dude, you weren't even born until two years after I made my first money programming.
old programmers become managers or they loose their edge and fade away. Rubbish, as the comments in the article point out.

Programmers who love their craft stay current in the areas that interest them. No one talks about older writers or older lawyers loosing their edge.

there really aren't that many older (for all you old-timers reading this: i mean that in a loving and respectful manner ) developers that are any good in this industry.

Here's a hint: When you find yourself writing this kind of awkward, smiley-equipped parenthetical statement in the middle of your big topic sentence, it means something. It means that your subconscious is trying to tell you to delete the sentence and start over.

I'd say more, but I'm turning forty any day now, so I'm out of time. I've only got hours left to learn Haskell before I become senile.

I'm an over 40 developer. I worked with a mid 50's and a mid 60's developer a couple of jobs ago. Both good people. Both whip-smart and very thorough.

I've met plenty of good older developers. I've also met plenty of marginally competent younger ones.

I spent my 30s as a sysadmin and started learning and using Ruby on Rails three years ago. Now I'm a freelance web developer with tons of backend knowledge, which people like. Everybody knows what a good looking website looks like and so can reasonably be expected to squeeze a decent job out of a freelance designer, but systems stuff is still inchoate for a lot of people.
I'm an over-50 developer. Most of my friends don't write software anymore (some burned out, others got bored with it). I've always loved creating software, so I try to spend as much of my day writing code as I can.

I left <big company> several years ago - part of the reason is that it was not as rewarding to me personally to be spending all of my time on management and administration.

My advice would be to follow your passion - if you want to build your skills as a developer, be sure to refuse to be "promoted" into management or do a really crappy job at all the non-development tasks your company tries to get you to do.

Better question: how many people (developers or not) over 40 keep learning and stay hungry? How many people over 30?

This is not an issue unique to developers.

Quite honestly, how many people under 40 (or 30) keep learning and stay hungry? Many kick back, raise a family, party, ... There's a lot to life, and only so many hours in the day. If you're lucky enough to do what you like, and to have time to enjoy yourself (at work, or elsewhere), you're doing just fine.

If it happens to make a difference, so much the better. But you gotta keep up.

I am 30 and am constantly in search for more knowledge to consume. I intend to do everything I can to see that the quest for knowledge never ends.

Whether it be programming, other technical things, art, language, various books, or any other skill... I don't know why anyone would ever stop.

The commercial internet didn't exist as a career path for those over 40, so it is a relatively smaller cadre. For example I'm almost 40 and a dev who studied history in college. There were fewer than 20 computer science majors in my graduating class.
The best response I've seen to this kind of thing is along the lines of "Who do you think built this place, anyway?"

Engineers who are now in their 40s, sonny.

My first programming job was with a team that was mostly in their late 30s and early 40s. They were all extremely experienced and still pushing their own personal knowledge limits. Best environment I could possibly have hoped for.
If this had been titled ...(1980), it would have mad a point. Back then there was a practice that managers had to make more than their subordinates. There was real salary compression among engineers. If an engineer go to 40 he had to become a manager in order to put his kids through college. Companies started to create separate career paths for developers so they could get paid more. Then came the restructuring of the 80's to a flatter management hierarchy and suddenly it was middle managers who were out on the streets.
I think the perceived lack of older programmers has many causes:

1. industry fairly young. yes there were some professional programmers back in the 70's but the number needed and working know probably dwarfs that by a couple orders of magnitude. websites, mobile devices, appliances, vehicles, CAD/CAM modeling, simulations, CNC, toys, Wall Street -- tons more places running software now than used to

2. the pay's pretty darn good. much easier to retire younger from a salary-type career, plus if you're a software/entrepreneur type it's fairly easy to start your own company focusing on that and score FU money -- not guaranteed, of course, and not impossible in other fields, but other fields are capital intensive whereas this one pretty much just requires a single PC and a chair to get started, and this field has seen a lot of growth and innovation in the last few decades, it's not an old/mature/commodity industry like many others are (cutting hair, selling oranges, etc.)

3. tech mastery freshness. while the fundamentals you learned a few decades ago will still serve you well, there's a lot of superficial/application-facing/fashionable technology that's changed pretty rapidly -- again, not all of it has changed, but the rate of change has been higher than a lot of other working fields. Humans get better over time at anything they do long enough. There's a natural tendency to slowly get very good at doing things the old way, even if it's no longer the best way. I looooooved writing C apps for several years but I'm glad I made the jump to languages and tools which are better suited for that role. Eventually a good chance somebody fails to make the jump to new tech/paradigm -- increasingly due to distraction from family, friends, hobbies, health issues, travel. Speaking in generalizations, of course.

4. it's demanding work, intellectually. folks burn out. eye strain. wrist strain. brain strain. the 1st 100 times you're asked to solve some evil bug caused by dipshit coworkers may be interesting or satisfying to solve, but eventually it gets old. (I think this is a big reason why Java is so popular inside large corps: it reduces chance that newbs/dipshits hurt themselves, plus, when shit does hit fan, Java has great tools and hooks for digging in quickly and finding out what's wrong and fixing it, in runtime/production scenarios, not just static code reviews)

5. management track black hole, certainly. partly the demand to push programmers into it, partly because you get bored, partly because you lose your edge, partly because it's a more sure-fire way to increase your pay in a corporate/salary type job working for The Man, and you don't want to become a contractor or start your own business, for whatever reason

Continuing your first point that the industry is fairly young:

We also have a "mythology effect" but with a twist... It applies to companies alive and thriving today (unlike an urban myth where no credible source can be found).

Consider stories from early days at Apple and other companies where no one was older than 30, then 35, then they stopped reporting. That was mid-1980's and into early 1990's for other businesses. Then it repeated in 1999-2000 with brand name dot com start-ups. It's happening today with upstart game companies that consider 7 years experience to be senior level.

So this meme persists on some level with each wave of newcomers (e.g., college grads).

I suspect that the effect gets compounded by newer programmers beginning with relatively newer languages and tools. It's easier to master a language/tool when it grows up with you. I saw this when C became mainstream, with Python, with Ruby, and currently with Clojure, Scala, etc.

When C was blossoming outside of Bell Labs (following Peter Norton's "Industrial Strength Programming Language" article in mid-1980's), when Python was merely v1.5 in 1999, when Ruby wasn't yet associated with Rails-- the majority of people using these were young, looking for an edge and seeking to avoid pitfalls associated with urban myths about what came before. (e.g., pre-ANSI C satisfied concerns that Lisp was slow and required special hardware-- myths circulating college labs of late 1980's)

It's easier to debunk these things today, thanks to the programming languages shoot-out, stackoverflow and threaded comments such as on HN. Due to these reality-check possibilities, we may hopefully put such systemic ignorance behind us.

I know several, and most of them are pretty good...
I used to have the same impression that there weren't many devs over 40, and if you found one, they were likely to be a little senile.

I've now realized that this is more due to the corporate (or wanna be corporate) environments that I've worked in. Such environments really suck the life out of you and are rarely conducive to staying passionate about software development.

My assumption is that people passionate about development don't stick around more than 5 years in these environments and either move to smaller startups or go independent soon after.

I think .NET developers like myself almost exclusively see this type of environment in the jobs that demand our skill set. All the more reason why I'm focusing on learning Ruby, NoSQL, iOS, and Linux in my spare time.

Both of my technical partners in my venture are over 40 because a) I am over 40, b) I needed to find people I knew and trusted, and c) they're very experienced and very solid. If I was still living in SV, I probably could have found a younger dev partner (and may be looking for one soon) but the local area, despite having two universities, doesn't have any/many appropriate development partners. (Anyone in Central Illinois reading this?)
i still remember the first time i touched a computer i was 15 in college, and the problem was writing a short program "Hello Turbo C". Then I study more on programming from C to C++ and Java. After graduating as a computer science students i heard that many of my classmates doesn't even want to proceed to development. I took a job as a computer programmer using Java and the same time as a part-time instructor. i also love to learn new development applications such as groovy and grails. I am over 35 developer. But i still love to code and teach what i know and learn new things in programming. To enhance more my programming skills I also volunteered to create free applications in school and community.
Interesting post, does Davy read HN?

I know lots of developers over 40 who are great. I also know folks who were good once but now are not. There is a strong correlation between continuing education and continuing competence.

A lot of young developers re-create the wheel, they don't know they are because they haven't been around the block that many times but they are. Then along comes an older developer who has to use their code/api/design and recognizes it for what it is, another wheel designed by someone who didn't realize this was old hat. How someone responds to this situation (which occurs again and again) seems to be key.

You can note the particular vagaries of this particular implementation of the wheel concept and work with it to get done what you want to get done, you can throw it out and replace it with a more up to date implementation of a wheel, or you can get disgusted at how little this developer knew when they tried to do this particular implementation of wheelness. I got to meet the guy who invented the insertion sort this way, not. (well he thought he had invented it)

Seeing wheel re-implementations gets old fast, trust me.

So if you let it get to you, you lose your sense of wonder. That thing where every new technique you saw was thought provoking and, well, new. It gets replaced with "gee IBM did it that way in the 60's and it didn't work for them either." If you let it get under your skin you will burn out and become one of those developers that just stops looking at new stuff because you know you will have seen it all before and it will be wrong for the same reasons the other six versions were wrong. And you will miss out on the stuff that really is new, and your currency in the art will degrade.

How many developers under 30 do you know who can tell you the second order effects of their new network protocol? How many even care? How many have found themselves intersecting the same bad design decisions that were bad back in the last century and are still bad today?

And finally, technologists are often like classmates from college, at first nobody you know is married then it seems like everyone you know is, or no one has kids and then suddenly everyone is busy with their kids. Your social circle ages like you do, if you know a lot of really great developers when you are 25 I can guarantee you that you will know several when you are 45.