Readit News logoReadit News
StevePerkins · 3 years ago
I'm approaching 50. Just a scant decade away from being old enough to tap my retirement accounts and have the OPTION to retire. These next couple of years look like they might not be fun, but overall it looks like I'm actually going to make it.

For most of my career, I've been told (and I believed) that I would probably get forced out of a hands-on individual contributor role as I aged. During the late-2000's, I even had an early midlife crisis and earned a law degree, expecting that I would need to make a career change into IP or something. That hasn't been the case.

What I think people missed is the compounding effect. The supply and demand for computer programmers seems to double every decade (maybe the interval is even shorter). With each doubling, the older cohorts become a smaller and smaller share of the whole. People look around and think, "There aren't many older programmers here", and base predictions off that observation. However, the more accurate observation would be, "There have been A LOT of younger programmers added here!". I don't believe that it's actually a zero-sum game, though.

I don't know if this human resources cousin to Moore's Law will continue indefinitely, but it's certainly held up through my career. Even when it inevitably slows down, I think that just means you'll see the age cohorts balance out more over time.

pyuser583 · 3 years ago
I’ve seen a lot of older programmers. They can wind up working as a team of one because they’re productive enough to do the work of an entire team.

I’ve seen this a lot. Hire older dev. Older dev has decades of experience. Older dev creates new product from scratch in a couple weeks.

Another issue is that mentoring is focused on junior devs by senior (6-8 years of experience) devs. So you’re less likely to have a senior dev (6-8 years experience) mentored by a dev with 20 years experience.

justrudd · 3 years ago
I’m kind of in this boat. I’ve been doing this for 25 years now (jeez). Mentoring a dev with 6 to 8 years experience is a pain in the butt (yes. I know. Not all of you).

While I’ve got a pretty good memory, a lot of the times I don’t have a direct or complete answer for their question. I’ll have a tingle of a memory that is similar to their question. So I’ll give them that as a starting point and tell them how I’d approach the solving the problem. But they get frustrated that I didn’t solve their problem immediately. That I can’t point them at a blog post of Stack Overflow answer.

But a dev with 1 to 3 years experience? They’ll take that non-answer and run with it.

And I get it. The 1 to 3 probably has 1 maybe 2 tasks they’re working on. The 6 to 10 (to 15) has probably a half dozen things they’ve got to keep track of. Researching is probably pretty low on their list.

quickthrower2 · 3 years ago
I have 20 yoe but happy to be mentored by someone with much less. There is too much to learn out there, so good chance the less experienced engineer can help me too.
w4ffl35 · 3 years ago
the thing that gets frustrating as i age are interviews and code challenges. i'd really prefer a certification that proves i can do xyz which i take once (per year? in my life?). then just decide if you like me based on personality and communication.

i have over 200 repositories etc. its redundant, and random code challenges that differ from employer to employer prove next to nothing.

20 years ago it was the norm for interviewers to ask brain teasers / riddles in interviews ffs.

edit: perhaps this is my own personal struggle as I did not attend University.

kbcool · 3 years ago
I'm an older engineer too and I am very aware of how frustrating this can be for techs of all ages so I made our screening test less fizzbuzz, do my work for me and gotcha questions and more real world, challenging, engaging and most of all interesting.

Examples include: How would you solve this at a high level, here's some code we know is broken, how would you both fix and improve it etc.

After all, both parties are being screened.

The other upside is that we also get to gauge communication and analytical skills not just production line coding.

Even after doing this, over the years I have seen a good 30% refuse to do it or just ghost at this point for whatever reason. Afterall, I've done it myself a number of times.

scarface74 · 3 years ago
As someone who is very “certified” when it comes to cloud, I can tell you that certifications mean absolutely nothing and can easily be gamed. I went through the certifications route only as a guided learning path so I would know what I didn’t know. Anyone can pass a multiple choice certification. I got my first AWS certification without ever logging in to AWS.

But it was never to get a job or a promotion. I was already the Dev lead at the company working on an on prem system and they wanted to “move to the cloud”. I just wanted to get an overview of the landscape.

As far back as 2000, “brain dumps” of MS certifications were a thing.

cortesoft · 3 years ago
I have avoided this problem by not interviewing anymore. Every job I have had after my first one has been going to work with someone I worked with before, and they recruited me so I didn’t have to do any formal interview process.

It has worked for me so far in my 15 year career.

closeparen · 3 years ago
I think interviews and code challenges have to be be decentralized and unscientific. Assessing likelihood of success in a software engineering role is genuinely difficult; any single well-known credentialing program is going to generate experiences of its graduates being incompetent in the wild. And then no one will trust it anymore.

People's own interviewing styles aren't any more valid, of course, but they operate at small enough scale to escape the kind of scrutiny that a standardized test would attract. People also don't like to admit they're wrong, and might be applying a kind of halo effect to colleagues who have passed their personal interview questions. Whereas people love to dunk on prestige, and will eagerly seize on anything they can count against someone with a prestigious credential.

iepathos · 3 years ago
I've interviewed people with computer science phd's from schools with good reputations that couldn't program worth a damn when it came to some simple algorithm and practical coding questions in person so, I don't have a lot of faith in certs/degrees for this.
derangedHorse · 3 years ago
No the general sentiment is that the interview process for software engineers suck but almost no one wants to take a chance trying to develop a new way to interview. It’s somewhat understandable though since devising a new process can’t be to people focused less you inherit too much bias from the interviewer, nor can they be boiled down to a objective metric or else people may fall into inflexible dogmatic practices that use metrics that don’t directly or accurately measure a candidates ability to perform the job applied for
dominotw · 3 years ago
I think Leetcoding is a worthy investment for career. Why not .

