If you are a young programmer and your salary merely covers your costs of living (including leisure etc), it seems to me that you need a plan.
If you are a young programmer and your salary merely covers your costs of living (including leisure etc), it seems to me that you need a plan.
Of all of these, I prefer to be a coder.
I'm just 5 years away from 50, and let me tell you: not only do I want to be a developer at 50, I want to be a developer at 70.
Being a developer means getting paid good money to work on problems that are perfectly suited to my INTJ / spergy personality. There's nothing else I'd rather do with my (work) time.
* SmartFlix.com (dvd rental business) * Heavyink.com (comic book ecommerce)
Yeah, I kind of do.
> Sooner or later it has to end.
Why? It doesn't for doctors, engineers, lawyers, accountants... programming is the only job I've ever heard of where decades of experience is somehow a sign on incompetence.
I have a plan that includes retirement savings. At my current rate, I could comfortably retire by the time that I'm 40, but I like working with complex systems, in particular complex computer systems. I tend to write code to understand and modify those systems. Why can't my plan include continuing to convince people to pay me to do what I like and have acquired skill in?
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.
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
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.
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.
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.
Its hardly a physically demanding job.
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…
In a follow-up post, you said that you don't want to spend all your time in front of a screen. Well, I work for places where management is mostly sane, and panics are few. I work 40 hours a week with very rare exceptions. Outside of that, I have a life that doesn't involve staring at screens. It has actual humans in it (plus a dog and a cat).
It sounds like you want to be retired by fifty. Well, I didn't plan well enough for that. Part of that is health issues of some people around me - they need my income, they have some doctor bills, they can't eat garbage so their food is somewhat more expensive. I'd prefer it to be otherwise, but I'm not going to walk away from them. So I need money, and programming pays pretty well.
It's very strange reading this. I'm 48 and it blows my mind to hear that 38-year-olds are unemployable as coders.
I ran airwindows.com for nearly a decade as a traditional product-selling business and brought in about a quarter of a million dollars all told, and then when my payment processor went out of business, I took it to patreon.com/airwindows and started putting my products out for free to get them in the hands of people who can no longer afford $50 a plugin. I'm going to be open-sourcing stuff, too, and continue to develop new concepts.
'coder' as a salaried drudge sounds like you just do what you're told. A person like that cannot run an independent business for ten years, and perhaps shouldn't be 'coding'.
For some of us, for me, it's like saying 'you don't want to be guitar playing (or singing, drumming, etc) by age 50'. It just highlights a really profound disparity in viewpoint there.
I can imagine young slave labor stacking the market against me (this is part of why I went to a patronage model, new as it is to me) but don't tell me not to code. That's crazy talk :)