Why not? One of my favorite coworkers ever was over 50 and he still seemed to very much enjoy coding.
Why not? One of my favorite coworkers ever was over 50 and he still seemed to very much enjoy coding.
From my side I love programming per se (logical/creative thinking, etc), but programming as a profession is stressful: deadlines, unsatisfied clients, changing technologies...
At age 50 I'd rather give my body and mind a rest, and focus in my family or whatnot.
One thing is sure for me: I didn't come to this universe to spend it in front of a screen.
I haven't had a stressful deadline in a very long time. Indeed, I've been weeks or months ahead in almost all cases. I've used that time to get a jump on integration, or help others get a jump on their schedule. By the time I'm ready to ship, the only thing between me and proper operation is disinformation from others.
Now, granted, that's annoying to some people. But just consider that some of that is just ... show business. The people that that annoys are probably not the people you want to work for anyway. And if you do it "my way", you'll know that, and they'll probably know that.
The "changing technology" part is the least source of stress - after a while, you begin to recognize the patterns that tools are designed to solve. So you're down to the fresh ... heck that is Other People's Code.
( the Other People's Code thing is purely about lost or asymmetric information - but it's a really important skill, if for no other reason than to know what not to do).
You just have to learn to separate the act of getting real work done from the act of performing in the corporate Kabuki theater that surrounds getting real work done. At least then you can let it run its course - because very close to all organizations eventually develop autoimmune disease and die of it.
It's not that I am not sympathetic - I am. It's just that after a couple of decades of doing this, you can understand the patterns and apply your efforts to the parts you know you can fix.
But don't let your mind rest. If you rest, you'll rust. A fellah I worked with since 2011 died in 2015 of stage 4 colon cancer, but other than that, he'd still be going well towards 70.
I want to be like that guy, without the colon cancer. And I always have.
For me, age 24, I'd see it extremely difficult to keep the same pace when I'm 50. Maybe I can do the same stuff, but slower.
So by then I wouldn't feel 'discriminated' if someone hires a more energetic, available candidate.
Or hopefully likely you'll do the same stuff, but smarter.
The amount of time and energy you put into something shouldn't be nearly as important as how much progress you make. Unfortunately, good metrics are hard, so some people and companies push for "activity" because you can roughly measure it.
In a job, I want to do one thing - to get as close as possible to defect-free, correctly operating code, on time and under budget. If you're not into that, I'll find someone who is.
Good metrics are impossible ( for now and for the forseeable - they may be congruent with the set of techniques for proving programs correct ) so it comes down to trust.
There is masochism in the world. I won't participate in your masochism if that's your thing.
A "hair shirt" is a garment ascetics wore for purposes of "mortification of the flesh." It's just masochism. It has unpleasant overtones.
An example is: everybody must chronically work 80 hours a week, as a sacrifice to the Tiki God, when the real solution is to sit down and figure out the best path forward.
It'd be fine if masochism were effective; I'd have nothing to say. It's just not. Fold the work better to get it done faster. There is always a way.
Some thing are just inherent Manhattan projects and will consume your life, at least for a while. These are much less likely than one might think.
You don't write the bugs you did at 24 - which means you don't have to stay up all night trying to find them. You don't produce the crummy designs you did at 24, which means that you don't have to spend two weeks fixing them. You know the library functions when you're 50, so you don't have to write your own code to do the same thing. And so on. You spend less time typing, but you still produce more value.
Personality might not vary much over time but careers, interests and aptitudes often change dramatically over decades.
I don't think you "keep the same pace". A lot of what I do now is, paradoxically, not doing things, until I'm internally ready to start work.
The thing is, though… if you have a purpose, that changes things. I'm an audio DSP guy, not much use at other things, but my purpose from when I was very young was to get my personal recording studio to be as awesome as the ones shown on my favorite vinyl records. This entailed making some real progress on the weaknesses of digital audio, and over the years I have made plenty. That's MY personal windmill.
If you don't have that Don Quixote thing, the stress will grind you down. Money's not enough (hey, I'm in the music business, there IS no money there now whether it's devs or musicians). There has to be some less tangible goal to move towards, because the things you cite are indeed a problem. Apple migrated Audio Units to 64-bit and I updated my entire userbase, including legacy plugins, for free because I knew that they would eventually throw out any support for the original 32-bit format…
Its hardly a physically demanding job.
The point of my original post is: 2016 is a really good time to be a developer, but still, if you don't do something extra you may have it really tough by age 40 (don't blame the "ageists"!).
You can be up to a number of things:
- launch your own startup
- become a freelancer, hack your way into great rates
- find a job with an outstanding salary
- move into management