Programmers: Before you turn 40, get a plan B (2009)
improvingsoftware.com
improvingsoftware.com
I'm very happy to do a great job, and easy to get along with and productive and a team player, but I'd be happy to program in a grey box on a plain chair and table.
The employment deal for me is this:
I program, do a great and professional job
You give me money and/or equity
I do appropriate hours and give me this time I need to leave early for example to pick up the kids
I get you a great result
I set in a chair and table at an office or ideally I work from home (travel is dead time)
But that's not the deal on offer.
For me, the primary satisfaction comes from working hard and getting a result that advances the goals of the business.
And BTW I am very much on the cutting edge technically, but I probably wouldn't get through any recruiting process for god know what reason why.
Apparently because I would be "helping people" I should be willing to take a pay cut. The people I would be helping were paying for the service, but it seems that helping these paying customers wasn't enough motivation to set up some sort of reasonable profit share or equity scheme from the other side of this particular bargain.
I don't actually know if employers ever mean anything else by "passion".
EDIT: I do not necessarily mean "questionable" here in a moral sense, more so you disagree with it or find it questionable yourself, however your interests may lie.
I just don't believe in the mission.
I wouldn't work in certain industries like gambling or tobacco but apart from that I really need the work to be interesting (this is critical), but I just don't feel inspired by the founders goal/mission of "changing the world through being the X of Y".
I take it this means be a programmer with significant experience? It would be great too get a fulfilling job that pays the equivalent of a FAANG salary for junior devs, but I don't see anything like that available to me. I guess that'll be one of the good things of becoming an older programmer...
+ A company that gives me a good work/life balance + Regular WFH or preferably be fully remote + Interesting tasks, in a relatively stable environment
Most of my peers seem to want the same thing as well. While I've done the crazy workweek startup thing before, it burns you out and it's simply not sustainable. I don't have a single peer who still works in startup land.
The work is interesting, though never novel.
Everybody I know tells me programmers should change jobs every 2 years, but I feel like maybe I struck gold the first time?
Enjoy your good fortune and be grateful. A lot of people hate their jobs. Even programmers.
Just make sure you're always able to get a new job if necessary. Basic stuff like keep learning something useful, don't tie yourself too much financially, etc.
I advocate every 6-12 months, even (or especially if) you're happy where you are. There's virtually no downside to doing this except for an unpleasant vacation day. Worst case is you still have your job you like. Best case is you get an offer that gets you a raise (either where you are or with a better company).
(Doing this I've gotten about a 10% raise every year for the past ~8 years - sometimes changing jobs but usually just presenting an offer to current employer - and I'm not a rockstar interviewer or anything.)
It's not about corporates or start-ups it is as you say about sustainability.
It's rough that their is a perception that cutting edge work has to happen either in corporate or start-up or the games industry.
I suppose to some extent that is actually true, but there is a middle ground.
You can define that for yourself and it sounds like you are doing.
You already have it figured out :-)
I think that's the problem. Young, fresh, idealistic programmers straight out of college are willing to give their whole body, life, and soul to a job; if a recruiter was charismatic enough (and if it wasn't for student loans), he or she could practically convince them to pay the company for the privilege of giving them programming to do. They don't know any better.
You, on the other hand, are old and tired enough - and more importantly, have enough other priorities in your life - that you simply can't be convinced to work 12 hours a day or make your free-time hobby also be coding for your employer.
That's the point, and that's why I'm actively working to make money in other ways and not be a programmer because I'm not employable. Well perhaps employable now, but at 60?
For them, the top priority is to get actual work experience to go on a resume. That first job is partly a continuation of their education. I know a person who failed at this. He graduated, didn't find a job immediately, and thus ended up with a period of unemployment that probably made employers even less interested.
Those 12 hours are probably spent implementing unneeded buggy implementations of standard library functions. :-) There can be a struggle to keep up with the more experienced people and even a struggle to adapt to a professional workplace environment.
I sure know what you mean about other priorities though. My open source project (procps) got taken over by other people due to my lack of free time. I have 11 kids. I did OK up to 3 kids, and even with 5 when unemployed, but now there is no way I could properly maintain an open source project.
Coming up on 50 in a few short months.
Been there done it all, from humble beginnings to the upper echelons of big five corporates.
Had the whole house in the burbs with the three car garage and five cars, the dance music studio in the basement.
Stock options and pay up the wazoo.
The money wasn't the problem, the environment was.
The cash just wasn't enough
More importantly my mental health was suffering.
Specifically I wanted to continue being a professional developer with a private space, a shared space and above all work with extremely talented people on serious projects.
My colleagues and myself didn't need break out rooms and enumerable meetings to get stuff done, because creation just happened.
So my wife and I gave it all up and started doing start-ups. She's from a similar background and couldn't stand the facade of modern corporate culture either.
Emotionally draining and ultimately unproductive. You get tired seeing a team of a hundred doing work that can be done with a team of ten or less.
Checked out of corporate and went for a walk in the metaphorical desert.
Came back from it rediscovered the joy of programming, dispersed all my assets and started again.
Now we do things on our own terms and with a low impact that we believe in.
Somehow great people, young and old appear out of nowhere and want to help. That's awesome, and we learn from each other.
Hopefully soon our current project will be released and maybe even useful.
The main thing is you don't need a lot honestly in this business. Patience and just wanting to do the right things goes an awful long way.
I say screw corporate culture, at least SV culture. It's nothing a mirage designed for churn and burn and cares less for actual humans
I mean just look how FAANGM create actual cities around their campus to suck you in.
I'm sorry but that isn't normal. It may be convenient, it may be fun when you are young, but it isnt natural and it creates echo chambers and bubbles that are not sustainable.
My hat is off to anyone who does this job, young or old, it's tough.
But please do it for the right reasons, know that you have to be in it for the long game and the game gets bigger every single day.
Good luck people.
And by the way..
It's worth it
Facebook. Apple. Amazon. Netflix. Google. M ???
What's the M?
I'm 38 year old programmer with 16 years of career (26 with all the hobby stuff before that) and my soul cries for a break. I am working my ass off to start my first ever mortgage (don't ask, I was stupid with money most of my life) and even though investing in future stability and security sounds good, my entire being screams for a much more fulfilling job, ideally related to aspirations I had ever since I was a teenager.
What are you guys doing, if you don't mind me asking? I'm on the hunt for people like you. I need your kind in my life, very badly.
Hope this isn't creepy. Just an honest guy who's about to get fed up.
(1) That process isn't always what you think it is. Sure, some companies will copy the superficial aspects of that process, asking puzzle questions or looking down their nose at you because you don't know some trivia about a language that has existed less time than you've been programming. They're idiots. However, there are also more people than you might think who have actually been trained in such interview techniques, who almost couldn't care less about your solution because they're looking at how you solved it, how you communicated about solving it, how you reacted when surprised or confronted, and so on. That's really important stuff, and I for one don't mind being measured on it.
(2) If you're clear about expectations, you might be surprised what kind of deal you can get. For example, this company is notoriously averse to letting people work from home full time. I'm one of only a few dozen (out of thousands) apparently. Why? Because I told them right at the start that it was an immutable requirement and if they weren't willing to make that deal then we might as well not waste our time. Mentioning that kind of thing post-offer wouldn't have worked. Not a chance.
So yes, I think people like you and me can get through that kind of recruiting process and get the kinds of jobs we want. I hope that helps.
I think I could get you a job "in a grey box on a plain chair and table", though mostly my employer does drywall. There are several chair and desk/table choices.
You get money and various extras like health coverage, 401K, etc. Your preference to "do a great and professional job" "in a chair and table at an office" is fine. There are a few silly trinkets, easy to ignore.
You can "leave early for example to pick up the kids" or for no reason at all. You just need maintain a long-term average of 40 hours per week, and even that can be negotiated if you are really good or have a temporary situation. Some people keep early hours, some people keep late hours, and some people work hours that are pretty random. I take decently full advantage of this, typically showing up in the afternoon. It really makes a quality-of-life difference to be able to go do stuff in the middle of the day without begging for permission.
Believing in the mission of the company is a funny thing in my case. It's almost the same as patriotism. If you would have positive feelings about a huge American flag in the cafeteria, maybe it is the right environment for you. If that makes you uncomfortable, you'd best NOPE NOPE NOPE out of this one.
I'll try to remember to put a proper job description in the next "Who is Hiring?" thread, but FYI: It's the sort of job for people who like writing boot loaders, kernels, emulators, decompilers, hypervisors, JIT engines, and similar stuff. You can email me at users.sf.net, with account name albert.
Those people already had a plan B. They weren't victims who had to scramble for alternatives, but they still contributed to those statistics. As far as I can tell, the vast majority of people who want to stay programmers are able to do so as long as they keep their skills updated.
Don't get me wrong, I'm still deeply technical, but I spend at least 40-50% of my time dealing with human problems, getting them to work together, resolve conflicts etc etc.
Ten years later, the results are:
- Financially: Check. I'm okay. I can kinda stop working now, if I want to. If I hadn't done that thinking a decade ago, I would not be in this financially secure position.
- Fun-wise: Meh. It was a lot more fun to build stuff than to get people to build stuff.
To be honest, I'm not sure what's the right path here.
It’s a shame. I love programming and am good at it. I do it at home as a hobby because it’s awesome. But there is no career path up. My decade+ of experience is not going to earn me much more than the 20 year old bundle of raw energy sitting in the next cube over, besides the word “senior” in my title.
Never looking back.
Certain job categories seem to be really unusually exploitable in this way. Where people are working just as hard or harder as in other fields, but instead of compensating this with actual pay or job benefits, it is compensated with having the work be interesting, something the worker can be truly passionate about. People do work for much less than they're really worth because they're deriving some personal value simply from doing the work itself.
> Considerable accusatory ink has been dedicated to the age discrimination problem in technology, but I suspect it may be an inevitable consequence of the rapid pace of change that defines this field.
Interesting that this doesn't apply to medicine, education, mechanical or electrical engineering, all of which change very quickly and have a broad knowledge set, but somehow it applies to computer programming.
Those fields all employ some pretty significant protectionism to keep the applicant pool thin.
I'd spend some time learning technologies you think will be big a few years out. The industry moves on to new best practices pretty slowly (unless javascript) so you're still way ahead of the curve by learning, say, go or functional programming.
I woke up a few years back (around 34) no longer able to sit comfortably for really any period of time. 4 years later after establishing a yoga practice and learning to stand comfortably I can get through the day, but I'll never have a 19-year-old spine again. Wish I had started counter stretching way earlier.
But I like your attitude and I think you'll be OK.
Don't you feel like a chump now, as an adult with your mountain of student loan debt, and nothing to show for your efforts but half-finished projects, and job at an Amazon warehouse that pays more than the only professional programming job you ever had?
Sucker.
I wonder if I'm already too old to sell myself as a blood-thrall to Peter Thiel?
Eh, probably.
The entire ridiculous immoral premise of this article is built on this idea that age discrimination is somehow objective or best for the company. It is not--hiring a new grad for their stupid excitement over the canny cynicism of an old hand is the definition of penny-wise and pound-foolish. Although given the incentive structures to executives, pound-foolishness has never really hurt anyone "important" in the business world.
What should programmers do before they turn 40? Advocate for less ageism, instead of writing blog posts that try to pull the rug out from under aging programmers by positing ageism as a fact of nature.
I have worked with a ton of great people who program that are over 40, and having experience isn't just what you are familiar with as far as tech stacks.
Employers are just looking for a value add when hiring - and I believe that devs in their 40s bring that value just the same as devs in their 20s.
Unless you're highly specialized then you run out of options as you become an older programmer. The market size of "specialized programmers" is not even close enough to being the size needed to absorb programmers as they age.
I see things a lot differently now that I did 10 or 15 years ago. I no longer believe that a decade of experience in programming carries much value (as seen by an employer).
The aha moment for me was when I worked with a 26 yo trombone major who took a 3 month coding bootcamp who was showing nearly the same level of programming proficiency as me. And I wasn't a schmuck programmer.
Edit: If companies want to get positive value from experience, they have to also structure their engineering teams in a way that it puts some technical people in charge at med to high levels - but again many programmers jump to management tracks because that structure often doesn't exist at parity in companies. The roles exist, they just might be called "programmers" at that point..
https://github.com/photo (founded)
That's just not true. A 40yo could be paid more or less than a 20yo, and could bring 0.1x to 10x the value.
I beg to differ. They may have the technical skills to match, but they won't have the other skills that makes you truly able to deliver value. It depends on the type of work of course. If code correlates directly with business value, then you may be right, but that is just rarely the case.
Programming proficiency and programming/development/software knowledge are two different things. He may have _proficiency_, but does he have real world experience of working in a dev team? Handling nasty bugs? Working on legacy code bases? And so on..
People may be able to get up to speed quickly with all the resources at their fingertips these days (which is great), but if you only had a team of those people... Well, I wouldn't bet a business on it.
Full disclosure, we just hired a 40+ dev and could not be happier with the experience he brings to the team. Yes, we could have saved $20K+ and got someone younger in their career, but he's already shown his value in getting up to speed quickly and tackling large tasks/issues right away.
There will always be shops on both sides of the hiring fence (I've seen both), I call them farm teams vs the big leagues.
> Programming proficiency and programming/development/software knowledge are two different things. He may have _proficiency_, but does he have real world experience of working in a dev team? Handling nasty bugs? Working on legacy code bases? And so on..
He had everything needed to do the job.
> I call them farm teams vs the big leagues.
This was at a startup in SF acquired by a giant software firm.
Well, part of his premise is that we may, but we cost a lot more. I know I cost a lot more than I did when I was 24, even after adjusting for inflation. I do worry about pricing myself out of the job market - but I also worry about missing out on potential salary now while I'm still young _enough_ to be employable.
How is that possible? Either because you have enough money to retire, and you don't want to work, or you would rather work for 0 even though you want money ?
The real issue is non-technical folks are valued & rewarded more than engineers. All tech companies follow more or less same org charts. What is really required is to reverse this org pyramid.
I know there are a lot reading/commenting on Hacker News too (and I'm one of them).
What we really lack are concrete numbers. The article is nine years old, citing data from nearly twenty years ago.
1. If you're a good programmer, and you can/want to keep learning new things and jumping onto the latest technologies (ideally because you enjoy them for their own sake), you can be very successful as a senior/lead/whatever dev -- there is not a superabundance of skilled devs with a lot of pragmatic experience who are up on the latest techs. The downside of this approach is that you really do have to keep learning very aggressively; the instant you coast on what you learned five years ago, you're at risk of falling into the next category. (And that sounds obvious to anyone who's 23 -- the stuff you used five years ago is ancient! -- but once you're in your 40s, five years passes suspiciously quickly.)
2. If you're a mediocre programmer, and you don't want to keep learning new things and want to ride your old technologies, you can often get jobs in big companies/govt maintaining slow-changing legacy apps, and ride that out in comfort until you retire, but this is legit risky, because maybe that system will stay in use until you retire (I know devs who retired in the last few years, still maintaining COBOL apps running on VAX emulators)... but maybe it won't (I also know devs who lost their jobs well before retirement because the AS/400 applications they worked on got replaced by newer stuff, and they couldn't/didn't want to learn the new tech).
3. If you are good at management, and want to move into that, you can do that. This isn't some last-ditch escape hatch from development, though, it's a whole separate field that requires different skillsets, and not all devs are well-suited for it. Yeah, you have to know some tech to be a good manager of a dev team, but organizational and interpersonal skills are much more important. And also, experience here matters, too -- if you're trying to shift to management late in your career, you're competing against people who have a lot more management experience than you, which is going to make it challenging.
Yeah, so it's the same as being a programmer then?
Senior engineerings/developers accumulate experiences that goes beyond just implementing a feature, they can make better decisions, work better with people, manage stress better, more consistent in their work etc. And those who want to stay technology make the transitions to emerging tech relatively easy.
But if the person is lazy, don't invest in their career growth, then yeah, just like any other job, they'll soon find themselves stagnating.
I have enough saved now to move to a cheaper city and live there for a few years (or break even indefinitely by picking up a small amount of client work). Retirement for me will probably mean happily working on and servicing a couple of income earning pet projects.
and in 2015: https://news.ycombinator.com/item?id=9361580.
I need something to motivate to me to get out of bed every day.
Also: becoming a reclusive is bad for your mental/social health.