I think most people that enjoy programming would love to continue to do so until retirement.
When people ask this question, what they are actually asking is, "Do people want to hire a 50 year old programmer?"
For a lot of the HN set, I bet they would be unsure about hiring someone of such an age; and that's unfortunate.
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.
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).
Sort of true and sort of not true. You have to realize that 'programming' as a profession isn't all that old. (Having met the guy who invented the subroutine call at the Computer History Museum, you realize as an industry computers are fairly young).
Given the graduation rate of programmers, as with most things, the number of them over 50 is a growing segment of the total available programmer group.
There is ageism in some places, Google had that taught to them the hard way, but realize that a 50 year old programmer probably graduated from a university prior to 1985, there weren't as many graduating then as there are now. I know from experience that it can irritate a young programmer if you know their idea won't work because it didn't work in the 80's :-).
And some people got into programming as a way to 'make good money' which it is (relative to say working as a stenographer) but their motivations don't always survive into their 50's. So they often change to other non-programming roles.
I expect to program in one form or another until I die. I like the puzzle aspects of it, and the thrill of seeing complex systems come together. So even if I wasn't being paid for writing code I'd still write code in my 'spare' time.
But there are also curmudgeons. These would be folks to learned one way to program and don't want to learn anything new. They have a hard time because they say they are programmers and people looking for programmers ask about current technologies and in response they hear about how crappy these new things are relative to the old ways. Those people are stuck and I feel sorry for them. The may want to program at 50 but they may not be able to find paid employment doing so if they don't know enough about the current state of the world.
That's part of it but also people tend to get board of doing the same thing for year. So you need to compare the number of people who start programming at say 40 with the number who start programming at 40 to get a better picture.
That said salary's tend to cap out fairly quickly so generally someone with 30 years of experience costs about the same as someone with 15 years of experience.
>>realize that a 50 year old programmer probably graduated from a university prior to 1985
Let me tell you the technology fancy in 1985, their very nature, direction and paradigm is so drastically different than now, unless the 50 year old person spends a lot of time adapting he is going to be wiped out in the competition.
When I'm 50 I don't want to be spending two weekends straight learning Ruby on Rails.
And there you see start contrast with other professions. How much has law changed in the past 30 years?
You might be surprised. For one, the law shares a very important characteristic to software, people are paid to make more of it, and they do, every year. And like programmers few law makers want to be known for 'removing' law so the law is ever changing. This is very similar to programming, and people who are passionate about programming are reading, and experimenting, and coding. So they are just as 'current' on Ruby, or Haskel, or Go, or any number of things (bad news Rob Pike is over 50 :-) as new programmers are but they also know FORTRAN and sometimes knowing other programming cultures can inform the current problem. So in some ways they have an advantage over their junior counterparts. But as I said, only if their experience is a guide and not dictatorial on their opinions.
I'm a programmer in my mid 40s, and sadly I can see that most 40+ programmers generally offer less value to their employers than they did a decade ago. There are reasons for this:
1. Health. This is a big one. By 50 sitting on your ass every work day for 30 years has caught up with you. Hypertension, sleep apnea, diabetes, back pain, etc. You're going to take more sick days, take more time off to see the doctor, and you're going to come to work on drugs that make you tired or a little fuzzy, mentally.
2. Lack of energy. Even if you're healthy at 50 you don't have the same ability to roll with problems that you did when you were 32. You can't put in extra time and maintain productivity. When you get home you don't have the energy to tinker with technical stuff just for the fun of it.
3. Cognitive decline. Nobody likes to think about this, but the reality is for most people cognitive decline starts in your 30s. By 50 it's affecting your productivity. Things that you used to remember for as long as it mattered (like file, class, or machine names) you have to write down now. It takes longer to pick up new technologies and you forget them faster. This translates into lower productivity. Maybe a little lower, maybe a lot.
So even though I'm getting to the age where it affects me, I don't blame companies and individuals for their reluctance to hire older guys. It's based on real-world considerations. If I get laid off will I be able to find another programming job? Probably, but it's going to be a lot more difficult than it would have been 15 or 20 years ago.
I refuse to be bitter about it, though. I had my chance to go into management and decided to keep writing code, even though I knew things would get dicey later.
Health, lack of energy and cognitive decline, all good points.
Yet, it doesn't have to be that way in your forties.
Both candidates running for the Presidency, and both Vice President candidates are older than 40 (Paul Ryan barely so) and have tonnes of energy. The right takeaway might be that you need to actively focus on your health as you grow older. Sounds like good advice for anyone, programmer or not.
>Yet, it doesn't have to be that way in your forties.
I'm not saying once you hit your 40s you're useless, just that you're a bit slower than you were. From a company's perspective it makes a lot more sense to hire people who are younger - that's just playing the odds.
>Both candidates running for the Presidency, and both Vice President candidates are older than 40 (Paul Ryan barely so) and have tonnes of energy.
How would you know? Those guys have staffs to handle every conceivable need so they can use all the energy they have in public.
You are being down voted for a reason. You are pointing examples of professions, where people take risky decisions but do not do heavy lifting themselves. In such professions experience counts.
If you have to hire an army of java programmers to finish a MegaCorp project in an year. Are you going to hire 25 year old or 50 year olds? Considering the bulk of the work hardly involves any risky decision making and most of it is actually working 16 hours a day?
Absolutely not, if you are worth your salt you can work hard at any age. But the word isn't can, its will. The question you have to ask is will I work hard instead of can I work hard. The answer to the can question is yes. Unless you are disabled or have other serious problems you can work hard, but will you?
Not just programming, in any profession age is problem. Even in those that involve valuing experience. I mean you just get a limited window, beyond which you are always treated as a liability.
The whole problem is young people make great work horses. And generally its very difficult to beat endless brute force energy with pockets of experience. That's a losing game you have to play.
No, I mean us. You may still be pretty sharp, but you're not as sharp as you were in your 20s. That's just a fact of life. Even your life.
>I can't give up, I'm driven, I drive. I code and I'm good.
If I had a nickel for every lousy programmer who thought he was good I could retire. But even if it's true... so what? When a company passes over you in favor of a younger guy it's a rational decision on their part - they're just playing the odds.
I'm not saying you can't can't get a job once you reach a certain age, just that there are valid reasons companies would rather not hire older programmers.
Exactly. "Cognitive decline"? The studies I've seen in the past ten years say it ain't necessarily so; you're talking about Joe 6-Pack, not people who use their brains for a living. We only get smarter and more nimble.
Sadly, this appears to not be the case. All the research I'm aware of indicates that fluid intelligence peaks in your 20s and then inexorably falls. To some extent this can be offset by experience and staying mentally active, but there's no way you'll have the same memory recall at 70 that you did at 30.
Yet another reason aging is awful and we should be spending a lot more effort trying to prevent or repair its damage (e.g. http://sens.org), rather than expensively treating and ultimately succumbing to individual diseases of old age.
>> but there's no way you'll have the same memory recall at 70 that you did at 30.
My Dad, a WWII veteran taught himself microprocessor assembly programming in the 80's for fun. When I found out he was doing what I was doing as young man and was thinking I was all hot; oops reality bytes.
You have a lot to learn dude, try not to attempt to profess too much.
It's "jive" dude, as in jive turkey. I've watched and read a number of articles on how using your brain keeps it working well. Wow. Thanks modern medical science, duh.
Oh, what a surprise! You're sure and yet... you're wrong. "Jibe" is the correct word.
>I've watched and read a number of articles on how using your brain keeps it working well. Wow. Thanks modern medical science, duh.
Yeah, duh. Using your brain does keep it in better shape than if you don't use it, so you got that part right. But you should have read the rest of the article, the part where it says you can't stop the decline - you can just slow it down.
Apparently it is more than just a sailing term, my bad, I thought you were using it in a playful reflective sense given the nature of age in the discussion similar to this definition:
Perhaps people are less likely to hire someone in their 50's now, but they will in 10 years, people in their 40's still have what to offer, and I don't think that would change much in 10 years.
It's all a matter of when did they start, and if they evolved with the industry or got stuck with Fortran / Cobol / BDUF / rigid Java OOP and rigid adherence to GOF Design Patterns.
Look at people like Martin Odersky (54), put aside the fact he created Scala, I'm sure anyone here would love to hire him as a coder if he was for hire :)
Same for Josh Bloch (51) and many others. It's just that statistically, because the profession has grown and is growing, it's more likely to find a good young developer as there are more young developers (sample size is bigger, citation needed)
Just a though. I don't think people in their 50's think any slower, have less IQ or less talent than young people only due to the age. (and I will ignore any research that proves otherwise)
The problem with programming is the bulk of programming work is not about thinking anymore. Its stitching software with API's, searching for solutions, developing a database of solution patterns that can be applied to most commonly occurring problems and so on. Very little aspect of that is actually experience that you could accumulate.
Put in plane words vast body of available information, cheap price in accessing them, lost cost of making and recovering from mistakes, and ease with which you can do things in software makes pace of discovery more important than innovation itself.
There you see why I don't want to be a programmer at 50. Programming is become more of a commodity skill, and will go down that way over time. The bargain points are going to price and pace of development. Both of them suit a young man's life, not a 50 year old person. Whose priorities are going to drastically different than the guy at 25.
>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.
Today.
Maybe people will realize the wisdom of 50 year old programmers in a few decades.
> what they are actually asking is, "Do people want to hire a 50 year old programmer?"
Is that really true? When I was a hiring manager, we went out of our way to try and attract and hire very senior, experienced people, especially those who had managed to avoid the lure of management and just played a CTO/chief architect role. (managers were actively rewarded for making such hires and penalized if those hires swiftly left, for good or bad attrition reasons) I personally hired several, and also had a few who worked for me, some of whom were > 30 years older than I at the time.
It was a truly wonderful experience, as people of that age who haven't checked out bring something great to the team, both in terms of productivity and in mentoring for the young folks.
I wouldn't agree that actors and musicians have shorter life on the "market". There is plenty of examples that it is not the case.
As for computing market - I was recently working with a database designer who was in his 70s. He graduated with a mathematics degree a few decades ago and had a really impressive portfolio of companies and people he worked with. Even though he retired a few years earlier, he simply refused to stop building things. We couldn't ask him to work with us until 6am or learn jQuery in one night but he brought a lot of value to the project.
Not always though. I'm inclined to trust younger doctors more (because many doctors don't keep up to date), have found that older executives alarmingly often seem to be okay with the status quo and if you've never heard people in the news industry complain about those old journo geezers who refuse to learn anything new, you're not listening very carefully. Teachers and sometimes even professors nearing retirement, same thing.
(I'm simply trying to show that "age is wisdom" is very dependent on the industry. Whether older programmers are, as a rule, more or less valuable than younger ones, I dunno.)
I think it's because in this field you are your perspective. If you aren't making a constant effort to catch up, to challenge yourself, than you are going to fall behind. The red queen principle doesn't work well for older programmers.
When new legislation is interpreted, the starting point is previous legislation and case law - sometimes going back hundreds of years. Law is an old man's game.
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?
And, ultimately, do you still want to put up with all of the bullshit in this industry?
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.
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.
"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?"
Do you want to be doing those things when you're 30?
Your post causes me to reflect on how good I've had it. I've been programming for 33 years. I've been on call 24/7 occasionally, but I can only recall a few days of that here and there. I've worked a 60+ hour work week maybe 2-3 times, but I doubt 3. I did do a 30 hour weekend awhile back, while with a startup. It was fun. I do recall one pitiless death march, and still have some bad thoughts about that episode, but overall, I never worked in places that operated as you describe, nor would I.
I've tried to find something else I like more than programming, but haven't yet. And now I'm doing iOS development, leveraging Pulse and CouchDb, and doing some client-side data binding in the browser with knockout.js. There has never been a better time to be a programmer, IMO, with all the leverage the internet and open source gives us, so why stop now?
Because, oddly enough, I have been in the industry a long time, I happen to know that's wrong.
The "all the bullshit" of the industry is not a product of the immaturity of the industry. Because it had gotten worse. In each of my five-ten year job search cycles, I have observed more companies with more of the problems you describe (60+ hour work weeks, 24/7 on call, psychological pressure for death marches, etc). Each time, consistently more insanity.
Not sure exactly what to do myself or in general but I'm pretty sure we can't chalk this up to an immature industry.
Agreed. The bullshit is definitely getting turned up in my chosen sector, which in general is start-ups and other, smaller companies. Lately a trend I've come to notice is that more and more companies in their job adverts are asking for, if not insisting on, potential candidates having evidence of public, hacking side-projects. They want github repos, they want active coding blogs, both of which imply that not only should you be spending 50-60 hours a week working for a flat salary, but you should also spend the remaining time doing nothing but thinking about, hacking in, and writing about software! It's can't think of another field where, if you don't spend every waking minute practicing your profession, you're not worthy of consideration for employment. I'm not sure if larger companies have this mindset or not, but it does seem to be a trend that's on the rise so maybe someday they will have it.
I really do wonder what these hiring managers asking for these things could possibly be thinking. After all, don't I need some time in my week to eat, cook, clean and go to the bathroom?
Just think about the new languages or paradigm we may have. I dream of the google glasses - what will we have then?
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.
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.
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.
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.
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 and still lovin' it. I switched companies about three years ago because the company I was working for was sold to Ginormous Enterprise and the quality of work dropped precipitously - our engineering focus changed to writing procedures and navel gazing. :-(
I actually had my wife talked into allowing me to switch to an entry level programming job in a totally different software field (potentially at an entry level salary, at least for a while ;-) so I could learn new things and enjoy work again. Before I actually took that step, a startup hired me. I am still in the same field, but I am back to learning lots of new things, working smart and moving fast.
I'm 49 and still write code. Though I don't have too. I got 3 "youngsters" to do the work for me. But I love the code.
I also like learning new languages. Over the years I've found learning new languages to be easy peasy. it's learning the libraries and frameworks that take time.
Take .Net for example; c# is a wonderful language. .Net is a monster. That's the hard part. Same with Python, PHP, Java (especially Java), & javascript (etc). But I actually enjoy it. Cause now I have the tools and time to go through a library like .Net and explore.
The deadlines are met by my team. I just make sure the code/project stays on target and budgets.
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.
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.
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.
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.
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.
Prolog and Haskell (and Excel! More similar than you think!) have large logic engines inside them, so in a sense they learn away form "programming languages" and toward "input languages for a system"
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."
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.
What the hell 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.
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.
As an older programmer (who doesn't code for a living), I enjoy 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.
And it's gotten even easier. When I wrote http://hn-books.com, 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.
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.
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.
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.
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.
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 someone - not for yourself or your own company.
> ageism is a problem
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 it's wrong when at 50 you write code for someone - not for yourself or your own company.
If it's not wrong at 30, why would it be wrong at 50? Not every programmer sees their individual contributions as a stepping stone to becoming a manager, so why would it be any different with starting a company? I see no reason to begrudge someone for doing what they love, no matter their age.
> I see no reason to begrudge someone for doing what they love, no matter their age.
You're right - sure, one size doesn't fit all. But in my opinion it should be a good reason for someone in his 40s to not protect his future.
First of all, working on your own is a matter of independence, as it just doesn't guaranteed that he wouldn't be fired someday and can find a new decent job at 50+.
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. They can't possibly relate to the experience of being around to see and learn from everything that led up to this.
So, uh. I'm honestly not sure where I was going with this! The future will be pretty cool.
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.
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.
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.
EDIT: For example, I'd put pg in category 1. So category 1 doesn't necessarily mean managing money.
A lot of people do because after 20 years it kind of blends all together. You're building the same thing you did 20 years ago and nothing has improved. The tools are still buggy, the managers still have no clue, and the hours are still insane.
I'm crazy, so I'm not really sure why others do it.
Exactly why I stopped programming in my 30s. Figured I would try to solve management problems as that could do more good for programmers than any code I wrote. Turned out to be harder than I thought.
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.
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.
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?
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).
I totally agree with you, as I am in the same situation. I am however slightly ahead of you in the process (end of 20s). Right after graduation I chose the first option you said ("maintaining a steady lifestyle and income by seeking well-paying jobs in the tech industry"), but beside getting better at programming (mastery) the latter two benefits (autonomy and purpose) are not fulfilled.
So I quit my job just two months ago with no immediate plans, hoping to enter the startup world, or pursue other dreams outside programming. I am as clueless as you are at this point, but one thing I can tell you is that seeking a well-paying job to begin with post-graduation is not all bad. You are young and you have time, and money in the bank helps A LOT when you are in my shoes. Having to worry about your account/juggle part-time jobs/living with your parents is no fun.
On the other hand, I would also like to hear what people ahead of me have to say as well. Should joining a startup be the first thing to do post-graduation? What did you do when you were not quite sure where your purpose was?
Writing is low-impact work. You can only write so many words in a day. The people that are changing the world don't do it by writing words.
But wait a minute... writing well about important things is VERY high-impact work. If you are lamenting that your work is low impact, maybe you should find something other than the latest cat photo sharing enterprise knowledge framework.
Writing as an individual is much more potent than programming as an individual. In fact writing as an individual is often the best way to do it. Programming as an individual is often the worst way to do it, your projects are often bound in scope of what they can do. Yes amazing programmers in the past have written beautiful and feature-rich software. But the matter of the fact is, more programmers == bigger problems become solvable.
Why is Google Maps so good? Because thousands of people work on it. The amount of impact any one coder has on Google Maps is tiny. That's why I don't want to be a coder when I'm 50. I want to solve large problems that require large human efforts. The bandwidth code gives me is simply too little.
You're argument is specious. Lots of very smart people work on Google Maps. You can't just buy good software by throwing more warm bodies at it. Fred Brooks was writing about that almost half a century ago.
Strongly disagree. A strong programmer can make hundreds of millions of dollars for a company, given the correct leverage. A good design can involve only a few tens of thousands of lines of code and start a whole new product ecosystem. I've seen it done.
1. Multiple monitor support for the Macintosh II. This was a couple weeks of work (described to me as "five days, five hundred lines of code") with little support from management because of ship pressure. Result: /lots/ of people with more than one video card (ka-ching!) and monitor (ka-CHING!) for the next decade or so.
2. Again with Apple: The folks who decided to define a native code extension system for Hypercard; a simple system that spawned a small industry in custom XCMDs. I say "folks" here, but HC was a really small team, and it was probably just one guy.
There are a couple others that come to mind, but I'm under NDA on them.
Oh man, I'm not an Apple fan but dude, think of where Apple would be without the better Steve? Seriously? Low impact? Wow. Seriously? Really? If all programmers left all countries and started our own rockin place all you "programmers are low impact" types would freakin starve.
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.
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.
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.
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.
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.
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.
(author of the blog post here [1]). If you read the post (vs just the headline ;) ), you'll see that I link to the original post and discussion that happened on HN.
I wrote this post partly because I thought the HN discussion missed the main point of the original post and veered into a discussion of ageism etc (which is fine, but I thought the central theme of James Hague's original post was worth pondering). I even commented on the original HP discussion, where you can see the seed ideas of this post.
I've been thinking about the issue from the time I saw the original post (and discussion on HN).
I often write to clarify my ideas. This post is just me thinking out loud, late at night. Not sure why it was posted on HN.
[1] I didn't submit the post here btw. Honestly, and with no false modesty, I am not sure it is good enough for 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!
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
When people ask this question, what they are actually asking is, "Do people want to hire a 50 year old programmer?"
For a lot of the HN set, I bet they would be unsure about hiring someone of such an age; and that's unfortunate.
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.
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).