I think most people that enjoy programming would love to continue to do so until retirement.<p>When people ask this question, what they are actually asking is, "Do people want to hire a 50 year old programmer?"<p>For a lot of the HN set, I bet they would be unsure about hiring someone of such an age; and that's unfortunate.<p>For many careers, age is seen as wisdom. Lawyers, mathematicians, judges, accountants, politicians, scientists, MBAs, real-estate agents, bankers, journalists, doctors... In all of these fields, all else being equal, you'd probably hire a 50 year old over a 20 year old.<p>Programmers seem to have more of a shelf life on the open market, along with models, actors, musicians, and laborers. I think many 30 and 40-something programmers sense this and start to wonder if they need a backup plan to get to retirement (which in the US is actually often mid-60s).
Yes, of course. Why not?<p>I think the secret question behind a lot of this sentiment is: do you want to still be burning yourself out at 50? Do you want to still be working 60+ hour weeks? Do you want to still be on call 24/7? Do you want to still spend part of every release cycle in a pitiless death march?<p>And, ultimately, do you still want to put up with all of the bullshit in this industry?<p>But all of that bullshit is not an inherent part of working in this industry, it's just a byproduct of the immaturity of the industry.<p>The author here tries to draw a distinction between "Type A" (programming by intention) and "Type B" (reactionary programming verging on programming by accident) but there's really nothing wrong with "maintenance mode programming" as long as you're not perpetually in firefighting mode. Indeed, concentrating on polish, performance, and robustness are often fantastic ways to improve a system, provided that they are done well and not half-assed last-minute kludges.
Yes. And 60. And 70. And any other number.<p>[EDIT to clarify]<p>Just think about the new languages or paradigm we may have. I dream of the google glasses - what will we have then?<p>So, my answer is yes - for both type A and B. And if you don't have time to understand the problem space of type B problems, maybe you should take more time to study them. Learning is fun.<p>Autonomy? I already have lots of it - and we all do. Maybe running things could add some more. Never before in history creating value was so easy with so little capital.<p>Mastery? I keep discovering new stuff and learning. The amount of knowledge you already master is not important - especially since memory is tricky and you will forget stuff. Being able to quickly take new stuff is important.<p>Purpose? You make your own purposes. There is no bad or good - or sense. If you find some, there is some. That's my zen approach.
I'm 53, and I program all day, by choice. I like to think that my code is getting better, too.<p>Reminds me of my mentor when I got my first job at Boeing. He was in his 50's at the time, and loved every minute designing systems for airliners. He eventually retired, and still freelanced doing mechanical design work. It's what he was born to do, and he was damned good at it.
I'm 51. Here's how I keep up.<p>I read code. I read /lots/ of code.<p>I'm an ACM member. I go through recent publications and try to read at least a paper a week, in whatever area interests me.<p>I write designs, using english and diagrams and stuff. I explain APIs and establish contracts with the folks who use my code. Written communication to /people/ is a powerful skill, and you should practice it continually.<p>I like to learn new languages (though my brain appears to be impervious to Haskell and Prolog). Also, learning idioms of the languages I currently use is fun.<p>I write code. The frequency of this ebbs and flows; lately I've spent more time going between groups and establishing common ground that writing actual code, but then I can spend a couple months getting the code done, and it's a ton of fun seeing the groups able to use it effectively.<p>Finally, I have fun. I can't imagine coming to work every day to a drudgery of kicking around a bunch of crap I'm not proud of. Have fun, or you're dead in this industry.
I've always preferred Zed Shaw's notion: "You're much better off using code as your secret weapon in another profession. ... People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."<p>At some point, I'll actually take that advice and be a something-else-who-can-program, but that hasn't happened yet.
Ah yes, the bitter sting of diving down too far in the API. I remember my first C++ Win32 app, written using Borland's OWL. I made an "hello world" pop up, then started poking around under the hood.<p>What the <i>hell</i> is all this crap! I spent a day trying to figure it out. Then everytime something went wrong there I was, diving through the same crap all over again.<p>Or the bitter sting of not diving down far enough. Remember that app where you wrote code all around the barn and farmyard, only to realize that a couple of API calls would have done the same thing? Ooof. That hurts.<p>As an older programmer (who doesn't code for a living), I <i>enjoy</i> the challenge of finding the right abstraction level and skating into a solution. When I wrote my first COM server, I used an MFC book, a Doc-View type model, and then copied liberally from MSDN. Worked like a charm. It was a lot of work, but rolling that sucker by hand would have been brutal.<p>And it's gotten even easier. When I wrote <a href="http://hn-books.com" rel="nofollow">http://hn-books.com</a>, I thought "I wonder if I can write a static site that looks like a client-server app?" Compared to all that C++ and COM nastiness, it was a piece of cake. I love creating web art (apps, content, mixed-mode) but shit, it's not even work.<p>So I picked up FP a couple of years ago. Easy to pick up, difficult to master. Made my entire brain explode. What a great ride.<p>So no, I don't mind the complex work. In fact, I can't tell you how much I really crave that feeling of "Beats the hell out of me how we're going to do this, let's go do it" No feeling in the the world like that. It's like solving a jigsaw puzzle where you cut and color your own pieces, and there's no picture on the box. Fun stuff. Hope to be doing that kind of stuff when I'm 70.
Yeah well... I'm 2 months short of my 70th and I'm still programming. But not for money nor to a schedule, and I pick my own projects. There nevertheless remains some of that "skimming great oceans of APIs" and "reading between the lines of documentation" -- but that's been part of the game since, oh, the tabletop rack of IBM manuals in the machine room next to the 360/50...
If you enjoy it, even if not your main job then it is something like gardening. A hobby even. With that aspect for many, current or past working programmers will often still dable once in a while long past this 50 year barrier being mooted as some kind of hurdle.<p>Now funnily enough back in say the 60's/70's and early 80's being old and indeed 50 or over was not a issue for getting a programming job. Then in the late 80's and 90's things changed to the aspect when being old was in many area's deemed against you in some indirect filtering HR way.<p>Now we are at a time which can and does judge people on the actual work they do in respect of programming. They can see or be shown examples of work and abilities and with that age is irrelavant if they be 13 or 113, its the results they can and have done for which they get the work. In that I would say programming has become alot easier to get your foot in the door of a company and also if your not as good easier to fall thru, nomatter age/gender or colour-spectrum-offset. Heck if a dog could do good code, it would be employed thesedays.<p>So the real question is down to if you want and are able to program and with that age is irrelavant, the the ability to learn is priceless.
There's nothing wrong with programming at 50. I think it's wrong when at 50 you write code for <i>someone</i> - not for yourself or your own company.<p>> ageism is a problem<p>Is it? With 18+ years of experience you would have a great chance of starting your own business. And customers just don't care whether you're 50 years old, or woman, or disabled, or anything - they care just about a product or a work you do.
I think the main issue here is generational. The first generation to grow up with computers permeating many aspects of their lives has left college and entered the workforce in full swing. The internet generation is just about to get there. The "iPad generation" (not comfortable removing the quotes yet) will follow in less time than you think. So, despite the fact that, yes, there are currently 50-year-olds who have been programming and advancing the art for their whole adult lives, it's not really a sizable chunk of the population. This isn't a problem for them so much as it is for the new generations that are starting to call the shots in this fast-paced, blogging hacker world. <i>They</i> can't possibly relate to the experience of being around to see and learn from everything that led up to this.<p>So, uh. I'm honestly not sure where I was going with this! The future will be pretty cool.
There are three kinds of work:<p>1. Owner<p>2. Manager<p>3. Worker<p>Most of us start out as (3), and some move on to (2). Entrepreneurs are immediately (1+2+3), which explains why it's so difficult.<p>When we're young we have a lot of energy and not so much wisdom. 3 is a natural fit. As we get older we gradually have less energy but hopefully more wisdom and experience. I'm 46, and I just can't do the all nighters that I did so often as a young programmer at Apple. So the goal for me has been to gradually move up the scale.<p>I realized this about 15 years ago after hearing the expression "the men who manage money manage the men who manage men". That expression describes the three types of work.<p>EDIT: For example, I'd put pg in category 1. So category 1 doesn't necessarily mean managing money.
tldr; = yes<p>In the past I've done both hardware and software engineering as well as roles in management (manager to C-level) and now that I'm back to writing software almost full-time, I'm enjoying my career more than ever. There's something almost magical about creating something out of nothing; about finding a better way to accomplish a task; about learning a new trick (especially one that you've never seen before). I don't have gray hair (yet - although that may be a foot-race with baldness), but it's also gratifying to teach thirty-some years of programming wisdom to others. And it's not like they don't teach me tricks of their own.<p>BTW: I'm now 48, so 50 doesn't seem so far off.
I think this is an insightful post that is equally applicable to people in their 20s (such as myself). I've been asking myself the same question of what do I want to do in the next couple of years of post-graduation. But I'm at odds with myself over the prospect of maintaining a steady lifestyle and income by seeking well-paying jobs in the tech industry, jumping head-first into the startup world, or just chasing down other lifelong dreams that have nothing to do with the world of tech or engineering.<p>Ultimately, it's a matter of what job gives you those three benefits (mastery, autonomy, and purpose as the article points out). Will working at Google after graduation satisfy that point? I'm not sure. Will doing a startup? I can't say as I haven't done one. Will working in some other industry do that?<p>I struggle to figure out what to do with the next couple of years of my life. So I'm keen to listen to what folks have to say about what they plan to do in the long-term (15-30 years out), as well as the short-to-middle term (6 months, 2 years, 5 years, etc).
No.<p>Programming is low-impact work. You can only write so many lines of code in a day. The people that are changing the world don't do it by writing code.
This is pretty fascinating for me. I got into development relatively late (30's) and just had a conversation with some of my developer mates about where they want to be in 10-20 years.<p>A few said they will no doubt still be programming. "Technology is changing so fast, we're the only ones who will be able to stay at the cutting edge, making our positions as developers fairly insulated." said one.<p>I was also thinking about a career "pivot" in a few years into management. It was really under the auspices of how employers prefer the fresh college face and cheap labour rates as opposed to the seasoned mercenary who has high contract rates.
About 2 years ago, I used to think, old people are scary because they bring in bad habits. But today, I think that older people with modern tech skills are an amazing asset because of their experience. Working for years as a programmer in many different languages means they have a huge arsenal of knowledge in solving problems and using techniques most junior & even mid-level software/engineers have not been exposed to. The older they are, usually their solutions are more efficient, maybe more or less elegant, but they can solve problems in many different platforms.<p>Today, If i wanted to hire someone, as long as I saw that they are still working with modern languages & libraries, not constantly re-inventing the wheel, I would be extremely interested in their abilities, especially to help architect solutions.
As an engineer you are trained to optimize. As you get older you optimize for the fact that you're more experienced and hence a better decision maker and you have less patience for routine everyday tasks. You choose to take on work that differentiates you based on your experience. You ability to analyze a problem never goes away. You may take a little longer than before, but that doesn't make a difference and if push came to shove, you could always perk up for the moment. So you're like a processor that can go turbo at 1.8GHz but most of the time you're running steady at 400MHz and your ability to execute multiple instructions per clock is much greater than your younger peers. So you're low power, long battery life and can speed up for short bursts of time.
Not sure I will ever give up working on ideas and being creative. As such I think I will always be programming as long as I can (mentally able to, hopefully well into my 80s). Question really comes down to what and for who, for me at least.
There are people I know who I would never hire at 50 because what they like to focus on is what's trendy and what their friends are talking about and what's getting posted here at Hacker News and places like it.<p>There are people I know who I would hire no matter their age or personal hygiene because they have such an incredible clarity of understanding of computation or software architecture that I am constantly in awe.<p>I hope that by the time I'm 50, I'm leaning more towards being like that second set of people, regardless of whether it gets me a job or not.
Either I'm finally losing my sanity, or I've actually seen this posted here before. Same title an all.<p>Then follow up was "Yeah really I want to program at 50."<p>Am I going crazy HN?
There was another article on HN recently along the same lines I think. Do something else? I thought becoming a screenwriter would be cool. I've got some great titles written down. Still I write the code for my sites sometimes help friends and yes still write code for the man because it's more fun than dealing with IRS rules for running my own business (I tried that already).
One reason to stay coding - even if you're not on the cutting edge - so you can teach your kids, or even grandkids. My dad was 40 or 41 when he gave me "BASIC for Kids" - I moved on to html and java, and if he had made it to 50, it would have been super fun to hack through a weekend with him. I hope I can do that with my daughters and granddaughters!
What will the tech scenario be when I'm 50?
I can't even imagine. I always wanted to program because I was in love with the tools I used.<p>If future things suck, if it's mostly glue copy/paste code, large opaque frameworks, no tinkering or puzzles, then I'm out.<p>But hopefully there will always be a place for the hacker type, even if gets more and more of a niche.
I love programming so yes I do hope I still am. For a living? I think I can hang. I'm 37 now so that's 13 more years. I'm still in after 18 years so I think I'll be good to go. I really do love it. It can be so painful sometimes but the results are worth it.
Yes, I want to be. I have this nagging fear I'll be replaced by a code-writing robot though. Maybe that's the next generation's worry though. I guess by then they'll be meta-programmers.
Yes. I just expect to be able to program more by coding less. Plus the 3D printing revolution that will take place soon is going to make programming much more interesting.
it was the best game when I found the BASIC cartridge for my atari and even though I've played enough go to know what that means, programming is still the best game and I think it still will be in 20 years
What a stupid question. Do you want to X at (some far distant date in the future)?<p>Do you love what you do? Then you will do it your entire life.<p>Do you hate it? Then hell no. Next question!