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.
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)
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 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.
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.
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.
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 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.
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.
30 comments
[ 3.7 ms ] story [ 71.5 ms ] threadAm I the oldest person on HN?
Edit: That goes for pg too.
You may be glad to know that HN ⊂ 'the' developer community.
(For the record, I'm 'only' 26)
I won't speak for any of the others, but rest assured you're not alone.
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.
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've met plenty of good older developers. I've also met plenty of marginally competent younger ones.
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.
This is not an issue unique to developers.
If it happens to make a difference, so much the better. But you gotta keep up.
Whether it be programming, other technical things, art, language, various books, or any other skill... I don't know why anyone would ever stop.
Engineers who are now in their 40s, sonny.
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
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'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.
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.