I understand that it feels like its waste of time with no practical use but the upsides are that they make job hopping trival because you know what to expect and feel confident.

I think its a tiny investment for big returns. unparalleled to any other activity you could invest your time in.

sgerenser · 3 years ago
In theory that’s what TripleByte was supposed to be, but it didn’t really work out in practice. At best being screened by them got you past an initial screener call but you still had to go through the full gauntlet of interviews at most companies. Then they realized they weren’t making money and started doing shady stuff with personal data: https://news.ycombinator.com/item?id=23279837
twblalock · 3 years ago
Also, programmers are paid better than most people and early retirement is often possible. A lot of programmers don’t need to work into their 60s.

In my own case, when I have enough money to retire it’s going to be hard to convince me to keep working.

JackMorgan · 3 years ago
I know quite a few engineers who simply no longer need to work ever again, and are working just for "funemployment".

Deleted Comment

ransom1538 · 3 years ago
"For most of my career, I've been told (and I believed) that I would probably get forced out of a hands-on individual contributor role as I aged."

Programmers are in a bubble. Head over to the local grocery store. The person bagging your groceries is 63. There is no retirement plan for him - as well as most Americans. These "old" people will end up working until 70, on their feet. If I can find someone to pay me to write CRUD apps all day in whatever hipster framework, I am fine with that, no complaints here. Beats working at HomeDepot.

soulofmischief · 3 years ago
A bubble as in we are not cognizant enough to recognize the benefits of investing in our skills and education so that we aren't bagging groceries at 63, or a bubble as in we should not expect our current ratio of compensation vs skill to hold out forever?
hindsightbias · 3 years ago
I had an office mate whose dream was to retire to the tools desk at HD.

While brutal, there is something to working later from a health perspectice. When I was young, retirees played tennis and golf but I dont see as much of that in my cohort.

rstuart4133 · 3 years ago
I'm the other side of 60. Quit my job and took up contracting after the founders of the firm I had been employed by for decades sold out to a firm maybe 100 times the size. I stressed out wondering if I could still cut it with the young guns.

I was contracted to create the backend for a SaaS platform, from scratch. It runs on AWS, using a lot of AWS services, and is django based. The thing is - I'd never used AWS before, nor django. (I'm not sure how they chose me, to be honest.)

Picking all this new stuff up at my age it's nowhere near as easy as it used to be. But the process of writing software is not just learning libraries - and the rest I have down pat now. I immediately set designing the data structures and databases, wrote a spec based on those structures and got the spec reviewed before I started (I had to pound the table to make that happen). Then head down, arse up writing code as fast as I could. I had to deliver it all without an AWS platform to run it on, or a front end to drive it - but you don't get to my age without knowing a thing or two about unit effective testing.

Then after delivering, I was told it had all been changed by the UI guy, so massive refactoring. Unit tests are worth their weigh in gold when that happens.

All the while I was told I was talking too long, which ramps up the pressure and self doubt even more. (But with me muttering - what did you expect when change the UI I had based the spec on without telling me, ffs.) Boy do you lean on unit tests when that happens.

Then the first code drop, which was few tens of thousands of lines of code done in a few months. Which if you crunch the numbers, was 20% of the size their existing code base, delivered by one guy, in 5% of the time it took several people to develop the existing thing. Bug rate after unit tests was below 1 bug per 5k LOC.

Turns out they were begrudgingly impressed by that. So right now it seems I still can match it with the young guys. Yes learning new stuff is harder and slower, but I make up for it very efficient software methodologies honed over decades, which when I can apply them for a few weeks straight leave them in the dust.

The way I feel now it seems when I'm 70 pulling that sort of stunt will be impossible, so I don't have too many more job changes left in me. But at 50, you have a while to go yet son.

milesvp · 3 years ago
The number I saw was something like every 5 years the number of programmers doubles. So half if all devs have less than 5 years experience. And since most new devs are more likely to be closer to college age than retirement age devs tend to skew younger than 40 (probably by a lot).

https://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html

topkai22 · 3 years ago
I ran numbers from the BLS on occupation data a few years back. If you look at the number of programmers 25-35 in 2000 and the number of programmers in 2020 aged 45-55 you see a real and substantial decrease in absolute terms. The decrease is much larger then other professions, so its not attributable to a cohort just exiting the workforce in general.

There is also a massive increase in the number of 25-35 programmers in the same time period.

My interpretation is there are definitely forces that push against older programmers staying in or re-entering the profession, but they aren’t as severe as they appear to be just looking at the raw numbers. Generally, programmers who want to remain the profession are going to be about to, but it is harder to be a programmer over 40.

AmpsterMan · 3 years ago
https://www.bls.gov/ooh/computer-and-information-technology/...

The number of "jobs" added doesn't quite double, but if we think of it as "for every 4 that retire, five take their place" it would definitely feel like what you're saying.

bdowling · 3 years ago
> I even had an early midlife crisis and earned a law degree

Same. In my case, I paid my way through law school doing software development contract work, which paid better than entry level lawyer work. Now I do a mix of software consulting/contracting and IP technical expert work (patent/copyright infringement analysis, claim charts, etc). I enjoy doing both kinds of work, though I really enjoy legal writing and I'd like to get more into IP litigation, writing pleadings, motions, oppositions, etc.

