Were you looking for work when FB approached you either time? If so, why would you take yourself out of the running given you’re (I’m assuming) an experienced developer?
Some value ethics and social implications of their doings more than compensation. I had passed interview at Facebook and didn't join, because it seemed like not a good idea to work on ads and manipulation of masses without clear alternative business plan that would actually also do good in the world.
“I want to stress the importance of being young and technical. Young people are just smarter.”
-- Mark Zuckerberg
The interesting thing to me is that Facebook is primarily used by older people (over 40) who are not represented in the coding and ui decisions. Their inability to get a handle on political speech is evidence to me of this. Their employees lack real world experience and wisdom.
I was looking for work, but Facebook is notoriously ageist. I wasn't going to waste my time going to an interview where I would certainly be eliminated because of my age.
To avoid going through the grueling day-long interview/whiteboard session, when it was obvious to everyone in the room that you weren't getting the job from the moment you walked in.
I’ve had FB bugging me off and on and I can’t get rid of them. If I were desperate and they were my only suitor I guess I would do what I had to, but I honestly have no desire to work for them.
I think that I was way past 40 by the time I had to get legal on Google to get them to stop pestering me. Still doing a variety of coding with my CTO hat on and in my non-work time in my 50s...
As a JavaScript developer your career is a not dead but becomes a dead end at 40. At that point you must make a solid decision:
* Stop growing as a developer and do the same things forever (dead end)
* Enter management
* Go do something completely different.
There are plenty of technical challenges in that technology space to continue growing and producing amazing new things, but that exciting life is more commonly found as a hobby than employment. This is also a technology space with an exceedingly low barrier of entry and poor formal training, and so most related employment is directed to beginner tools to minimize disruption from employee turnover.
After 40 as JavaScript developer your ability to command increased compensation by switching employers evaporates and your increasing experience is of diminishing value.
Let's see if we can think of some helpful mnemonics...
p ? q [conditional]
q ? p [converse] (con+vertere = to turn and to keep company)
So the converse is "turned" or "flipped" around.
¬p ? ¬q [inverse] means you negate the original conditional on both sides. From "invert" for "turned upside down." Maybe think of a cup or a bucket, flip it over it's no longer a cup or bucket. Converse... turn the cup so left is right and right is left, Inverse... flip the cup so it's not a cup
It depends on how you are and what job you find. I was hassled once for changing my career direction to development in my late 30s. I wasn't guided or well-groomed at any point in my life, I had to work any job to survive so I didn't fulfill my career goal dreams until then. The worst part of the career is inability to relax, constant anxiety as they push people pretty hard. That's where your personality comes into play. I'm too responsible and that's what they're looking for. They don't care about you. It's a huge benefit to be able to just do a job and come home. In summary, if you work long hours for free, you'll make it in this industry at 51 or 71. That's what they're looking for after all the smoke and mirrors.
It sounded slightly negative in a way, but my point is, all this talk on here is nonsense. They want workers and there's a dearth of people that can write code at all. If you're smart enough to get your compsci degree at 40+, your success in the industry is guaranteed especially if you put in the hours. You have nothing to worry about, no consensus of nerds on HN can stop you. If you feel the CS degree didn't fully prepare you for any specific technology, I'd recommend Pluralsight. Most the instructor on there are great.
I'm a few months away from being 40, and the common trait amongst the 40+ crowd is people and leadership skills. Management is the common track that people take, but you can be a technical leader if the company needs it (I'd argue most companies need them, but many companies don't manage tech itself).
Yes. By that age people getting tired of "being managed".
Large companies have more management positions though. What should someone 40+ do at a small firm? Start again at BIG Co as developer and wait 5-10 years to become manager or tech lead? Is that the only option? Can we say 40+ developers at small companies are mostly buried without carrier path? (I think it can be the case for many.)
I'm approaching 40 soon, I've also noticed that it takes longer to learn new things. I can't just load up a new set of libraries/syntax into my head every few days like I used to. Overall, I have much less time to devote to mayfly technologies.
in preparation I've started to vet the skills I pick up more carefully. Nowadays, I look at the longevity of the tech. javascript frameworks come and go. those few weeks you invested in learning backbone/jquery are now obsolete. time to learn how to build the wheel again. Beam is a 30 year old tech and elixir looks solid so I'm happy to invest time in it. Flutter is still new and mobile landscape changes constantly so while I think its cool, I leave it to the newer engineers.
Nowadays I'm investing more of my programming related time to systems build on stable platforms. cloud is more or less linux and that doesn't change too much. SQL written today is not going to change much in the next 20 years. Everything added in the last few years seem more or less opt in. Good architecture for backend doesn't change much either.
IF you're in your mid 30's and you wanna stay in the game, I'd recommend doubling down on systems programming (start learning rust NOW if you haven't already) or machine learning with emphasis on theory. The fundamentals and apis don't change radically like frontend does. IOS and Android seems dangerous to me. if I was in my 20's I'd be happy to but I dont' have brainpower to completely relearn from scratch every few years anymore. getting older means using what you have more efficiently.
> I dont' have brainpower to completely relearn from scratch every few years anymore.
I understand what you mean when it comes to new frameworks. I learned to code in the 80s, and nothing has really change since then.
There is this misunderstanding that things change fast, they do not change at all. Only the level of abstraction changes.
When I was a kid I was capturing interruptions to implement mouse movement, it requires fast code that runs for a moment to react to the event and returns to not block the system. Same that with AWS Lambadas. I personally do not see any difference.
Immutable messages passed between actors to implement concurrent behavior of enemies was common when multi-thread PCs first appeared. The theory is form 1973. Now I use that same knowledge to build micro-services.
The big challenge is that what I did at CPU level in the 80s now I do at the service level in clusters of machines in the cloud. From CPUs, to virtualization, to cloud, all the same thing: input in, output out.
But, I am also tired of learning new syntax for the same things. The most difficult part of learning AWS is to remember the specifications of the product, if they offer this type of connection in S3 but not in EC2. The difficulty is to remember arbitrary decisions based on temporal situations.
> machine learning with emphasis on theory
That is the only innovation (applied, the theory existed by very long) that I have no real equivalent from the 80s. And, I am following your same advise and going for it.
> "The difficulty is to remember arbitrary decisions based on temporal situations."
That is the difference today. As you said lot of things you learned decades ago is still applicable knowledge. The AWS ad-hoc stuff we learn today will be outdated and mostly useless information very soon. The undelying principles (even distributed computing) we already learned years ago.
That's exactly what I've done. I'm 32 and have years of exp in data engineering and data analysis. I wanted to pivot more to more eng. I did a lot of interviews with a lot of product eng offers, but ultimately went for infra, now working on a cpp and java stack.
Feels like there's more staying power here. On the product side I would have been sprinting to director level people management as fast as I can. On infra I feel like I can stay an IC indefinately
Even though I have an ML background, I don't feel like competing with every young hotshot out of MIT and stanford for ml eng roles, so going to opt out for now and focus on systems
Forty-three here. It takes longer to learn things mainly because I have a young child and my time is chopped up and my sleep is less/worse than it would otherwise be. One thing that has improved with age is intuition, which helps immensely with debugging. I can debug most problems much more rapidly than I could as a younger developer.
I don't know if you lose much learning power or if you just lose interest. I've been through so many Java frameworks that I just can't see the value in learning another one. I also cannot muster the patience to wade through Oracle documentation anymore.
But I've taken a liking to Rust, I've learnt a lot of maths and I've also read up on networking.
> "I don't know if you lose much learning power or if you just lose interest."
Both.
- As we accumulate knowledge while aging it becomes more and more difficult to learn new things. We are smarter and smarter though. (Most of us :)
- Losing interest sooner is natural. For example by the time I read through the documentation of one service that deploys containers on AWS the information is already outdated and two other, newer AWS services released doing almost the same. When someone says: "we need to investigate this new AWS ..." I am already shutting my ears.
What myth is that exactly? Is this some Silicon Valley filter bubble thing? I’ve worked with tons of programmers over 40 and am over 40 and this is just silly.
40 is likely the average age programmers start to reject the concept they need to be available 24x7x365, and realize the SV or startup mindset pays off only in a small number of cases. Odds a bit better than a lottery ticket.
I did not start to put limits on my dedication to a job until I was 50, and now at times feel I could have better used the last decade - more living / less toiling.
Along those lines (I'm in my early 40s, been programming since I was a kid, working in software since I was 20) my tolerance for BS is at an all-time low and I've been at this long enough now to know my own worth. There are loads of jobs out there, but not many I can be convinced to sign up for.
I was hoping for something a little more pithy than a few select survivorship-bias examples along with the concrete statements from industry leads claiming exactly what most people know, which is that there is a real age bias problem in tech. There is a discussion to be had about how aging affects your career in the tech world, but this isn't it. It's just surface-level fluff.
I don't think age bias is bad at non-FAANG corporate jobs. But at startups and elite tech companies it's very real.
My last round I made the mistake of interviewing at a bunch of startups. I could tell I already had a strike against me walking in the door at age 49. It's tough to ace the whiteboard when you know you have to be perfect to even have a chance.
I don’t think your career as a developer needs to end at 40, but I do think (as someone in their early 40s) that it might need to change for best results. Hiring processes and working environments are often built around younger developers, and don’t necessarily select for the strengths that will make a more experienced developer worth hiring at the rate they’ll expect you to pay.
The analogy I’ve sometimes drawn recently is about specific buzzwords compared to deeper understanding and transferrable skills. We used to see this sometimes where recruiters didn’t understand that probably someone who’d been working with MySQL professionally for a decade wasn’t going to struggle with a job spec that required 2+ years with Postgres. Today, there are many buzzwords around mostly peripheral subjects like development processes or cloud hosting platforms. In reality, those might be a relatively minor detail for many jobs and a 40+ year old veteran with broad experience would just pick up whatever you need in hours if not minutes, but that veteran can appear to be less qualified for the job than a 25-year-old who has spent the last two years on a team with exactly the right process and platform.
I haven’t been a full-time employee in many years, but seeing some of the horror stories about overweight recruitment processes, it looks like it could be a frustrating experience for devs of my generation who still wanted a hands-on programming role.
I think one of the interesting angles here is “the rate [these programmers] expect [the company] to pay”.
Experience has value, but it surely tapers off. If someone who is 50 and has 30 years of experience is no better than someone who is 40 with 20 or 35 with 15, why would the 40 or 50 year old expect to make more? (I think they often do, but I don’t see the basis for it, speaking as someone on the right end of that age spectrum: you’re hiring me for what I can do, not how many candles were on my last cake.)
What makes you so sure that the value of experience tapers off? In most other industries I'm aware of, someone with 30 years' experience is absolutely better equipped than someone with 15, and absolutely gets paid more. Why would programming be different?
By taper off, I mean “grows at a slower rate than previously” not “stops growing”. Mathematically, past a certain (<= 10 years, typically) point in the career, I’m saying I believe that the second derivative is likely negative.
It’s likely that an individual programmer’s competence follows some kind of asymptotic curve towards their peak performance rather than a linear (or higher order) function.
From your two comments I think you’re equating someone’s competence with literally programming but at some point literally programming is not the only path available to you in technical leadership. This is why sometimes those with more experience expect to (and are) paid more despite not outputting more code.
Experience has value, but it surely tapers off. If someone who is 50 and has 30 years of experience is no better than someone who is 40 with 20 or 35 with 15, why would the 40 or 50 year old expect to make more?
That tapering effect surely applies to some extent, if only because beyond a certain point you might keep gaining more breadth of experience but for any given role you’ll only be using some part of that experience.
Still, I’d argue that with broader experience often comes deeper understanding as well, and that tends to retain its value no matter what you’re doing. There was a big jump in what I could do straight out of university and what I could do at 25, but there was also a big jump between that and 30, and between that and 40. Importantly, I think, those changes weren’t measured on the same scales.
Earlier in my career, I was learning about specific languages or libraries. I was also learning how to operate as a professional and collaborate with others and use tools for things like source control and bug tracking.
A few years later, I might still have learnt new languages, but I didn’t really see each programming language so much as a particular programming style with some specific syntax attached, and the interesting parts were often more about the general programming style or any unique features or idioms. Similarly, I didn’t see a library so much as some data processing or a communications channel that the library provided.
Today, I mostly just see data and interactions. I’m more aware of qualitative properties of code and systems, like readability and maintainability and testability. I’d say I’m also more aware of the bigger picture than I used to be, of how we write programs to solve some problem that is defined by a business requirement or a personal itch we want to scratch.
In another decade or two, I would like to think that my understanding will have continued to develop, but I’ll have to get back to you on that later. :-)
This reminds me. Ok, he's listening now, because post-40, your opportunitities as a "code primate" devolve significantly. I ain't coming back. I was warned not to get into programming, but now I'm homeless and burned out, after toying with the software development communities on the West Coast over two decades. Good riddance. Roko's Basilisk, or some variant thereof, explains a few things.
I sure hope not. Since I turned 40 I've learned: angular, node, NoSql, DevOps/CICD, responsive web and probably some other stuff I'm forgetting.
Since I turned 50, I've learned: React, python, AWS, and C#.
The only difference I've noticed is I have to write stuff down or I forget it way more than I used to. Maybe I can't juggle pages and pages of spaghetti code in my brain anymore. But that just pushes me to modularize and break the problem into pieces - which are good things!
That's all fine and dandy and good for ya, but it means nothing on large enough scale. Many folks face mental decline around 60 years, not dramatic but slow and recognizable enough to be an issue in large teams.
Old people in IT I've met in past 17 years are always 1) excellent in domain knowledge; 2) extremely grumpy compared to young folks unless they do only what they want (impossible in large corps); 3) team work can be challenging not only due to 2)
My mom is retiring in few days. She ran basically 2 high school's economic department (that covers a lot of properties outside just school ones) for decades. School principal begged her to stay longer into retirement. Her job is crunching a lot of numbers into perfection where thousands of transactions end up matching up to a cent, and a lot of corner cases. Following closely every law change etc. They will need 3 other people to replace her. Mentally, she is facing visible decline, my father says so, I can say so. It will take few decades for it to become a real issue in general life. Great for her to retire now and not later.
My father is similar - begged by CEO of his company to work through retirement. He stayed because he was saving up for his lifelong dream - Harley Davidson. Also replaced by team of 2-3 people. +-Same story - fine health, but clean decline.
Both can be annoyingly grumpy. Both are still generally sharp mentally. But it would suck greatly for them to work more. Having a good life for them means something else.
Sorry of largely off-topic rant, 40 is IMHO fine age to be a senior dev or whatever position would be named in given company. I am 40 and exactly there, happy with how much money I get for the amount of work I put out, don't want to step up to stream of endless bullshit, politics, meetings, powerpoints etc. and loss of creativity I can do when coding. Its stupid to push people higher if they are happy there. Like that, everybody wins. Otherwise, on long term, almost everybody loses.
I don't think your comment was so bad in itself but as a reply to https://news.ycombinator.com/item?id=27653980 it was rude and undeserved. Probably that's mostly why it was downvoted and flagged. I've detached it from that subthread now.
It's all about the circumstances. I don't see myself working for a company at 40. Only to myself. I was always a lone coder. I like to learn from and teach others but hate working in groups in the same project (and God forbid the same code sections), specially scrum "squads".
At my current trajectory, I have the potential to be an industry leading engineer in the field I’ve chosen to focus (Real-time online multiplayer). I see it taking the next 3-5 years for me to release a couple high profile titles and I’ll be in very high demand. I’ll be 40 in 5 years. I want to make multiplayer games for the rest of my life, so I’m not slowing down. I may back away from coding as much, but I can’t see myself being fully removed.
This is very likely location and industry dependent.
FWIW I'm mid forties, still love being 'hands on' with tech, and am based in the UK. I know a load of folks my age and above and never heard of any age-related rejections.
As always it depends. If you're exceptional, in an in-demand niche, or low-level or CS-oriented development, it's not an issue of course.
But what if you're a smart, run of the mill Python and Javascript CRUD/Pipeline dev who appreciates quality and security? Doesn't have a fancy/name-brand degree? I found nothing in reach for someone pushing 50, at least in California. You'll be competing with a hundred 28yos with beards for each position, haha, the judge often from the same cohort.
A few years ago I was laid off from a declining company and for the first time every was not able to find a job for an extended period (see above). Devs are supposedly in high demand, right? But no one was actually interested in hiring, only playing gotcha! games.
At random, a few weeks before our family becoming homeless I was offered a remote contract for Uncle Sam on the east coast. (Side note: the team is actually diverse as well, not merely the incessant talk of it as in the west.)
Though the subject domain is not extremely exciting, it is useful and occasionally interesting, and I get satisfaction from modernizing their literal garbage code with higher quality versions. They gave me a chance and now fawn over my work... such as when I replace thousands of lines of crap with a few lines of battle-tested library from PyPI, fix flake8 errors, upgrade to fstrings and walrus, and help them move from Oracle to Postgres.
Differentiate yourself, is my advice. Note degree inflation. Don't let your network dwindle. Wish I could send a message in a bottle to myself in the 90s, don't we all.
How do we know all of these anecdotes (on Quora and here) aren't survivorship bias? How many people have left software development in their 40's, for something else (management, etc)?
Specifically, can we get figures to back it up, and not just lists of anecdotes?
Because in my own anecdotal experience I have always have had more peers younger than me than older than me, across my ~15 years of engineering (I'm in my early 40's, and started programming as a career late).
Mark Zuckerberg's alleged quote is quite interesting - “Young people are just smarter. Young people just have simpler lives… Simplicity in life allows you to focus on what’s important.”.
There's another group of people who have simple lives - empty nesters. Raising kids is time-demanding, hard work. Guess who no longer has that time suck? Guess who has over 35 year's worth of experience (and not just doing the exact same job and working with the same technologies)? Guess who knows how to turn business goals into results? Guess who knows the answers to the questions the business never even asked? This 54 year old developer, that's who!
The good news for us experienced old farts is the idolization of young, inexperienced programmers appears to be mainly an SV culture thing. Out here in the "real world" older developers are prized for their soft skills and their vast experience in knowing what's important for getting stuff done.
One should always be cognizant in reading another's writing no matter where the verbiage is written, online or elsewhere. It is imperative in this current world to think for yourself yet to be aware of the influential information that you deem important for your views and objectives. I am over 40 and have been coding for multiple decades now but if I was supposed to just stop I failed to get notice.
reply