thread_id · 3 years ago
At 64 years I am still going strong. I consider myself blessed that I have landed a position that allows the to be the leader (I manage a small team) and still be hands on with everything: Architecture, desgin, coding, infrastructure, cloud engineering, DevOps engineer, DBA, the list goes on. It is a Goldilocks job. The technologies that we manage and master are miriad. We are a small company and my team owns the entire space. All my years of knowledge and experience enable me to be coach, mentor, and teacher. Over the course of my 44 year career I have played every instrument in the band. I manage with a socratic method which my team enjoys. Because I have been a life long learner, I have sought out and explored new technologies with eagerness and hunger. This enables me to lead the team to adopt some of these technologies in usefull and vaulable (to the enterprise) ways. The team absolutly enjoys learning and applying new and emerging technologies. I could not have asked for more from what will probably be the last gig of my career. I don't intend to retire until 70 (assuming I am that lucky - you'll know what I mean when you get here). I am having so much fun I wish had 30 more years ahead to enjoy what comes next. I always like to say: It's good work if you can get it - not everybody can.
RockingGoodNite · 3 years ago
People who can manage and code (architect, etc.) are truly rare. I'm not quite at the same age and only play the guitar. Like the article author and where we differ, I am very skeptical of new technologies, if I can't find a use for it in my personal software projects without having to hold my nose, there's no way I will recommend it for work.
indymike · 3 years ago
> People who can manage and code (architect, etc.) are truly rare.

I disagree with this. I think there are a lot of people who don't like being a leader for lots of reasons... but every time I've promoted a reluctant leader it's been magical for that person and for their team. A lot of times the people that self-promote and like to be in charge should never, ever be given athority.

> I am very skeptical of new technologies

I used to think that way until I realized that in a lot of cases, we've been re-inventing the same concepts in computing since the 1960s. I think a lot of the re-invention is really being driven by hardware capabilities, languages and fashion. We're seeing it with Rust right now - let's rewrite all the things in Rust! Underneath it all, though, the payoff for using new, less capable tech, is that eventually it will pass up the old in a very meaningful way - and when it does, systems build on the old are washed away.

spaetzleesser · 3 years ago
"People who can manage and code (architect, etc.) are truly rare."

It's not that difficult if you actually can make decisions quickly. It only gets difficult once you are in a bigger company where you have multiple more or less competent stakeholders and every decision get accompanied by multiple meetings.

cholmon · 3 years ago
I’m interested in hearing more about your Socratic approach to management. Could you elaborate on that a bit?
thread_id · 3 years ago
Very little of what we do as developers or software engineers is transactional. This is very creative work we do. So I don't take status about anything that they are doing. Rather I discuss all aspects of the problem they are trying to solve. Or ask questions about how they approach solving those those problems. I usually enter the conversation with the same verbal queue: "indulge me while think out loud about this....". We discuss concepts like technical debt or design patterns or junky data in our database and how to improve data quality. I also deliberately avoid creating artificial time boundaries. Everyone knows I prioritize quality and stability. (faster, better, cheaper - it's always better)
iLemming · 3 years ago
Socratic approach has something to do with asking questions instead of giving directions. I guess, instead of saying "You're an idiot if you think this works in concurrent setting...", one should say: "What do you think would happen if we run this concurrently? Are you an idiot?" :)
skirmish · 3 years ago
Not to presume what the OP meant but I understood it as: answering questions by asking questions. See: https://en.wikipedia.org/wiki/Socratic_method
pythonbase · 3 years ago
You sound fun to work with. More power to you.

Deleted Comment

beej71 · 3 years ago
I found I lost interest in vapid work. Programming is still fun, but it's a big challenge to find a job that is fulfilling.

When I was younger, I'd work on whatever. Then everything started sounding like yet another get rich quick company, and is that what I was giving up my life for? Just to move little green pieces of paper around?

The most appealing thing I'd seen recently was a company that wrote software to help maximize farm yields. At least there was some real, effective benefit for a great many people.

It's like the goal of the company gradually became more important than the tech or money. And altruistic companies are very rare.

But I always really wanted to teach, so that's what I do now. Pays about 40% of what I'd make in industry, but I get to geek out all day and do work that benefits the world.

Seattle3503 · 3 years ago
> The most appealing thing I'd seen recently was a company that wrote software to help maximize farm yields. At least there was some real, effective benefit for a great many people.

After my graduate work I am the opppsite. I realized that meaningfulness is not a sufficient condotion for enjoying my work. The tasks I work on and my coworkers make a much larger impact on my happiness. Whether I work on something "stupid" or "vapid" matters much less.

tootie · 3 years ago
I worked on some really vapid projects that were technically very challenging and got to work on them with extremely talented cross functional teams and still felt like crap doing them. It's fun when you're in the thick of it but I feel no joy or satisfaction looking back on any of it. Working on meaningful projects is the only thing that does it for me now.
davemp · 3 years ago
Coworkers who are pleasant to work with make all the difference to me as well. Smooth communication, trust, and a bit of comradery can make meaningless work go by quickly. Politics, micromanagement, and rivalry can make even logging in a chore.
einpoklum · 3 years ago
Another option - if you can manage arranging it - is working part-time (whether half-time or four-days-a-week rather than five), and spending the rest of the time working on the software which you think _really_ needs to get written. With some luck and effort, these two branches of your work can even relate (but then you need to be careful about the IP clauses in your contract).
grahamm · 3 years ago
I agree, programming is still fun. Problem is my job has changed due to my age and experience and has migrated into something I don't want to do or can't do that well, managing others and the project as a whole. I get to do less of what I do and what I do well.
tayo42 · 3 years ago
What do you teach? Like computer science at a college? Or something else? How did you make the switch? Was thinking about somehow doing some casual teaching as a step back from a corporate programing career for a bit
beej71 · 3 years ago
Computer science. (I have a BS and MS.) I taught at a boot camp for a few years, and now teach full time at a state university.

I kinda fell into it. I wrote some guides that were popular, and the head of the program at this boot camp was copying my examples for content (I had placed the code examples in the public domain, so he was acting ethically, don't worry), and he stopped and thought, "I should call this guy." They were a startup and needed folks to teach. I had just left the company I cofounded and was drifting for a bit, so it was good timing.

The university is in the small town I live in (about 100k population) and I organized a tech meetup here, and met the head of the CS department that way. That ultimately led to me being hired recently.

For casual teaching, be a part timer. There are lots of night courses that need teaching.

Private boot camps should pay around $90/hr. Adjunct positions at universities probably pay about $1000/class/month. It's really not good money, but it's good experience. I taught a couple quarters as an adjunct at the university and the positive student reviews I gathered contributed to me getting the job, for sure.

mistr0 · 3 years ago
Not this thread's OP but I can answer - I studied CS at uni, graduated in 2006. Worked for 12 months or so, no more than that, in a couple of smaller companies, and it didn't really click (at the time, I found the work uninteresting and couldn't see what progression in said companies would look like). Went into teaching secondary school (UK, ages 11-18) and am still doing just that. As mentioned above, I get to find out about and discuss geeky things with young people with whom I have shared interests (mostly!); on top of this, I get to run extra-curricular activities with them and do things like chess, golf and board games - it is very rewarding, although not really in a financial sense!
indymike · 3 years ago
I'm just over 50. Here's ultimately what I think about aging and programming:

Programming is fun. I enjoy it now, more than I ever have. Three times I've created software that has built a business and livelihood for others. That is super satisfying, and at the same time, usually the source of things that are not as fun as programming (taxes, accounting, lawyers, nasty people).

When I run across other programmers my age, I see a lot of unhappy people, and that is kind of sad. A lot of the unhappiness comes from one of three places:

* Not leaning new things and discovering that the isn't demand for what you did in the 90s and 00s. Career prospects are dim, and bitterness sets in. It's easily solved by picking up something new - but be careful, new doesn't mean things 15-20 years old. So many people jump out of one old tech into another one that is about to be old.

* A lack of interest in leading, and being hypercritical of leaders. Here's the deal: if you leading the team, you pick what you want to work on, and you pick how you build. If you are just on the team, you'll always be on the wrong side of decisions. It's easy to lead a small team, and experience is really the backbone of really, really great small "l" leadership.

* Pathological drive to be correct at all times. You know, they person that can't let the smallest mistake go un-punished, every bad decision second-guessed and being willing to die on the hill of correctness over the smallest mistake. This drive makes you good a programming, but it makes relationships with others terrible, and leads to being isolated, alone, passed over and unhappy. It's really hard, but learning to pick your battles and understand that battles can be won and jobs lost really goes a long way.

That said, there's an awful lot of aging, talented, experienced developers out there that are doing great things, and having fun doing it. Find a way to keep it fun.

galaxyLogic · 3 years ago
Programming fun because you find SOLUTIONS all the time. You find better ways of doing things. That is the nature of it because there is no need to write the same code twice.
travisgriggs · 3 years ago
Wow. Just turned 52. Love coding. Love building useful/meaningful things.

Your three paragraphs read like someone climbed inside the library of my head and just started reading all the thoughts there at once. I struggle or have struggled with all 3 of those. Especially the latter 2.

kaidon · 3 years ago
> "they person that can't let the smallest mistake go un-punished"

Did you mean 'the' instead of 'they'? Did you do this on porpoise?

dijit · 3 years ago
Here’s something I think a lot of people don’t think on: 40 years old is mid-career.

If you expect to retire at 60 (likely 65 these days) and you start working at 20: 40 is smack dab in the middle of your career.

I think that notion gets lost when we talk about ageism in tech and then people talk about 40-somethings.

howmayiannoyyou · 3 years ago
> ageism in tech

Several reasons for ageism sometimes missed. This from someone whose been discriminated against, who has hired, who now owns a company & who was also a recruiter.

__I don't agree with this__ just laying the reasons out for clarity sake:

- Hiring managers don't consider themselves ageist, but opt for younger employees whom they think make a better cultural fit. You can blame the 'work is my social life' culture that emerged in the 2000's and that persists today.

- Hiring managers don't want to be ageist, but they've had or heard of bad experiences where disgruntled or non-performing employees abuse the EEOC process for financial gain and retribution. Very well intentioned rules, designed to protect certain cohorts of employees, doing the exact opposite as is often the case with Gov regs.

- Hiring managers (usually fixated on 'new tech') who fear diminished learning, adoption or performance capacity in older employees.

- Money. The perception that older employees cost more in wages and benefits, without much thought to efficiency gains that accompanies gray hair.

I was age discriminated against by a well known SAAS provider, who used a 2014 interview process to extract a detailed roadmap and ideas for product growth from me, and then ghosted me. I've watched as they've (badly) implemented the specific of my roadmap the past few years, and I chuckle. 100% my fault for giving up too much value in the interview process, but it was tough time and I thought I really needed that job.

WesolyKubeczek · 3 years ago
> Hiring managers don't consider themselves ageist, but

> Hiring managers don't want to be ageist, but

I classify this into the "I'm not a racist, but..." bucket.

> Hiring managers (usually fixated on 'new tech') who fear diminished learning, adoption or performance capacity in older employees

This is the textbook definition of what ageism is.

Conclusion? They are ageists, plain as that. They may not consider themselves to be, or want to be, but they still are, because ageist is as ageist does, and it matters jack what appearances they want to keep or what they think or who they perceive in a mirror.

Dead Comment

sys_64738 · 3 years ago
A lot of programmers who are 35+ can struggle to find further opportunities as the more senior you are the less available those opportunities are and the more expensive you are. Lots of companies only want young people who are naive and have limited distractions outside of work. So, really, programming as a field is front loaded and the longer you stay in the business over 35 then the luckier you have been. But make sure you have an effective exit strategy to support yourself and your family when the boss doesn't like folk older than him.
wonderwonder · 3 years ago
I very much think this is limited to the startup / work fast and break things style of companies. Always work available for sr. people at large established companies, especially fortune 500. Specifically companies where tech is not the core business product, many of them are attempting to modernize their systems. They pay pretty well too; not Google / Amazon level but on a pure salary basis many probably pay comparable to Microsoft without the shares of course. They do have a good 401k match though. A good salary for 95% of tech people.

I am early 40's and have had no issue finding work and am currently interviewing others to come work with my group in a solution architect / tech lead style role and they are all my age. I have never interviewed for a job and not gotten an offer, regardless of age; with that said I'm not interviewing at startups or places I feel really wouldn't allow me a family life. I get the offers not because I'm incredible, I'm not, but because I know my lane and skill set and stick to it.

silvestrov · 3 years ago
> Lots of companies only want young people

The older I get, the more I think it is not the company itself but middle-managers.

Managers with an authoritarian streak will have trouble handling experienced developers that objects to non-optimal designs and processes.

It is much easier for such a manager to handle young naïve developers that gladly accept to work 5 times as many hours as a good design needs.

Software don't work well with an "do as I say, no matter how stupid it is" approach. I think that is why Silicon Valley (and Europe) has much greater success writing software than asia/India.

scarface74 · 3 years ago
I keep hearing this. I’m 48 and between the time I was 34 and 46, bumping around in your standard enterprise corp dev jobs, I found jobs relatively quickly - the shortest time was 4 days from starting to look to having a job (corp dev at the time a F10 non tech company), the longest being two weeks. Every time besides the first, I was juggling multiple opportunities and had three offers. I change jobs 5 times during that time period.

In hindsight, until the last two in 2016 and 2018 they were just journeyman CRUD jobs with the last two being hands on dev lead and de facto “cloud architect” respectively.

I just got my first job in $BigTech at 46 two years ago. It’s not officially a “software engineering job”. But for all intents and purposes I’m doing the same type of work I did at the last couple of jobs - gathering requirements, presentations, development, and a shit ton of yaml, HCL, PowerPoint slides, and diagrams.

I’m sure at 48, I could contact my network of former coworkers, managers, recruiters and someone would give me a job even if it were just a standard .Net journeyman developer again.

If you’re still randomly submitting your resume to an ATS trying to prove yourself to companies by reversing binary trees on whiteboards while juggling bowling balls and riding a unicycle on a tightrope, you’re doing it wrong at 40+ years old.

Swizec · 3 years ago
Big part of why programming is front loaded is that it's an incredibly new field. The entire field hasn't existed for more than 70 years. And that was if you count "Niche academic field that a few dozen mathematicians knew about" as the start.

It didn't become like a job job until what, the mid 1960's? That's 60 years ago.

And the number of programmers is doubling every ~5 years. Of course it's front-loaded with young people! The people who have been doing this for the field's entire time of mass popularity (1980's onwards imo) haven't even had time to get proper old yet.

But also: The more experienced you are, the more your biggest value isn't in banging keys on the keyboard. A company would much rather leverage your thoughts and opinions and that may look a lot more like technical leadership than programming. Even though it's still engineering.

therealdokks · 3 years ago
Hmmm as a 53 year old programmer I've had the exact opposite experience. Because of the large diversity of my skills I have more offers for work than ever before.
sokoloff · 3 years ago
I find the “I won’t take less than $X or else I’ll stay unemployed” to be kind of weird as a career planning strategy. If there is an under-supply of senior talent, everyone accepts and expects that the clearing salary for those roles will go up. Yet, if there’s an over-supply, many people seem unable to extrapolate from the previous.
user_named · 3 years ago
The same goes for EVERY profession.
synergy20 · 3 years ago
40s or 50s are still prime time for programmers, assuming he/she keeps learning and coding and designing.

but those are still of small group, it's like a normal distribution, I read somewhere age wise there are only about 1.5% that are above 50s.

jmfldn · 3 years ago
Programmers doubled every 5 years for 20 years. That's at least part of the reason.
w4ffl35 · 3 years ago
I'm better now than I ever have been. I was trash in my Jr years. Being discriminated against due to age would be a grievous error on the part of any potential employer.
layer8 · 3 years ago
A significant reason for that is that the field has kept growing for decades. Of course a lot less people started 20/30/40 years ago than do now.
wpietri · 3 years ago
Two things can be true. 40 is mid-career, and tech's ageism includes it: https://www.businessinsider.com/we-hire-old-people-ageism-te...
w4ffl35 · 3 years ago
Limiting a software engineers career to less than 20 years is a pretty fucking idiotic thing to do.
toastedwedge · 3 years ago
Is this ageism implied for SV and like companies, or all of them in general (implied US-based anyway)?

I can't speak in either instance at this time, but I'd like to think ageism isn't nearly as widespread as it seems when discussed on here when it comes to technology-based work. E.g., Small town in Nebraska with one or two software houses versus SF.

Deleted Comment

tootie · 3 years ago
"likely 65 these days"

I think with software jobs paying what they do, retiring at 50 would be pretty easy.

hmlongco · 3 years ago
Things happen. But what I often tell people is that I'd probably be sitting in front of a computer anyway. Might as well get paid for it.
nly · 3 years ago
If you start your career strong in your early to mid 20s and plan for it for then... yes.

Not all software engineers are paid ludicrous money though, and even in places that they are paid well the cost of living can be atrocious.

rickreynoldssf · 3 years ago
51 grey beard here. Let me complain about the younguns. So much of what's out there today is, or is based on "solutions" created to solve problems that don't really exist. Rather than try to understand something so many engineers created "frameworks" to implement what was already there. Like 90% of current web stacks are just that. But new engineers are trained on that stuff and think it's the only way. That frustrates the hell out of me.
adrianmsmith · 3 years ago
I share this frustration, but I think the root cause of the frustration is the difference between what I feel should be important, and what actually is important to people.

Getting great reliable software delivered quickly, which is easy to maintain and change, should be the goal, I feel. But if that’s the case, why do people invent problems to find solutions to, why do people spend multiple days a week in Scrum meetings, etc.?

But looking at everyone involved and their actual incentives:

- For a consultant, the objective is to maximize the billable hours.

- For the employee, to get modern skills on their CV.

- For the junior programmer, there is a more level playing field with the seniors when tech is used that’s new and nobody knows, vs. tech the seniors know well and they don’t.

- For the manager or owner of a product company, they want less stress having to make decisions and as long as the product makes money who cares if the software could be delivered 50% or 70% faster?

BlargMcLarg · 3 years ago
The psychological aspect of consultants and even employees trying to play a game with billable hours aside, a lot of developers of all ages genuinely feel using frameworks to do the exact same thing one can achieve with far less hubbub is a good thing, and they have trouble defending it. It's a cargo cult by all standards.

Many of us are living this now. If it's not the chasing of new frameworks, it is old frameworks no longer being actively supported, or key features never being developed. Then it turns out something like vanilla HTML + JS can do the job just fine, but you need to update everything to vanilla to make it uniform.

GartzenDeHaes · 3 years ago
In medium and large organizations, manager pay and influence is mostly related to the number of employees managed and the size of their budget. Managers maximizing these two variables explains a lot of behavior that seems unreasonable to employees.
soulofmischief · 3 years ago
As a consultant, I try to reduce my billable hours as much as possible, then charge an appropriate amount for the value I have created, not the time spent, and this leaves me more time for more clients or leisure.

Is this not the typical mentality?

liuliu · 3 years ago
I sort of know what you are saying. Being dealing with so-called "server-side rendering" v.s. "static generated" recently, and these feel old / boring. It has been 15 years and mostly the same thing reinvented.

However, it is not a negatively thing. We may be able to setup IIS / Apache with Squid two decades ago to do similar things. The bar to do it now is much lower, and the tooling to help achieve that is much better overall (there are some not-so-great: Figma is a great design tool, but it doesn't translate to code directly unlike Dreamweaver / Borland VCL / Visual Basic, but I heard Framer is doing good on that front). That is part of the reason why there are so much more participation of labor in this industry: it is more graphical and easier to do (even terminal tools, largely do the similar things, are much more graphical nowadays!).

flyinglizard · 3 years ago
My company has a tech stack consisting of all the latest and greatest devops/tooling/cloud services, and an old timer like me wonders if that could have been just implemented as one C++ binary running somewhere.
Cyberdog · 3 years ago
Seeing all the JavaScript kiddies rediscover the speed and UX benefits of not using massive front-end JavaScript libraries to display simple web pages in the last few months has been alternatively hilarious and frustrating to me.
dahart · 3 years ago
There’s a legit issue in there, but us old’ns might have to own up to some of the problems we’ve caused (or even just failed to solve) and the legacy we’re leaving. ;) I’m mostly joking, but I honestly don’t think this is a young vs old issue, I think it’s a byproduct of happening to live through the time when the internet took over the earth right while programming exploded as a career. The amount of choice, complexity, scale, and expectation in software today is so much higher than it was 20 years ago.

Putting together a decent web app today that is competitive with what’s out there and doing it in a reasonable amount of time is something that just requires frameworks and library mashing. Even though I can fully empathize with your comment, from experience, and even though my beard is almost as grey, piling stuff I don’t understand together from yarn or npm is exactly how I start a new web app. My job recently switched from web to hardware, and the workflow changed dramatically into writing and scrutinizing every line of code, and complied instruction even. But even still in the hardware company there is an overwhelming sea of choice and complexity and an army of young and old programmers all borrowing and reusing code at all times, with everyone just treading water and understanding only the tiniest sliver of it all.

I think we have no choice but to embrace the fact that it’s no longer possible to avoid swimming in 90% code you can’t control or understand, and figure out how to better manage it and encourage people to snorkel under the surface whenever they can. I don’t think we should blame it on the kids though, they’re just trying to get by the same way we did, but in a different world than we had. The good ones will still shine through and be amazing, and the rest can learn their mistakes the long way just like we did when we were young and obstinate.

weatherlite · 3 years ago
How was the switch from web to hardware/low level? Did u do some self studying to get a job?
YZF · 3 years ago
54 no beard here ;)

If you're talking about web applications then I tend to disagree. The SaaS paradigm and the UI living in a browser are relatively new ideas that are still maturing. I don't think there is a lot of good "what was already there" and we're just seeing the evolution of tooling for this ecosystem, not completely decoupled from the evolution of the large companies that rely on this tooling. Not sure it's worth getting frustrated about... I tend to just stay away from it because I prefer to work in areas that are less fluid. And sure, sometimes there's just Not Invented Here syndrome and let's reinvent the wheel instead of using existing wheels. Nothing new about that either, it's always been like that.

All that said, the principles of how everything works are unchanged. People that only learn to use a framework are just not good software developers. People that understand the principles can work in any framework. This has always been true and is still true. There's a shortage of people that really know their sh*t and there's always been as well. That's great... I'll never run out of work (I might run out of motivation ;) ).

P5fRxh5kUvp2th · 3 years ago
So true.

I once had an experience where I asked a younger developer why they didn't use cookies for a solution they were using JWT's for. Their answer? They didn't know how to use cookies.

I was bemused, their solution worked just fine, it's just all the extra infra needed when compared to cookies, which would have solved the problem just fine.

I'm in my mid-40's and I would apply that observation to scrum (and software dev in general). What I tend to see are a lot of very earnest people who are legitimately trying and the behaviors often associated with scrum are what they've been taught works.

Truly understanding what goes into successful software dev takes years of work and is more craft than algorithm, so I can understand the challenges.

scarface74 · 3 years ago
The only thing I hate more than the ckusterfuck of the modern front end ecosystem is coming behind an “Architect” who doesn’t think they need them and reinventing the wheel badly.
arketyp · 3 years ago
I learned how to code when I was twelve. I wouldn't have if I didn't in some degree enjoy the actual act of coding, the moment to moment typing on the keyboard, composing algorithms, designing data structures and logical flows. But in the back of my mind I also always regarded coding as a means to an end. Sure I became engaged in language design battles, API design philosophy, but the magic with computers was always, for me, that you could create something from nothing, this totally metaphysical creativity, really. To some extent I see this passion transgressing to other spheres, such as management, communication, planning across departments, office politics. As an adult, I don't play video games, and artistic pursuits and ideals have also become more abstract, the particularities more sedimented, incorporated in the grand scheme of Life. On top of that, the fact is that most programming jobs are glorified plumbing. I'm reconciling with the fact that the romantic days of hacking are perhaps a thing of my passed. I don't really listen to music the way I did as a teenager, so I can't expect programming to remain the same either.
pluijzer · 3 years ago
The magic, curiosity and joy I had also faded for me once. Like you say, much of my jobs included lots of plumbing. For work the elegant solutions that gave me joy would be seen as anti-patterns. The languages I enjoy would scuffed at as being relics. The problems I enjoy seen as useless because there are already solved in bloated over complex enterprise libraries.

When I would program for myself in the weekend I wanted to work on problems that would look good on my CV. Focus on techniques and languages that will be beneficial for my carrier. Soon also my hobby coding became a lot less enjoyable.

I then decided to seperate my hobby and carrier. In my spare time I started working on the things that fascinated me. Implementing operating systems, creating software rendered 3d engines, compilers etc. All from scratch. All in my favorite language (which is Common Lisp for me). Not caring if it would bring me money once, not worrying if anybody would use it or wanting to put it on my CV once. The only reason that is to enjoy it.

Straight away the magic I felt as a kid about computers came back in full strength. It hasn't faded since. And the funny thing... I started enjoying my enterprisy work also again. Already getting my coding passion fix in another way I could appreciate my work and the way of working for what it is.

voidfunc · 3 years ago
This is why I'm starring to get interested in games programming. It is so far removed from the kind of code I do for a living that it is a lot of fun and recaptured the magic of learning to code when I was 11ish.
spfzero · 3 years ago
Same here (separate hobby from career). I needed to let myself re-discover the things that made it magical, switch from resume-building as my goal, to "what would be fun for me to do now?".
visarga · 3 years ago
The cure to burnout - give yourself ample time to play and be inspired.
marginalia_nu · 3 years ago
I have a similar background, but still find programming very rewarding.

Not at my day job, that is and has always been a series of mundane chores. I sadly think expecting to get paid for stimulating programming is fairly unrealistic. There is just not a lot of market for solving interesting problems or designing well-optimized code.

I find other avenues to build interesting things instead. At 35, I'm able to build things that I could never have when I was 15 or 20 or 25. I have so much more experience with what works, I'm much better at identifying which decisions matter, and which corners can be cut.

erwincoumans · 3 years ago
Doing interesting programming work is not unrealistic, but you need to make it a priority if you care for your day job. 3D graphics, robotics, physics simulation and AI/deep learning are still exciting to me after decades.
visarga · 3 years ago
> expecting to get paid for stimulating programming is fairly unrealistic

Works for me in ML.

scarface74 · 3 years ago
I learned to code at 12 in 1986 in 65C02 assembly language. By the time I graduated from college in 1996, I had done hobby programming in assembly in four processors. I didn’t do a single side project from 1996 to present unless it was just to learn a new to me technology for my next job.

During that time, I was a part time fitness instructor as a hobby, I trained for half marathons with friends, dabbled in real estate until around 2009 (guess how that worked out), got remarried, raised two (step) sons and now my wife and I are making plans to live a digital nomad life flying across the US. Our free time will be spent sightseeing and learning Spanish well enough to have a different experience when we stay in Mexico for a few weeks later this year.

krmboya · 3 years ago
I wonder where the genesis is of this idea that programming is young person's game akin to physical sports where speed, explosiveness and endurance matter.

It seems to me that it's an intellectual activity where one should go on for very long honing their skills and becoming better and better at it with age.

Maybe the industry sidelines the older more experienced technical folks at a cost, and that's why there seems to be a reinvention of the wheel several times in the software industry.

I'm curious if there are other technical fields that are similar to programming with regards to ageism.

Wishful thinking maybe, but open-source may help in this regard. As more and more of software is being added to the commons, those who've been there and done that can have a greater influence in driving progress.

somenameforme · 3 years ago
Chess is a primarily mental competition, but players at the top of the world tend to hit their peak at around 35 years old. Players can continue playing at an exceptionally high level until the end of their life, but on average there is a gradual downward slide from that peak. Magnus Carlsen, the current world champ and arguably strongest player of all time, has decided to simply stop defending his title (held since 2013) at the age of 31.

I think something that tech and chess may have in common as well is the ever-shifting grounds. Electrical engineering of today is not dramatically different than electrical engineering of yesterday. But programming (depending on the domain) is quite different today than yesterday. This is going to result in an age bias because at some point you start to simply become jaded learning 'Incremental, overhyped, and not strictly necessary new trendy framework/language [that nobody will be using in 10 years] #2,743.'

Tryk · 3 years ago
The reason Magnus is not defending his title has nothing to do with some decline in ability. Last game versus Nepomniachtchi he won quite convincingly 7.5 to 3.5.

>“I feel I don’t have a lot to gain, I don’t particularly like [the championship matches], and although I’m sure a match would be interesting for historical reasons and all of that, I don’t have any inclination to play and I will simply not play the match,” he said on his sponsor’s podcast. [https://www.npr.org/2022/07/20/1112479750/magnus-carlsen-wor...]

YZF · 3 years ago
I don't think programming today is that different. I've been programming since 1982 or so and I don't think it's fundamentally that different. You have to keep learning new stuff. That's the way it's always been. That's what it means to be a programmer. But the new stuff is just the old stuff and the basics are the same.

By the way, electric engineering of today is also quite different from electric engineering of the 80's. You have to learn new tools. Maybe if you work for an electric utility it's still the same though I tend to doubt that as well.

fzeroracer · 3 years ago
Keep in mind that we've seen an interesting phenomenon over the past few decades where the average peak age of professional players has been going up. This includes physical sports like baseball, football as well as things like chess, fighting games and various esports.

I think the peak age thing ends up being less due to actual aging and more due to the responsibilities of life taking time away from practice.

unity1001 · 3 years ago
> Chess

Chess is not a good analogy. It is a singular context. The real advantages that being over 35 and programming brings are:

- You are able to juggle much larger and different contexts at the same time - You have immense foresight that enables you to architect larger things

mbrodersen · 3 years ago
Chess is not programming. We have software that can beat any human chess player. We don’t have software that can beat even a mediocre software developer.

Deleted Comment

w4ffl35 · 3 years ago
Younger people with cognitive bias running the hiring shit show perhaps?
tartoran · 3 years ago
Not only that but the younger are more maleable and gullible in some aspects but also have the better capacity (and willingness) to adapt to the tower of babel du jour.
thunky · 3 years ago
I"m not sure that the common idea is that younger programmers are more skilled, but rather that they are more in demand. Could be for a variety of reasons, for example:

- cheaper

- less jaded

- easier to "manage"

- more willing to do the boring work that the older devs don't want to do

- more likely to be on call or work extra hours

- less likely to retire next year

LostInTheWoods · 3 years ago
>more willing to do the boring work that the older devs don't want to do

No body wants to do the boring work. I think more experienced devs realize that a boring assignment isn't personal, its just business.

macrolime · 3 years ago
Maybe because a 25 year old can work 12 hours a day, while a 40 year old often has family obligations that make that impossible.
jeffbee · 3 years ago
Yeah but the very last thing you want is an inexperience person who types code 12 hours a day.
weatherlite · 3 years ago
I don't think that many millennials want to work 12 hours a day...
awesomegoat_com · 3 years ago
In my mind, young male have a lot of hormones that make them compete and it shows. There seems to be clear behavioral change in the average programmer as they age. Later in life (oftentimes with family), they do not have biological set-up to code 14 hours a day whole year as they did before.

Obviously, outcoding everybody else is sometimes considered as a value and other times it is not. Shrug.

atemerev · 3 years ago
I never ever coded 14 hours a day except in competitive programming. Doing it at work would be insane.