I am 41 years old, still doing software development and enjoying it for the most part. I work in France.
Actually I enjoy it better than I used to since I find myself much more productive and I make less bad design decisions than I used to. I code daily in Javascript (NodeJs), Java and from time to time in groovy, python and golang. Being able to switch from 1 language to another, deploying in different cloud platforms also contributes to my enjoyment.
Recently I have had some bad experiences however when I had to work with exclusively young developers in very small teams (3-4 people). I did not like it mostly because either they were not really competent and did not recognize it (wanting to code on hard topics when they showed poor coding skills on easy ones) or because they were very arrogant (notably a Javascript dev who thought that NodeJs was the alpha and omega of the server runtimes) and were showing some signs of ageism. But I blame mostly the weak recruiting process of my company and management persons (for not constituting well balanced teams). Working with exclusively inexperienced (and not well recruited) people can become a nightmare.
But I am mainly worried because in France (and I think the situation is the same in all Western European countries) even if there's a shortage of tech workers, companies are very reluctant to offer decent wages and still prefer to hire young low paid people. Developers are still seen as blue collars in the IT industry and developers tend to hit very quickly the (salaries) glass ceiling. I tend to think that management persons do not recognize the added value of experienced developers. (I admit that things like maintainability or good design decisions are hard to assess).
I keep my skills up to date, but I am also considering about exit plans, well at least moving away from doing exclusively development.
This is what made my first place of employment sour. Everyone was arrogant, less than 1 year of experience, obsessively talked about how we should use the other framework or language and how it would solve all our problems (all these suggestions were driven by unbacked hype and ready-to-be-broked promises) and nobody really wanted to focus on actually getting the work done.
I agree with everything you said except for one thing: developer salaries later-on are not artificially kept down vs the value they create. The are artificially inflated when they are younger due to the scarcity of developers. This is why one can become a "Senior Developer" at 24 (such as I did) because the title is matched to the salary as opposed to the actual amount of experience it would take to be a "senior" anything in any other field.
Is there an official definition chart for terms like junior, mid, senior? I keep hearing people sneer at the presumed miss-use of those terms as if everyone knew the official definitions. Last place I worked, senior was just the dev who's been there the longest.
These terms are often defined in terms of autonomy and scope: if you can look around and see what needs to be done, break it down into workable sub-units, wrangle resources somehow (big projects tend to need more than one person working on them), and get it done, that can mean that you're "senior".
I see people on various forums (fora?) asking what number of years of experience makes someone "senior". The most common answer I see is 5. It reminds me of this https://i.imgur.com/7sws9p8.jpg
I have asked this to, and often get told senior is "5+ years" with a specific tech stack, junior is usually specifically aimed at people with no/little experience in a dev role, and mid is anything in between. Not sure how well that generalizes to other geographic areas though.
> Is there an official definition chart for terms like junior, mid, senior?
No. Every company has different definitions and different positions have different meanings. Then there is lead manager, product manager, team lead, etc.
Not only that, I've noticed the position titles are different depending on the company. A junior developer in one HR department might be Programmer Analyst in another HR department.
But generally for me, anyone with 1-4 years is junior, 5-9 is mid and 10+ is senior. But that's just my arbitrary definition.
'senior' is also purposefully being used to make a position more desirable, by sounding better. People like showing off and tend to agree to a lower salary that way.
Question: how does one become a "senior developer" if one has only worked at startups? Is it as simple as assigning yourself the title? Or does one need to work at a large organization (with large teams) to be able to use this title (with credibility of course)? What if you were the only developer at the startup?
The title will be handed out as a perk when you've been with the company for a relatively long period (on the order of a couple years), or to add and ego bump to the salary bump of an offer at a new gig.
In our field, it's a near meaningless title modifier.
I've actually seen titles being used in very different way, as a form of currency. You can offer people a lower salary for which in return they get a big inflated title to stick on their Linkedin profile. Loads of people love big titles to prance around with (especially the younger ones).
I wonder if it ever occurs to these people that I can still see (on linkedin) that you're a "senior javascript engineer" who just graduated from college 2 years ago. 2 years ago you really were a 'senior', but now it's just title inflation?
I also wonder if these same people assume everyone else with "senior" in their title has as little experience as they do.
Your last paragraph perfectly describes why as a French speaking American engineer I refuse to work in France even though I would love to live there. My salary in a flyover state in the US is 5X the best I could find in France.
Part of the problem is trying to employ people in France or, more specifically, worrying about the day when you need to stop employing someone in France.
After going through it once, I'll never voluntarily do it again.
Germany is also an issue. At a previous job, we completely moved all development work from Munich to Dublin because the added headaches caused by hiring/firing in Germany were enormous.
Our story is similar, though we've chosen other employer-reasonable locations. Netherlands was moderately bad (better than France, though); Switzerland is reasonable.
Do France and Germany have the concept of the "contractor" worker, where the company can just call the contracting firm and say we don't need the developer anymore?
I agree that developers in France are rather underpaid, but you're comparing apples to oranges.
A lower French salary comes with a number of valuable benefits which makes the take-home pay difference much smaller than what you're saying : https://news.ycombinator.com/item?id=13412599
Depending on location, probably less than you think. Because of the general shortage of developers, juniors are probably overpaid. This makes senior positions 1.5x the cost at the high end with 1.2x->1.3x at the low end.
I suspect there are a couple of reasons - especially in the newer/startup space:
* Salary. Older employees are more experienced, but, just as importantly, they've already job-hopped a bit, so their base is a lot higher. And they've probably a lot more personal financial responsibilities. All told, they're unlikely to go for the same salary as a new grad.
* Interview process. Anecdotal experience, but, the interview process is structured towards new grads. They've studied algorithms recently, so it's at their fingertips. Unless you've brushed up before interviewing you can look sloppy and unsure in comparison. This can be harder if you've an existing job and family commitments. (Note: I'm not saying you shouldn't study; just pointing out that this can happen.)
* It's hard to gauge experience. Simply because a person has been in the industry for 10 years doesn't mean that they're "more experienced". It's very tricky to gauge: it's easy to tell when someone is less experienced than you, but much harder if they're more experienced. Plus, how do we evaluate experience? Design questions? Software architecture? Looking at code they've written? It's very fuzzy, and a lot depends on the skill of the interviewer and their own experience.
* Finally, we devalue experience. A personal bugbear is hearing hiring managers say that they can train up a new grad to be a tech lead in about a year. Unless you've worked on a couple of largish projects - and seen your own designs evolve in response to requirements, I question that strategy. But, who knows - maybe I'm completely off-base there.
EDIT: I'd like to raise a final point: sometimes the impact of experience is only apparent when you've to scale your product architecture or your team. Assuming that most startups fail (i.e. never make it that far), this means most very early stage teams can get by with an ad-hoc process and/or system until they pass that hump.
All of those reasons sound reasonable, and if I were trying to come up with reasons in the abstract I'd probably come up with a list like that.
But as a programmer in his 50s, when I have personally encountered age discrimination, it's been instant. It wasn't just a thumb on the scale or issues with disparate impact, it was an obvious and clear reaction the moment I walked in the door. It's always stunning when a very pleasant and productive phone conversation becomes immediately hostile when somebody sees my face.
On the other hand, those moments have relatively been rare, and this industry is currently so competitive that they register as "I dodged that bullet" rather than anything truly harmful, although it's definitely been enough for me to see the words "culture fit" as having the definition "we practice illegal discrimination".
BTW, whenever these articles show up on HN we always seem to assume that "tech worker" means developer, but it really refers to everybody: support, manager, tester, etc. If you're a developer, there's tons of ways to keep your skills strong. But the support person who's been keeping a Sybase instance running for the last 20 years or who maintains some spaghetti netware system doesn't necessarily have any marketable skills. There's a lot of people whose skillset is essentially "I've been here a long time".
Please don’t take my points above as all-inclusive! I can imagine cases where individuals (for whatever reason) have an instinctive bias against older employees. That’s unfortunate, and it means they can lose out on excellent talent by evaluating people in terms of questionable generalizations instead of their specific circumstances.
The funny thing is...as the developed world’s population ages they’ll have to unlearn that bias.
I think this could be solved by coming up with a more common vocabulary of tech job titles.
In medicine you have technicians, orderlies, surgeons, general practitioners, anesthesiologists, physician-scientists, nurses, physicians' assistants, teaching physicians, and so on. Not to mention all the hospital administrators. They're not all "medical engineers". They don't (at least not to the same degree) require a combination of CV parsing and oral exams to figure out what their experience actually entailed.
There's some movement to create separate career paths for DBAs, SREs, etc, though the day-to-day responsibilities there vary quite a bit. I'd like to see specificity in job titles going forward. Someone who assists designers in creating brochure websites probably needs a different job title than someone designing lockless data structures from scratch. And someone who evaluates different production databases and picks the one to ship to production servers probably needs a different job title.
Stability in titles requires stability in human labor. But our whole job is automation, meaning turning stable labor over to machines. So much of our work is defined by our current perspectives, our current constructed tools; those naturally change too. I think it will be quite a while before things in our field settle down, if they ever do.
My dad made software for decades until he retired. My brother and I have been working in tech now for decades ourselves. The taxonomy of job titles keeps changing. If tech people had allowed ourselves to be pigeonholed by some older taxonomy, then a) we'd mostly be unemployed, and b) there wouldn't be many people around to do the new class of jobs.
So at least for the rest of my career, I expect hiring will be not about getting an off-the-rack person who fills a highly specific title, but by finding somebody whose past experience is a good match for the current challenges.
I agree with all that. I think it's already happening, too. You can be a "test engineer" or work in "quality assurance" and get pigeonholed easily. But one person's pigeonhole is another person's dream 9-5 job. I don't see a harm in labelling the expectations that are already there.
I think there's wisdom in waiting for established roles before defining them. "Container engineer" is too specific or at least too early. But "Relational database administrator" (or something) has been around for decades and will be around for some time to come. Maybe the DB vendors and tools will change, but experience in data migrations and transactional thinking is valuable regardless.
If something seems stable enough to try to make a career around, sure, nothing wrong with that. I'm just saying there's very little for which that is true. 40 years ago was 1977. You can find the help wanted ads here:
The ads I can find there include Computer Console Operator ("must be able to operate 370/145 and 370/418 under DOS/VS with power"), Network Control Analyst ("3 yrs exp troubleshooting lines, modems, and multiplexors"), Keypunch Operator. Programmer and Programmer Analyst positions requiring COBOL, RPG II, Fortran IV, and a lot of assembler. And IBM was its own job category.
And relational DBA is a great example. That used to be a serious job, one with prestige and promise. People were even specific about vendors; one was an Oracle DBA or a Sybase DBA. But now that's in decline. These days programmers are supposed to understand data migrations and transactional thinking. The notion of submitting requests to the DBA department worked in the days of 6-18 month release cycles, but not today. Relational databases themselves are commoditized, going from a central technology to a peripheral one. Does Google even have a relational database running anywhere these days?
Basically the only job title that has lasted is programmer, and even that has changed almost beyond recognition. Maybe we've now plateaued, and jobs will be stable for the next 40 years. But I doubt it. "Virtual server" is a phrase like "radio with pictures" or "horseless carriage". Its a sign that we know things are changing, but we don't know where they're going yet.
>People were even specific about vendors; one was an Oracle DBA or a Sybase DBA.
I can confirm it, anecdotally. I knew a guy who several years ago went to the US on H1-B as an Oracle DBA. And I've heard of and seen ads for other such cases - earlier.
Similarly for PowerBuilder or VB developer earlier, and of course you still see ads for Python / C++ / Haskell / whatever developer.
>I think this could be solved by coming up with a more common vocabulary of tech job titles.
That's a good point. I think that mismatches in salary expectation are often driven by this. I can find jobs that feel very similar, but ask for "Senior Developer", "Software Engineer II", "Lead Software Engineer", "Tech Lead", "Software Architect", "Programmer Analyst". Then, the varied use of "Junior, Senior" vs "I, II, III", etc.
These points are all very true. As a hiring manager and someone who would qualify in this study, here's my personal response to all of these:
* Salary: you get what you pay for. (Senior folks -- you need to stand and deliver.)
* Interview process: it's broken, so we actively de-emphasize rote memorization. We instead look for application of principles to solve problems, because that maps well to our work.
* It's hard to gauge experience: we find experience is most valuable when it helps in delivery. Related to interview process, we look for people who can help us deliver solutions, and experience informs us about that.
* We devalue experience: yep, and we don't. Thanks, other hiring managers, for leaving us with a pool of candidates you're ignoring!
On the whole, we try to identify attributes among candidates that we believe are age-agnostic: curiosity in problem solving, a commitment to continuing to learn, ethical and moral code, etc. It's not perfect but it's our list and we continue to improve against it with each subsequent interaction with candidates.
>Salary. ...they've already job-hopped a bit, so their base is a lot higher
It isn't just job hopping. Even if you ignore promotions to a new title, many workplaces give out yearly salary adjustments that are a bit higher than inflation. Compound interest over 20 years adds up.
Note that I'm well past 40, so I'm in this boat. There are people with a very similar skill set to mine that are less expensive, mostly because they are younger.
Some of those points are actually age discriminatory.
For example, why assume that an older person should earn more than a younger person? Instead, it's better to think about paying people in proportion to the value that they provide to the company.
I understand that many startups simply do not have the cash required to pay a high base salary. But, that's what equity compensation is for.
Nobody is assuming you should pay an older person more because they are older, but because they are more experienced. Paying someone with 30 years experience more than someone fresh out of school isn't age discrimination.
Find me a fresh out of school 20 year old with 30 years experience and I'll pay them more too.
Paying someone with 30 years experience more than someone fresh out of school isn't age discrimination.
Just because someone has worked 30 years, doesn't mean they have 30 years of experience. They may have 5 years of experience 6 times or even worse stopped learning anything new 15 years ago.
I'm in my mid 40s and I've hired developers who are older than I am and had 10+ years of C# but have never done a unit test, didn't understand the concepts of continuous integration/continuous deployment, didn't know Linq (introduced in 2008), Web API (introduced in 2011), and didn't even know WCF.
I needed developers and thought with their experience with different technologies they would be able to adapt. I was hiring based on Joel's "smart and gets stuff done".
Was I wrong. Older developers who haven't kept up with the trends for the last decade and haven't kept up with the changes in technology are worse than young developers who don't know.
As far as the pay ceiling, yes I've reached a ceiling as a developer. But not as an architect who both keeps up the latest shiney frameworks and has a deep understanding of the fundamentals.
The discrimination is disqualifying someone from jobs just because they are older. Maybe they understand that they're retraining in a new industry or tech stack and will have to take a salary decrease, at least initially. In that case, they're not given a (fair!) interview because people assume they'll want too much money.
It's likely that pay has gone up because tech workers are providing more value.
Consider an employee working at an investment bank 15 years ago versus today. 15 years ago, most value was generated by hoards of sales people and traders who cultured deep personal relationships with deep-pocketed customers. Today, tech people command a greater share of the wallet, and banks are making deep cuts to the ranks of sales people and traders.
If it were true, new companies would emerge that paid good employees more -- closer to their fair value.
These companies are emerging, though, right? 37Signals? I'm sure there are other small well-paid companies, if only from the evidence of a job ad I once saw. Now, "Compensation: Competitive" and "Compensation: Market" have been batted around for years, even around here, but this ad was for a programmer at a financial technology company and in the space for "Compensation" they put "Extremely high." Then again, those places are probably actually using the Big-O concepts they ask about in interviews.
You never see anything like that in Internet companies.
Perhaps I didn't make myself clear: I'm not asking companies to pay older employees more. I'm simply pointing out that job-hopping and personal commitments make it likely that older employees will demand a higher salary, which smaller companies may be loath to give.
I agree that older candidates typically have expectations of higher total compensation.
My point is that, either:
1. That expectation is unfounded -- they are looking to be paid out of proportion to the value they would provide back to the company, or
2. That expectation is justified, in which case the cash-poor company should find some way of striking a deal, so that they can bring on an employee of high value.
> For example, why assume that an older person should earn more than a younger person?
They shouldn't earn more, if they're providing the same value as someone paid less. But, they typically ask for more, because they have more experience (which is difficult to validate), and usually have more financial obligations.
It is up to the employer to decide if they want to pay the price of seniority.
> I understand that many startups simply do not have the cash required to pay a high base salary. But, that's what equity compensation is for.
As one gets older, it's in their best interest to become more financially risk averse, and require more predictability and less uncertainty. Startup equity is very high-risk, and therefore not acceptable as a replacement to more salary.
I agree with you that increased age does not imply increased value/pay.
I do not agree about risk aversion. I know several older software developers who have finally paid off their student debt and accumulated some savings, and are now ready to accept some higher risk compensation. In addition, I know younger workers who are in desperate need of cash.
> why assume that an older person should earn more than a younger person
I personally feel there's a point where it's a law of diminishing returns, somewhere around the 5-10 year of experience mark.
> it's better to think about paying people in proportion to the value that they provide to the company.
In general older developers are bringing experience from other projects, other industries, past crises, and soft skills that provide value (for instance, I think a 24 year old and a 40 year old have different approaches to telling someone they disagree with them)
The problem with that line of thinking is that it is extremely hard to measure the value that employees provide to the company. “Pay them what they are worth” sounds straightforward, but in reality you just can’t put a number on a candidate.
The younger candidate might be inexperienced but a fast learner; the older candidate might have a lot of experience, but might be reluctant to adopt the companies coding practices...
There’s no way to know which of them is going to provide more value in the long term; but you do know that one of them expects a significantly higher salary.
> “Pay them what they are worth” but in reality you just can’t put a number on a candidate.
I'm having trouble making sense of this. Isn't that exactly what the hiring manager does? Then, if that number is too far off, it gets adjusted later, once more data as to value comes in.
A cynical way of saying it is that since assessing employee value is so difficult, companies adopt a strategy of systematically discriminating against older candidates.
As an employer in the "newer/startup space", I have some thoughts on this:
> * Salary. Older employees are more experienced, but, just as importantly, they've already job-hopped a bit, so their base is a lot higher.
First of all, why does job hopping entitle you to a higher salary? A guy who's done 5 jobs of 2 years each, with one of them being most relevant to my position, vs. someone who's done 1 job of 10 years somewhere most relevant to my position is an easy choice. The latter will be more useful for my organization. Job hopping also seems negatively correlated to specialization, which IMO is your key differentiated value as a prospective employee.
Why should your career ADHD command a higher salary?
> And they've probably a lot more personal financial responsibilities. All told, they're unlikely to go for the same salary as a new grad.
Yeah, I can see this coming from a mile away and so I tend to not waste the time of people for whom this is the case. The easiest way for me to do this is being upfront about salary for the position.
> * Interview process. Anecdotal experience, but, the interview process is structured towards new grads. They've studied algorithms recently, so it's at their fingertips. Unless you've brushed up before interviewing you can look sloppy and unsure in comparison. This can be harder if you've an existing job and family commitments. (Note: I'm not saying you shouldn't study; just pointing out that this can happen.)
Fair.
> * It's hard to gauge experience. Simply because a person has been in the industry for 10 years doesn't mean that they're "more experienced".
True.
> * Finally, we devalue experience. A personal bugbear is hearing hiring managers say that they can train up a new grad to be a tech lead in about a year. Unless you've worked on a couple of largish projects - and seen your own designs evolve in response to requirements, I question that strategy. But, who knows - maybe I'm completely off-base there.
The factor here, roughly speaking, is IQ. Give me someone with higher raw intelligence and they'll often quickly get somewhere that someone with more experience has. Just existing and showing up for 10 years doesn't mean you're automatically better than all the 22-year-olds I have lined up for an interview.
---
I wanted to voice some unpopular opinions from the other side of this coin because it seems most people on HN resonate more with the "employee" rather than the "employer".
The latter will be more useful for my organization. Job hopping also seems negatively correlated to specialization, which IMO is your key differentiated value as a prospective employee.
That person who has specialized for 10 years probably hasn't been exposed to the five different environments with 5 different ways of doing things and being able to mix and match the best of all of the environments.
That person who has specialize may know how to code, but do they have experience talking to different customers in different verticals? Have they been involved in the full life cycle including devops?
It has nothing to do with job hoppers deserving more money, it's more that companies don't typically pay those who stick around as well. The job hopper would be more likely to already be making more money, therefore he'd have more leverage going into negotiations. The likelihood that you'd spend ten years specializing in something that is exactly what lots of companies need at the moment is fairly low, especially in an industry where the churn of technologies is high. It's more likely that they'd have ten years experience in a dated technology.
My last job search (in Seattle) took me months longer than I was expecting. This could be ageism at work (I'm 48), but I'm still inclined to think that there's a more mundane explanation: The recruitment and hiring process for software engineers has gone from crappy to damn near broken. If ageism is a significant problem right now, it's possible that it is primarily a completely unintended side-effect of how were doing hiring in the industry.
I don't know for sure, but we need to be careful about looking at obvious problems and then simply assuming that we know the explanation.
Out of curiosity, why does your LinkedIn not list months for all of the 1 year jobs you have? It seems really suspicious to me, and as a hiring manager it would almost certainly have been a red flag.
My LinkedIn profile is not my authoritative job history -- my resume is. Your first job as a recruiter or potential hiring manager is to find my resume. It's not hard.
I should also mention that when I'm looking for a job, I'm usually contacting you. If I email you I will include a direct link to my resume. If I'm applying through a portal it will ask me to upload my resume. Either way there's no excuse for people in the recruiting/hiring pipeline to consult my LinkedIn profile rather than my resume.
(Sorry if there's a little bit of attitude leaking through here, but this is a personal soapbox of mine.)
Most recruiters are going to look at your LinkedIn profile, and they won't do the digging to find your resume unless they like your LinkedIn profile. That's just the way it is, whether you think there is an excuse for it or not. You're only hurting yourself by refusing to spruce up your LinkedIn profile.
> and they won't do the digging to find your resume unless they like your LinkedIn profile
Yes, and that's a big part of my point. This is an actual problem, and we (the software development industry) should try to fix it. Or at least make it suck less.
When I switched to applying through AngelList I had much better luck, and that's how I got my current job. Part of that is that early mode startups are picky about other things than later mode startups or big companies. But mostly I think it was because actual engineering hiring managers were looking at the applications without requiring them to go through an HR/sourcer/recruiter filter first.
I would love you to look at my profile to get your opinion on whether I have any red flags, is there a way I can contact you? Just a quick glance would be great.
I see all these articles about the average employee age at startups being 20-30, and how older developers face discrimination.
Now this is 100% anecdotal, but I know a few 45+ year old developers and most of them are long-time corporate employees and are not really interested in the whole startup / bloggosphere / tech hype world. They have good stable jobs (think Perl, .NET, Java), and are mainly focused on their families and other hobbies. It’s well know that people tend to become more conservative with age, so this doesn’t really suprise me. None of them thought they were being discriminated against at all.
Moreover, my colleague worked with a 58 year old guy who started programming when he was 50+. He currently works for a super hot "big data" startup as a lead Ruby on Rails engineer, and from what I've heard, he's really, really good at his job (and very well paid).
Older developers of HN, what are your experiences?
Everyone else, did you ever witness a case where someone was discriminated based on their age?
>Older developers of HN, what are your experiences?
Over 40 here. The most difficult part is human interaction. Youngsters are obviously well behind their own hype and have their right to try. Mature folks like me take things with a grain of salt and acknowledge hard work is only a part of the picture, often not the most important. From a technical point of view, the headless chickens thing is also common but, again, youngsters have their right to believe they are Einstein, Feynman or Jobs.
The thing about being 40+ is you really start to see through bullshit. I remember working for one company that was selling a product customers simply did not want. I tried explaining this to the founders, and suggested alternatives, but got branded "not a team player" for not drinking the Kool-Aid. So it is important to work for companies that are actually doing something useful, otherwise you are going to have a hard time concealing your skepticism.
I can't be sure yet, but I'm starting to be concerned. I turned 40 recently. My current job search has lasted about 5x longer than any previous job search. I've been turned down for nonsensical reasons, such as not having enough experience in a specific language that I have a lot of experience in. (That was an assertion by the interviewer, not the result of technical questioning.) I've been interviewed several times by managers and directors 10 years younger than myself. I've noticed a distinct pattern where they'll ask very basic questions, I'll give a detailed answer than I know to be correct and insightful, and they'll say it's wrong - and I'm just dumbfounded, like what can I say? I'm not going to argue with them.
I was recently rejected by a big tech company for not knowing Java 8. I code in scala in my day job and haven't kept up with changes in java. My coding exercise language options were nodejs,java, python, I submitted solution java 7.
Interviewer said to my face( well..on the phone) that they won't be "moving forward" because I don't keep up with changes in technology and they are a 'fast moving' tech environment.
That almost reads like a joke. The guy using Scala is criticized by Java evangelists (no other word when you reject somebody because they don't know one specific language) for not keeping up with changing technologies.
Hope you found another position and can look at this experience thinking that you're better off not working there.
This may not have been an age thing, and more of being threatened by your experience thing. Could also be that they were so clueless that they couldn't put together that you could obviously do java 8. A lot of places writing pretty basic software really do think they are Google and have weird impossible to meet interview standards that no one working there could ever pass.
There are a lot of those kinds of bullets to dodge. That's kind of the point behind the concern over age discrimination. These "bullets" are more or less cover for age discrimination.
I've recently been thrown into the position of interviewing many candidates for both more senior roles than I have, and job functions I know nothing about. So I'm totally guilty of this, sorry.
We had a candidate a while ago with lots of experience in many different stacks, but none in the ones we use. I suggested to the hiring manager that ageism might be a factor here, as he clearly could learn new stacks based on his past experience, so it was reasonable to expect he could learn ours and not need as much specific experience up front. We didn't hire him, and I feel that was a bad decision when I look back. We recently started hiring grey haired men again, but only after it was needed by the sales team.
The worst example was as follows. I've been a 3D engine programmer for >15 years. I was a senior engine programmer at EA, and shipped very famous things. Recently I was interviewed by two recent college grads, who asked me to summarize the rendering pipeline. I did so. Their feedback was that I "failed to demonstrate expertise."
I'm a 40+ engineer working in startups and I can't complain - my work life is good.
I did, however, encounter age discrimination (where I wasn't the victim, just a bystander) a few times during my career. This is only anecdotal evidence, but this usually correlated with places where the management was not very mature and professional and there were other problems.
I am a bit worried about the future, but I also have some confidence that as long as I keep my skills up-to-date and demonstrate my passion and commitment to the work I do there will always be work for me. Tech companies are so starved for good talent that if you have what to offer there will always be someone interested in hiring you.
Ageism exists, and it is ugly (just like the other isms), but it's decreasing with time and will probably not be a problem in the coming decades.
Linux Engineer, 53. When my cow-orker lent me the book version of "No Country For Old Men" saying "Here, this is going around", I figured I might be in trouble. I was laid off in the middle of the bad times, could not find anything for years, and have been rebooting my career since then.
In my last interview, the recruiter said I was ruled out because I was "weak on nginx". The interviewer didn't ask about nginx, but you know, whatever.
I'm over 50 and coding in Node & Java, + related modern technologies. I am very happy where I am, reasonably well paid, and wouldn't want to move.
If circumstances change however, and I am forced to move for some reason, I would worry about landing something equivalent. I have already seen reluctance from recruiters about placing me.
I think I would probably move into contracting. I feel it's a more honest way of earning a living in the software dev world atm.
I've seen people looking to switch from "good stable jobs" not given consideration while someone straight from college would be interviewed.
Seems to me that an experienced perl programmer would compare well to someone with some academic experience and light project work. I honestly don't understand why the perl programmers aren't offered at least entry level wages with opportunities for advancement and raises if things go well. Instead, I typically see them passed over and lots of focus on recruiting university students away from other employers.
A few years ago, I was tech lead on a team doing the software for IPTV settop boxes. We were trying to grow the team out and not getting many good candidates for the position.
At one point the best candidate we had was a 60+ year old engineer with a background in compiler development. The skills he demonstrated on whiteboard coding and answering technical questions were not great but acceptable and we figured he should be able to transfer his knowledge to a new line of work.
When he started working he struggled to adapt. He had some health problems that included an organ transplant. After a few months in the role, the stress began to cause his body to reject the transplant.
It's clearl that hiring an older worker can have problems you won't likely see an a 20 year old. If I had to do it again, I would still give this candidate the chance. Every time.
"Older developers of HN, what are your experiences?"
I'm 43.
When I was younger and first started out 20+ years ago I put in easily 50-60+ hour work weeks ,but only billed the client for 40.
I was young , hungry to learn, and loved the feeling I got when I accomplished a project or tackled something new and complicated. It was self rewarding. It was not a job or even a career , it was a feeling that wow somebody is actually paying me to do something I fully enjoy.
At 43 the only thing that has Changed is my ability to put in that extra time.
I was married young and in college as well, but with no Child. At 35 we had our first child and my father had a stroke not too far after that.
My responsibilities at home raising my Son and taking care of my older parents has consumed most of my free time.
While it has not impacted my area of expertise, It has impacted my ability to stay up to date with all the latest and greatest technologies.
Even when I was younger I always had a "learn as a needed" mentality and was able to quickly adapt. That hasn't changed nor my desire to learn new things.
However, what has changed is that I have become selective on which technology "I need to learn". I also can't afford the risk to take a pay cut to jump on a new cool technology when I'm making good money , in my current industry.
Having said that now I fantasize about retirement , but not to retire. I fantasize about that extra time and financial freedom to work and learn on the FUN projects I want.
I have always wanted to get into the robotics industry to improve the quality of life for elderly people and children. I love the software and hardware intermingling and actually seeing the physical result, versus just software virtual results on the screen.
Its something I fantasize enough about , that now I'm looking to purchase a new home with the space to build my lab (mwahahaha).
In regards to ageism, Yes , I have seen it and would say its far more prevalent then the other 'ism' in the tech world.
Luckily for me I don't really look like my age and can still pass for my 30's and have worked with the same clients for 20+ years, even after switching companies.
However on paper its another thing, and something I definitely worry about if I have to change jobs or clients.
I am 37, no kids (happily! I don't want them!), burned out, tired, with several health problems due to continued neglect, in a relationship with the most awesome and beautiful woman in the world, and as much as I love programming, my soul SCREAMS for a break.
As it is though, I've been extremely stupid and short-sighted most of my life and career and now that I make more money, I am compensating for a lot of mistakes in the past -- f.ex. I already must have spend at least 2500 euro on a dentist. Other medical bills will be rolling in shortly. Also upgrading tech, saving for good washing machine / refrigerator / oven. Started buying new clothes and shoes. Etc, etc. to infinity.
Maybe in a few years I'll actually have savings and will be able to take 1-2 years of break but I quite frankly doubt it. This "mini retirement" is a beautiful dream but our system is constructed so as to keep you busy 100% of the time and doesn't care about your human needs. Still, not only the system is at fault -- we as people have to be smarter about our future, which I wasn't.
Lastly, my woman can't support both of us -- for now, even though she really wants to. Maybe that will happen one day, who knows. For now though, most of the burden is on me and it's heavy.
You remind me of me several years ago. I had a life coach at the time and he introduced me to financial discipline, in the particular form of Dave Ramsey and his debt snowball. We paid $47k of debt off in two years, and things have only improved since. We're saving to do a $30k kitchen renovation, something that would have been unthinkable a few years ago. Two years seems like a long time, but the time will pass anyway. How would you feel to be debt free at the end of it? Something to think about.
After buying the iPhone X for me and my wife, debts are the next target. Let this not sound dismissive but we don't need books and coaches to apply common sense to money; we always knew how to manage money but the income simply wasn't there up until several months ago.
I firmly do NOT believe in the philosophy of "don't make more, spend less". To us this is BS. We only have one life -- as far as we know -- and spending it trying to achieve a monk level of discipline with money is a waste of happiness of the soul.
The harsh truth is -- money does make a difference. It's absolutely not the center of happiness but it's a solid side contributor.
Many people fail to account for that.
In truth, being more happy with my woman (not because of the money -- but because of the relationship gradually developing and improving with time) also made me more financially-aware so at certain point you have to wonder if this isn't the chicken and the egg problem. :)
> I firmly do NOT believe in the philosophy of "don't make more, spend less". To us this is BS. We only have one life
You really remind me of me. I had this exact conversation with my life coach. And you're right, this isn't rocket surgery -- it's grandpa's wisdom. The difference is in intentionality. Now I decide how I'll spend my money before I spend it (i.e. budgeting). That doesn't mean leading an ascetic lifestyle; we go out to eat, and I buy beer, video games, magic cards, etc.
It's all summed up by one of my favorite Dave Ramsey lines: "A budget is telling your money where to go instead of wondering where it went."
Edit to add: We also bought a brand new vehicle because it was something important to us. $33,000. Cash. (well, almost -- we ended up paying ~$200 in interest, but that's a longer story)
Apologies for me misunderstanding. I can only hope I didn't come off as an asshat.
Point by point might be better:
- Budgeting: 101% agreed! Doing it for ~19 months now. I have a spreadsheet comparing money available vs. money spent. If I forget to put an impulsive eating outside I catch it no later than 2 days down the road. HELPS A LOT. Made me much more aware of how do we spend money as well. We didn't, like, stop eating out, but we're more conscious of the impact 10+ such meals a month might have on our budget and we made the conscious and informed decision not to splurge so much -- because we care of better investment of our money. Hard to quantify exactly but I believe you already get it. It's basically a data-driven approach, not an intuition-based approach (which is very often wrong when one has expectations and desires).
- My wife's ancient Android charging cable broke... has to be the 8th one for the 2.5 years she used it. However, since we're gonna be getting iPhone X for both of us, we figured she can temporarily use the charger of a Bluetooth keyboard we have until we get the iPhones. A new charging cable is $5 max around here. But we still won't buy it -- it's a waste of money even though we can easily spend $250 on cables and accessories anytime we want (and we recently did just that to prepare for the iPhone X). I believe this is the attitude you describe -- you have money but you don't give them for stupid crap. You're conscious about how you spend. You're practical.
- As for the car: bravo! That's how it's done. Same thing happened here with my iPad Pro. One day I was like -- crap, I am sick and tired of reading good books and watching interesting videos on my 5.2 inch screen! I am consuming media and reading material quite often. Time to invest in some eye care and convenience, I thought. Me and my wife consulted our budget, checked the money that were soon to arrive, figured we should wait one week. We waited, then ordered, I have the device for 3 weeks now, and the sky didn't fall. :D
Overall, we really were speaking about the same things with different vocabulary (me not being native English speaker surely contributes to this).
I can see us being friends.
Thanks for your calm and warm tone. It means more than I can express electronically. ^_^
> Older developers of HN, what are your experiences?
I turned 40 this year, I haven't noticed any differences. I've been contracting since 2010 and I never meet most of my clients, I guess they could guess my age from the length of my experience. I specialize in Pro Audio / DSP which seems to be an older field, maybe because it's slower changing and experience is more important.
I think racial / gender discrimination is a bigger issue than age.
>Older developers of HN, what are your experiences?
Yes, it happens quite frequently. The most common code word is "overqualified". Often used even when it's clear that the candidate and the hiring manager are in the same ballpark on expected salary.
I'm 40 and have never witnessed age discrimination[1]. I know multiple people 40+ and 50+ who work in tech and they don't seem to have any problems finding jobs (or being poached) or finding contracts. Admittedly, the people I know have all been ICs, managers, CTOs and back during their careers. I do not personally know anyone who has just been an IC their entire career.
I'm sure age discrimination happens, but I wonder if this (like many things in tech) is common the SV bubble and way less common everywhere else.
As someone else mentioned below, I think what age discrimination is out there is going to go away as the first big programming generation gets older. First, many ICs in general will be older. Second, and probably more important, is the whole generation who is getting older now is used to the skills treadmill.
[1] I wonder if age discrimination is the wrong word here. I'm going to guess it's more of family obligation discrimination. A 40 something with no kids or family is not going to be that different from a 20 something without any obligations. Age has just become an easy proxy here because many people now wait until their 30s to have kids.
Selection bias. The older tech workers that have survived the industry have done so in "safer" corporate environments. If startups have bias against older employees, they simply couldn't survive the industry there in general barring a few exceptions.
It isn't well known that people become more conservative as they age actually, younger people tend to be more liberal, they aren't changing their ideologies much as they grow. Again, this is just another instance of selection bias. Of course, when you have a family to support, you can't take as many risks with your career as you can when it's just you
Finally, younger employees are all about potential, you imagine what they could be, while older employees are all about experience (WYSIWYG). We are more generous with aspirations than reality when making hiring decisions.
Places that are less competitive where you don't have move up or move out. Others are quite successful and have their pick. It's all around the spectrum I guess.
I feel this might change when more of the current young generation of engineers are getting older since there just weren't as many tech workers 20 years ago, so it's still relatively rare to see 50 year old developers. Besides there are many places outside of Silicon Valley or the US were experienced engineers are very welcome.
I agree. My experience has been that ageist views (just like sexism, racism, homophobia, etc) are more often expressed by people of previous generations and that millennials are actually more flexible and open to the idea that they would work with someone older (or of another gender, different skin colour, etc).
Millenials express a level of hate towards the previous generations that I never witnessed before (apart from the usual teenage rebellion times). Some of the stuff I read or hear honestly scares the shit out of me, some of them would throw people like my folks or older (or younger) in a dumpster if they had the occasion.
Some of them bought into the libertarian craze, so they consider older people useless, and anyone useless is garbage that can be tossed away; but it does not only come from that side: other ones consider the previous generations responsible for anything bad (and for a wide definition of 'bad') that happens to them, and those guilty people (indistinctly guilty) should be punished.
Are these extreme cases? Probably. I hope so. But I do not remember such a trend in previous generations.
To go back to the point about work, I have never witnessed or read the previous generations express any problem working with people older than them, on the contrary, they showed (some) respect and expected some knowledge to be gained from them. I also think that the age stratification in jobs is higher now than ever. The workplace is less and less varied over the years (I do not give a damn about skin colour, I am concerned about age and social origin), and tolerance (and simply knowledge) of people with a different social background goes down.
From that perspective I'm mostly hopeful, but I find less tolerance in millennials in other ways. There seems to be less willingness or ability to put political or ideological differences aside when it's appropriate. Maybe in a more long-tail world, there's less practice in compartmentalizing and tolerance (i.e., putting up with things you don't like).
"I agree. My experience has been that ageist views (just like sexism, racism, homophobia, etc) are more often expressed by people of previous generations and that millennials are actually more flexible and open to the idea that they would work with someone older (or of another gender, different skin colour, etc)."
I think millennials are far more open when it comes to sexism, racism, homophobia, etc by far. However, when it comes to ageism not so much.
We may be looking at this the wrong way. It isn't a question of ageism, rather did that person keep up with the evolution of languages and ecosystems? It is OK to be old(er) as long as one has what companies are looking for. Waiting for the time go by and count on "seniority raises" alone is counterproductive.
I am 55. I am as current as I can be, including when it comes to cloud, nosql, APIs, and the javascript renaissance. I try to do what companies need. My experience is a bonus because of the things I don't do, because of the problems I did not cause, because of the things that didn't happen. These in my experience are valuable even though almost impossible to measure.
That wasn't an opinion, that was propaganda. It was and still is in his best interests that young people buy that line, because from his perspective young people are not so much smarter as cheaper: fewer commitments, willing to put up with longer hours.
Less experience to see through the bullshit from companies too and they do not yet really believe they are just a number in the cost center column in HR and that the company they are working with will not waste 1 second before getting rid of you.
Why would it? He will never face any sort of age discrimination; he's got so much money that his grandchildren's grandchildren will never need to look for work.
You start investing intelligence and effort where it really counts so I'd say most younger people I worked with are extremely inefficient but hyper-energetic and willing to waste time and energy on insignificant problems.
This is necessary for education of course but it's often times not contributing to a business' bottom line.
More mature people are almost universally more valuable for a business.
It drops only by a couple of points, and you can lessen the drop with regular physical excercise. I'd say that experience and lifelong education overcompensates for it.
His opinion already changed when he hit 30. I can't find the article but a few years ago he stated something like he wishes he could take that quote back and doesn't believe in it anymore.
The best insurance against age is to find some domain, and excel at that. At 40, it's not so good if your top claim in CV is "I know C++ in an out".
"I was part of a team delivering product X, Y and Z which produced this much revenue for our company and which provided this and this value to our clients. I'm experienced contributor in domain W, and am comfortable in providing value using technologies A and B." is much better.
That is, in corporate-ese, where it's all about value and revenue. Learn to explain your value, and forge a career that you can explain in terms of value. As an engineer you create value, but no one else is going to help you capture slices of that value financially - you need to do it yourself. It's not 'selling out', it's about being smart with your finances. Your skills are an asset, and if you don't know how to capture value from your output someone else will.
At 37, a software engineer, I'm pretty sure my career is more or less secure. I do things which I find interesting, but I make sure as well that I can explain my contributions in economic terms, should the need arise to find new employment. I'm not very wealthy, but neither do I need to stress out about money.
Lots of people in big companies specialize in things they think are domain specific but are really company specific, they become redundant and cannot get a similar position.
Odd to pick c++. If you are very well versed in c++ you could get a well paid job in 100s of places.
I should have defined domain better, my bad. Domain as in e.g. 'real time graphics'. True, one needs to understand what it takes to have true domain specific experience and not just 'company X widget specific.
I haven't been looking for a job in a long while so C++ might have been a bit non-obvious example. There are lots of positions where C++ alone is worthless without basic engineering level understanding of linear algebra, and it's harder to find peoples for those roles. Hence, the roles are less disposable (as long as there is a market for the product).
I know what you mean, but this was a bad example. People who really know c++ are having to turn jobs down right now. Fintech is all over my c++ acquaintances.
Your advice about clear economic terms is spot on for resumes at any age. You have to link to numbers and then try to link to dollars.
"Developed a Python API for reporting." -- boring
"Developed a Python API that handled X amount of data, with Y amount of request/s and delivered Z reports/month that in turn saved/made the company $U/year." -- this checks the tech boxes and the managers/owners box of dollars delivered.
"... this was a bad example. People who really know c++ are having to turn jobs down right now. Fintech is all over my c++ acquaintances."
Yeah, maybe some easier language would have been a better example of dangerously shallow knowledge base.
The basic theme was to give a financial valuation to a knowledge base - in your example, I presume a software engineer who had financial experience and could explain his contribution in financial terms would still have an edge in negotiating a compensation over the one who didn't :) ?
Not just negotiating compensation, but they could actually be more valuable to the company. The engineer who is always wondering 'what am I contributing to the bottom line' will make decisions that typically are more company focused. A bit sarcastic example ;) is as an engineer thinking about work to do or argue to get done. Do they rewrite some existing functionality in the latest js framework of the day or add a new feature that may lead to new sales?
Those are too broad. For aerospace, you could specialize in avionics for passenger jets, or design tools, or entertainment systems, etc...
We are seeing domain specialization at work now, though not many really saw the Deep learning coming so most of those people aren't senior yet (and the ones that did are super successful in their domains; e.g. A friend of mine has done really really well in applying DNN to speech recognition very early). In research, we talk about areas, but even these are not very well defined and people aren't really interchangeable.
We were talking about domains, not technologies. They are very different concepts. Technologies are fungible, domains have people and business experience associated with them.
> ...it's not so good if your top claim in CV is "I know C++ in an out"
There's a shortage of C++ engineers right now, at least in my region. They are getting a lot of interest and great job offers if they know their stuff.
Communicating with a lot of non-tech folk and just going out there in the world helped me realize that us the programmers live in our own bubble just like everybody else.
Now that I can express the business value of my skills, I am sought after and I have to turn down offers on a regular basis.
I'm 35 and I'm not worried AT ALL that I will be discriminated after I am 40.
I think in a way we're the golden tech generation, we screwed our elders by discriminating against them when the industry was in disruption and
now we're screwing the younger generation like in any other mature industry.
I'm saying "we" as in "my generation", I don't feel I personally took a big part in any of it.
That's an interesting angle to look at this from. It may be less about age as a number, and more about how the generations are perceiving each other. I'm 36 and haven't even felt the beginning creep of age discrimination. I'll probably always be perceived as someone who was a teenager teaching himself how to code during the years when software was just beginning to catch fire. Our generation will likely continue to hire each other well into old age.
I'm 'only' 28 and I worry constantly about this as 30 gets closer and closer. When you're the oldest developer you have to work much harder to justify still being employed, but not so hard that they start to worry about you jumping ship for 5-10k more.
The only people around my company that are around your age are the owners and the directors that report to them.
I'll be 40 in a few years but I give zero fucks about age discrimination.
I've found that most people don't really care how old you are as long as you provide them value.
But I don't work at a corporation so I guess that puts me in a slightly different position. Instead I record and sell video courses that teach modern development practices. All of that started after I was 30.
I guess my point is there's plenty of ways to live a fulfilling life as a software developer without ever being put in a position to be discriminated by anything.
Honestly I would say there's more chances of being discriminated against.
Instead of potentially dealing with HR reps or developers behind closed doors people are consuming my content out in the open and judging every video / piece of content.
Fully agreed. There are myriad of ways to continue to be a viable professional.
For me personally, getting out of the corporate bubble was extremely worth it. So much toxicity gone in an instant.
I now work with people who don't judge me by age, only by what value I create. It's liberating and it feels like you're chest-close to the business side of things where no drama or intrigue exist.
To summarize: meritocracy can work but it requires a pretty tight regulation and smaller teams.
I recruited in tech for 20 years and now I write resumes, mostly for tech professionals. I generally start talking to my resume clients about ageism around 40 as well.
I may ask if we want to keep the oldest jobs on the resume (which tend to be irrelevant anyway) or to list graduation dates that reveal age. I go through a quick exercise with clients to show how old they are "on paper", the basic formula being that we assume you were ~22 when you graduated college (or if no grad date or college education is listed, we may assume you were between 20-22 when you started the first job on the resume). If we remove the oldest job(s) and delete graduation dates, we can often mask age a little bit if that is desired.
Many clients decide not to try masking age, as any company that might discriminate based on age isn't a place they would want to work. I respect that as well.
> Many clients decide not to try masking age, as any company that might discriminate based on age isn't a place they would want to work. I respect that as well.
That's exactly my attitude. I am aware of age discrimination and I am not gonna hide my age. The people who do it aren't pleasant, and work is not only about the money. You have to like your workplace else your life becomes a wide-awake nightmare.
Not sure if it'll be a problem for the millenial generation, but I'm sure not going to wait to find out. My goal is to not need a job by 45. If by then I still have to "beg" businesses to employ me, I will have failed. That means either enough money in the bank + low enough expenses, having my own stream of income, or be good enough that I can do consulting for multiple businesses (and thus diversify my across employers).
As a millenial, this is pretty much how I'm trying to live my life, just with a "I'm good" point at 35 instead of 45. By that age I hope to have a trailer and enough land for subsistence farming all paid off. Then any employment that I'm lucky enough to find in my old age will be extra income instead of something I have to find to survive.
Have a kid and mortgage, but saving 60% of household post-tax income. We do what we can to stay lean, and have been doing that for the past decade. That means some sacrifices (e.g. no car(s)), but it's worth it for the peace of mind.
Most people on this site are highly paid software engineers. If you have one or even two of those salaries but live like the mean or even median family, you will be able to save quite a lot. If you choose not to, that's fine too. But to me, living like the median family is quite comfortable already. I'd rather use the rest of the money as a safety net.
Something like living without car is very difficult to pull off in suburban UK, I can’t even begin to imagine how one could do it in places like US or Australia. We have one car and already it limits our opportunities and the ones of our children so much that we’ve been discussing getting another for years.
I’m sure I could save more (we do eat out a bit), but nowhere near 60% of income. You must be making waaaay more than the median.
The trick is to not live in the suburbs if you can avoid it. They're money-sucking black holes :) I know it hurts to hear, since having a house and a back yard is part of the western dream, or having grown up in that environment we even feel entitled to it. We imagine our children will be emotionally scarred if they don't get their backyard, but the truth is it reflects more on our own preference than our kids.
Long story short, if you make average decisions (as compared to people in your socioeconomic group), then you'll end up with average outcomes: ones of living pay-check to pay-check, and worrying about losing your job over stuff like age discrimination.
By the way, we make about $170k household income, in Northern Europe, which is definitely more than the median here, but the difference in post-tax income is less than you'd think, with a maximum tax-rate of 55%.
> The trick is to not live in the suburbs if you can avoid it. They're money-sucking black holes
Interesting considering living in the city with anywhere near the same quality of life of living 5-10 miles away will cost 2-3x more money.
Outside of money, I'd much rather sit in my backyard and look at the marsh/water over seeing some drunk/high person passed out in front of my house.
I see you're in Europe which, based on my travels, is a much more city friendly place. Public transportation options are good, services are good, and based on my limited research there are still decent city apartments for reasonable prices. One day I play to live in Europe for a period of time and it will definitely be in a city.
I agree that suburbia can be expensive (house and garden maintenance are money pits), but city-centre living over here tends to be much worse under most parameters (from real estate and grocery prices to noise, pollution, crime and so on), because it's entirely geared towards younger people.
Also correct me if I'm wrong, but education is entirely free in Norway including university, right? In the UK universities are not free, and if you want a decent chance to get in the best ones you'll also have to pay for highschool. That's a huge amount of money right there.
We make above the median and we take home about $77k after tax. We can save about 25% of that when we don't eat out, but more than this we'd have to wear plastic bags and generate our own electricity.
In fairness to you, the UK (and rest of EU) doesn't have the outrageous levels of pay for SWEs that coastal US seems to enjoy. (Starting salary for new college grad of 100K USD is far from unheard of here.)
I chose not to completely control lifestyle expansion, but still managed to get to a point where working would be optional by 45 (last year for me) even with a mortgage and two young kids.
If you take a typical SWE six-figure salary and spend all of it, it won't happen. If you take that same salary and save 35% of it, you face a lot less pressure from any possible age-discrimination bogeyman at 45.
If you are applying for a Development job with 10+ years experience, that is wonderful. But what is not wonderful is to fill up your resume with tools/languages which are either dead/obsolete or which are not relevant for the job posting itself.
As part of a team in my office who currently interviewed and hired DevOps Engineers (I admit it is different than hiring a Programmer): there were quiet few older candidates we reviewed and interviewed but majority of them (as per their resume) seemed to be stuck in the past or it seemed there peak was 10 years ago.
And oh yes, we hired a 40+ year old whom we are extremely happy to have in our team.
Article draws a lot of conclusions based of averages and statistics that may as well be correlations as causes.
The industry is expanding rapidly. 20 years ago we were a lot fewer people. Even if we had perfect retention, the +40yo's will comprise a much smaller part of the workforce, than in an industry with less growth.
It's also not very surprising that older workers are more experienced, limiting the potential positions. But I suppose there could be an issue if you are older than average yet have mediocre skills.
I'm 40, worked in the SF bay area, San Diego, Vienna, and now Portland. Office cultures are definitely different in each city, but the chances of running into a major-league asshat goes up significantly in the areas where there's a ton of money and risk taking.
Things often become wacky are when you have a massive glut of growth, thus, you get a ton of people hired into "senior" positions without actually having to know anything.
I remember my first "senior" title was after having about 1-2 years of experience. Everyone was like that, they threw titles around like mad, in part because I think it made the company look smarter on paper for an acquisition.
Anyhow, I avoid places that seem to inflate egos and expectations, and I've had far fewer issues with age-ism. You just have to be prepared to move on when the environment gets toxic in any way.
Considering there's a shortage of labour supply in this industry, if you're good enough, at some point it is you who is screening candidate companies you'd like to work with and not the other around. And just as it's hard for companies to find the right candidates, it's hard for you to really tell how work is gonna be like with any given company. Things like ageism, culture-fit crap, ping-pong tables benefits (instead of better pay) are all great hints that give away places you don't wanna work in. Not just because those things are bad by themselves, but also they reveal a lack of moral principles that's gonna be reflected later on in the job in many other ways.
Something for students to think about, in most other careers you study for, experience is valued and you usually end up being respected and highly paid, think management, doctors, civil engineers etc.
In tech it works the other way and you will be insignificant by 40.
Those are not the same things at all. My experience with "older" engineers puts them into 2 camps:
* Those that have grown into leads, have become masters of their craft, have major accomplishments, and are still willing to admit there's always more to learn: No problem getting a job, very highly paid and sought after.
* Those that have a 20 year resume of 1 to 2 year jobs. No title progression, bad and arrogant attitudes, have completely let themselves go physically. Always talk down to other engineers, claiming how they did it 20 years ago was so much better ("why don't we use vanilla JS instead of this fancy React mumbo jumbo"). Almost always QA "engineers" / SDETs. Cannot find a job because they're not valuable, but claim ageism.
If you had a doctor that claimed that we did medicine better 30 years ago, and hopped around to new hospitals every 6 months to 2 years, you bet your ass they'd be hard-pressed finding a new job as well.
Because it's not true. The right lesson to learn is that in any occupation, tech included, experience alone isn't enough and you need to always continue to learn and acquire new skills to stay relevant.
I don't know how it would make sense for business, unless they're trying to replace you with somebody less experienced because it's cheaper. In that case, it doesn't sound like the kind of place I would want to work for anyway.
It doesn't make sense, but often people and businesses are concerned about it being awkward for someone to report to a manager younger than them. Rather than educate and reassure they prefer to avoid this altogether by not hiring older people. For many, there is also a perception that for someone to not have climbed the corporate ladder by the time they reach their 40s is a signal of failure. With younger workers this signal doesn't exist.
On the management side (non-tech) I initially felt awkward managing people older than me too. After some time I figured out that it is not that hard to have a relationship where their experience and knowledge is a good part of it. Their expertise is valued and I often ask for input when making decisions. I learn a lot. But also, they don't mind getting instructions, feedback, and training from somebody 20 years younger. We all get how the roles fit together, and my job is both to make the final call on stuff, and serve the people I manage so they have what they need and know they are doing a good job. I used to feel bad saying "good job" to somebody 20 years older than me (like who am I to say it?). Again, though, I figured out how to give more specific feedback and thank people for how hard they work and the impact it makes.
This all took a while to get right because of my own hangups. I could see some people preferring to manage younger employees because the authority relationship is more "natural" but that's surface level bs at the end of the day I think.
This is a view that actually sometimes prevents older people from managing it in market. Because of how fast technology moves, much of your experience from 10+ years ago isn't very relevant today, so if you expect a higher salary because of it you will be disappointed. It's important to be realistic and accept that if you've been working since your early 20s, you accumulate experience that might result in a higher salary, but only until you reach your late 30s. At that point you just compete in a market with other experienced people and your value (based on experience) doesn't increase much. You can still increase your value to an employer by acquiring a skill that is in high demand, but you're not more qualified than someone less experienced who has that skill.
>much of your experience from 10+ years ago isn't very relevant today
>you're not more qualified than someone less experienced who has that skill.
I'd gently disagree with this. An extra decade or more of working and navigating the relationships of a workplace, and honing a sense of professional judgment and problem solving is worth something. An employee does far more than implement a specific skill. You need some of that extra stuff too.
"You need some of that extra stuff too". Indeed. but whether you have 10 years or 25 years of that extra stuff might not make more than a marginal contribution to how you're valued.
I think there are plenty of things to learn throughout a career. I don't see why technical growth should get capped after 20 years of experience.
I do believe career growth stalls out at a certain point, though. But I chalk that up to organizational culture, not something inherent to tech work itself. There aren't clearly defined career paths where one would start out making bigger and bigger technical decisions as they gained more experience. You do see that career trajectory in management tracks, as one would manage more people and bigger budgets.
sorry that's crap learning a new tech is not a problem for a competent developer having decades of experience means you have seen problems 20 years ago the experience of which is relevant eg I was doing map reduce in the 80's that experience would directly be applicable to day even though I was using Pl1/G then and would use Python or Java today
I really don't worry about this as a 46 year old engineer. For me I still feel young and I still love tech and my age just does not factor , and for anyone who it would factor, I don't want to work for. I have always had quite a good positive opinion of my talents / knowledge (but not to the point that I am a narcissist arsehole) and that has carried me well.
I have found that working with older engineers has made me a significantly better developer. For example, it's really easy for new devs to become caught up in the latest libraries, even if they replicate functionality that's been in the OS you're (or whatever) using forever.
I was guilty of this with databases when we had the NoSQL fad; why was I giving up ACID compliance? "Because we're entering a new generation of database design, also, what's ACID?"
Shameless plug: at Aha! we have pretty decent age diversity on our engineering team (and in the rest of the company). If you want to work with us, check out http://aha.io/jobs
At 32, this worries me. I’ve already begun to plan for my eventual exit from tech.
When friends nudge their kids in the direction of building skills or a career in tech, I try to find ways to let them know how I look at our industry - a somewhat lucrative place to spend the first 15 or so years out of college, but sadly not a place to build a sustainable, lifelong career.
I wish that weren’t the case, but it seems to be true. Our government needs to step up and hold companies who have a dramatically skewed employee age distribution accountable.
I've seen plenty of people working well past 40. Lots of them don't work for "tech" employers, though. They write software for defense contractors, banks, insurance companies, etc.
“Indeed found that 17% of survey respondents said the average employee age at their company is between 20 and 30 years old, while 29% of survey respondents said the average employee age is between 31 and 35. An additional 27% of respondents said the average age at their company was 36-40 years old.
That leaves just 26% of the workplace roles for staffers over 40, Indeed found.”
This is coming from Indeed, which is a job searching site. I think its fair to infer that younger people would always look for jobs more than older people since younger people are just getting out of college and/or trying to figure out what really interests them by job hopping. I would imagine an older developer that has already his/her interests figured out, and has a network built out would visit a site like Indeed less.
I'm only 26, so you would think that I'm the "prime" years of my career, but I work for a large enterprise tech company, where I'm the only one under 40 on my team. I would say the average age overall is around 40 for the people that sit around me. They all seem to like place they work, and much more relaxed about their career future compared to me or my friends that are still deciding what we want to do.
Being 40 years old, can I play the devil's advocate?
Many older developers I know are often unemployable due to the fact they have let their knowledge stagnate, but as a 40 year old looking around and seeing older developers taking longer to find that next role, perhaps you chalk it up to discrimination.
Ageism is not really the problem. The problem is looking for that someone that will fit into the elusive culture fit. And I see this culturism as worse than any kind of discrimination practiced in the past and now (racism, sexism, etc).
What is culture in a work place as we know it these days in the realms of startup shops?
It's stuff like:
- can you be a good drinking buddy?
- do you look young and hip?
- can you carry on a small talk and talk about stuff like favorite rock band, movies at company events? Never mind that to be a rockstar coder at your young age, you never watched a movie or went to a concert BUT instead spent all your time coding and learning how to code faster/better.
- do you have any interesting hobby like rock climbing or traveling that makes you an interesting person? Never mind that having an interesting hobby will actually damage your chance of becoming a good coder, cause it will take so much time away from coding. With so many things to learn and keep up with, how do you have the time to have an interesting hobby?
- oh also, can you give a good talk on a tech topic? like a good tech sales person? But why would you want to be a coder that will surely hit an arbitrary salary cap while working full 50+ hr a week, when a salesman will make more than coders due to sales commission (while working practically a part time job)? And don't forget about all the extras salespeople get like traveling.
- are you an extremely pleasant person to deal with? Buy why? Are you hiring a sales clerk or a coder? Can a coder be just a normal human being, not one with a forced smiles on face?
- are you all of the above so that ones you refer to the company as potential hire will be clones of yourself?
- oh and can you code?
All this in workplaces that are automating human interaction out of daily work and personal life.
And now increasingly shops that encourage/tout remote working where coworkers don't see each other in person.
I'm hitting another 0-year shortly, but I have few worries about my losing my job. The thing I worry about is not having shiny assignments to put on my resume. I haven't seen a shiny assignment in years. That's probably because my employer and I have unintentionally agreed upon my best fit.
What do I do? I clean up after the cowboys are gone. We start a new project that has bells and whistles and does nifty cool things, and the young guys come in and work it because it's shiny, and they gladly put in the hours. They ship version 1.0. They add the tech TLAs to their resumes. And then they leave. Often times they go on to new shiny projects. Often times they go to newer shinier companies. And they leave their software behind.
We all know that time-to-market is everything. And the cowboys deliver the product. It may not be the highest quality work, and it may not be the most maintainable bit of code. But the product shipped, and that's what mattered.
Then comes sustaining. Time to address the warts, and when you address the warts, you see that the code has a lot of symbol names like "a1" and "b2". Yes, I know fireable offenses in some coding shops. But it shipped!
And this is where I come in. I clean up what the cowboys left behind. Usually this happens when we start addressing issues after the stabilization period is over, or start adding features the customers asked for but never got since we had to get the product out the door.
What do I do? Give symbols meaningful domain-specific names. Refactor code to remove antipatterns, mostly the copy-paste pattern. I also apply our company's coding standards with which the cowboys didn't want to be bothered. I add unit tests to code that changes. I comment the code (though it's mostly self-documenting when I'm done). I replace ad-hoc functions with calls to standard libraries our company uses that the cowboys didn't bother to learn. I apply idioms and frameworks that our company uses to allow code to take advantage of cross-cutting functionality, such as automated logging. I make the code aware of the daylight-savings-time transition. I remove egregious pattern uses people put in to say they used a pattern.
I also try to not be the expert at my applications, since I don't want to be called at 3am to resolve issues. So I maintain notes on our wiki pages as to what it takes for the software to run, and a list of frequent issues that have more to do with environment and upstream issues than with the code. I've trained our Ops people and given them analysis tools such that it's been years since I've been called at night. I also maintain a list of lower-priority code issues that weren't worth addressing, but that could use work some time.
I don't mind the cowboys. I've had a couple of them compliment me on my refactoring since they had long-forgotten what their code did. I still have this dream of being one. But for now, this is what I tend to do.
My only concern is that one day we'll get a shiny CTO who'll figure out that it's better to outsource all the IT to save money (and to give his buddies where he came from the outsourcing business), and I'll be on the street, after training my replacements. How marketable are the above skills? "Hi, I can keep your software running and maintainable." In another five years I figure I'll have made my numbers and the only thing I'll have to worry about is another 2008.
I still tell people that my proudest day as a developer was when I deleted 70,000 lines of code that I'd made irrelevant, following a year of incremental refactoring that was consciously leading up to this point. It was, in my mind, an exquisite act of long-term maintenance programming. Older coders know what I mean and grin when I tell them about it.
The company I'm with at the moment has some horrible, horrible code, but there's nothing quit like the satisfaction you get from deleting a bunch of it because you just made it OBSOLETE.
It's gotten to the point where my boss is joking that my favourite programming activity is deleting code. Cheers to us maintainers!
Sorry, I don't buy this whole "older workers more likely to see through bullshit" narrative that many presumably older folks on HN push.
It sounds awfully like the arguments that traditionally nationalist groups use against immigrants, contending they're less intelligent and accept lower wages because they're culturally inferior and just don't know better
Maybe it's just that younger workers legitimately provide better labor for lower cost. For a small startup, you really don't need someone with 30 years of experience, and it's better to spend your money on someone demanding a lower wage and will work fast.
Cheap and fast can cost you more over the long run, a truth I've seen play out over dozens of companies that could've used the wisdom of someone who did it all before.
There's a legitimate concern over age discrimination which you seem to have underscored with your comment that you "dont really need someone with 30 years of experience".
From my point of view, seeing through bullshit is not about being intelligent, but rather having experience. After you have lived through different situations, some of them shitty, I believe you can get better at identifying them from the get-go. I'm not old myself, but I definitely understand things now that would simply go over my head when I started out.
There's no silver bullet of course, but usually a company should strive to have a mix of both experienced and less experienced workers. Less experienced workers cost less and will be more willing to "deal with bullshit", but more experienced workers bring knowledge with them that can prove invaluable to a company. They've lived through different situations, and they've seen success and failures. Finding the good balance depends of each company's situation of course.
It sounds awfully like the arguments that traditionally nationalist groups use against immigrants, contending they're less intelligent and accept lower wages because they're culturally inferior and just don't know better
Perhaps you can offer a rebuttal to my arguments instead of doing an implicit name-calling?
Immigrants do work harder and offer cheaper labor, not unlike the example of younger developers vs older developers. Companies can feel free to make the trade off
Big difference in unskilled vs skilled labor. Knowledge workers do better when they are more educated and experienced, something that there is no shortcut for.
Maybe I'm being overly optimistic, but I think a lot of the discrimination is specifically anti-Boomer or anti-people-who-didn't-grow-up-with-Internet, not specific to age. If true, then 40 will be the 30 of 10 years ago.
A very small percentage of people born in 1930-1955 were involved in building the Internet. I suspect people like Vint Cerf don't get age-discriminated against -- we're mostly concerned with age discrimination against people in the ~35-70 age range who don't have specific major accomplishments.
(I was born in 79, but first got (limited) Internet access in 1986 or so, and much more Internet access in 1990. At the time, everyone was ~18-~40yo. There were some BBS people who were slightly younger, but even that only kicked off in the 80s.)
There really weren't a lot of people working on Internet technology until the first dotcom boom of the 1990s -- people who were generally young at the time. Even then, it was a small percentage of people compared to today. There were more people involved in UNIX, telcos, general technology, etc. who were early adopters of the Internet in the 90s, or who retained access from university in the 70s or even 80s and continued in parallel with their primary career, but in the mid/late 90s, "knows how to use the Internet" was still a useful selector in hiring, as it was rather rare.
There are all the other reasons why older people get discriminated against (perceived and real higher salary expectations, working requirements, location inflexibility), but those aren't as specific to technology. Hence, I think the actual level of discrimination in tech is going to fall to be the same as a lot of other fields.
BBSes were an awesome experience--modem AT commands, the excitement of getting an account on an exclusive system, chatting with the sysop, pondering the advantages of zmodem vs. BiModem... I'd consider growing up with BBSes and the languages of the day a much better primer than growing up with touchscreens and walled gardens.
I’ve operated under the assumption that I won’t be able to get a job as a programmer after age 49 from the beginning. It affects how I plan for retirement, how I look at investments, how I view my career path, etc. My wife is well aware of this and we both plan accordingly.
That’s why we have a 15 year mortgage. It’s how we plan for our kids college, etc. The goal is that as soon as the kids get out of school our monthly expenses will be as low as possible so that we can live very light or seek alternative income if needed.
Either that or I’ll complete a multimillion dollar side project. :)
I am nearing 40 and hard of hearing. So far I have survived with fellow people's help, but not sure how it would go, going forward when I am expected to be in supervisory or managerial position attending meetings, conference calls and managing people, which I am not good at, because of the handicap. I am good with technology, though, and fairly updated with cloud skills and other latest stuff. Hmm.
Please, see the video. It is an awesome informative and it will give you a lot of insight on our current situation. It is not about startups, but about the maturity of the industry itself.
As somebody who does interviews for developers in a Java shop, a very blunt view of things:
Any coding you've done more than five years ago isn't relevant anymore. I can't remember what I did five years ago. It is probably outdated, replaced or not in use any more. Looking back at my projects from five years ago, I would probably not agree with most of the code, as I've learned a lot of new things.
I do care about your projects. This is the most important part for me. What projects have you done, what was your role, what did you do, what did you use, what was the result, and what are your proud of. Also, I hope you varied your work a bit, because when I read you worked 10 years on the same system, it tells me you didn't think enough out of the box and I'd worry about your skills outside of that system. Also, surely you did smaller projects in those 10 years than just saying you 'maintainted and implemented new features for system X'.
I don't care about your Delphi, BASIC, COBOL or Java 1.2 skills (looking at your CORBA). I do care about your Java 8, mobile, and recent webtechnology skills. You don't know what the technology behind a website is? Then it's a minus, as you've missed out on ten years of technological advancements in your field. I'm not saying you should be expert in web technologies or frameworks, but at least have a basic understanding about HTML5, CSS and Javascript, what they do and what they are used for. Like, the basics.
I care little about your soft skill trainings, they might have some value. I don't care about your framework trainings, I'd rather see you use them in your work experience. I do care about your Java (Programmer 2) certification, because you are working in a Java shop and as somebody who has done the certification I know the value of preparing for the certification, and I know you are dedicated for this.
I care about what libraries/frameworks you would use, and will ask about the reason for using one over the other. This gives me an idea that you can look outside of your comfort zone, be able to accept other ideas, know how to analyze functionalities of a framework, and know that you should understand a library's internals before using it because of the hype.
I care about your theoretical/general skills: Do you know how to structure your program, do you know about SOLID principles, do you know design patterns, etc. These give me an idea if you can write larger programs, that can be maintained.
I care about how you answer my questions, how you respond to be challenged on a point, how you will defend a point, how you will convince me to use a new library that I don't know about (which I actually do) and sell me it's good points. This is because I want to see you speak the same language of the team, and can communicate your opinion in a professional manner. Get irritated or super-defensive, you probably aren't a good fit for the team, as you'll have colleagues that challenge you as well, and you will just be irritated all day long.
All these give me an idea on how passionate you are about developing software. Not passionate as in 'go spend 70hrs a week here', but passionate as in seeing software development as your craft, your reputation, your skill.
In the end I care about three things: Can your do the work in a professional way (hard-skills), will you be able to work well with your colleagues (soft-skills), and will you be happy to work here (retention).
>You don't know what the technology behind a website is? Then it's a minus, as you've missed out on ten years of technological advancements in your field.
Huh, we hired a guy who worked on the JVM and the Java compiler.
Not much web experience.
Would he have been technical enough for you?
You don't like COBOL it seems, but you do realize that web development and it's byzantine combination of random languages, document standards and frameworks is maybe even worse than COBOL was?
We have nothing to be proud of as web developers, if you ask me. At least some programmers in the 60s and 70s were discovering brand new algorithms that we still use today, not just marshalling data in JSON (JSON is a crappy XML replacement) between layers of code and the NOSQL database (NOSQL is a worse SQL) and re-inventing their web framework every 3 months.
I've never met a candidate who worked on the internals of the JVM or Java compiler, so I can't say we would hire him. I have met more candidates who know what technology is used as the backend of a website, than who know the internals of the JVM.
Also, is he still aware of the current intrinsics of the JVM and Java compiler, or was that 10 years ago?
My post was very blunt, like I said. I read through every resume I get, and I would be interested in somebody who has JVM/Java compiler knowledge.
As for COBOL: I don't need a COBOL programmer, we have no COBOL and won't write COBOL. We do have a website, which requires development though. If you had to pick one, which would you hire: A COBOL developer with no Web development skills, or a Web developer with no COBOL skills.
I have a view on web development as well, but that's a long post as well. I prefer JSON over XML, I've worked with both, and I struggled with tooling for XML, validation, parsing and the whole 'who creates the WSDL' discussion. I miss some good JSON validation though (and JSON comments). YAML I like less, because using indentation as for logic is asking for problems.
Most shops require expertise in the specific tools, frameworks, and domains they're using -- and can afford to be picky. Given the choice they will always pick the person who can "hit the ground running" over the one who "needs to be brought up to soeed". And they usually have thst choice.
Have you really read the YAML spec? It's a rather complex grammar. I get that YAML is visually cleaner than JSON; however, unless we're constrained to very trivial use cases there's probably too much to think about. JSON's strong lack of TMTOWTDI is an asset here.
As for XML: namespaces, DTDs, entities, XSD, XSL, XPath, and on and on, have resulted in some absolutely horrendous architecture astronautism. XML itself is (mostly) perfectly fine but there are too many unqualified people in the industry wielding XML, poorly, and creating massive headaches. XML also presents some interesting security challenges.
> at least have a basic understanding about HTML5, CSS and Javascript
I get that you're referring to the current job market for most Silicon Valley programmers, and are well aware and mentioned more theoretical CS stuff, so the following rant is not directed at you, but at the ignorant buffoons one sometimes encounters in this space:
I find this notion so cute that programming is front-end or back-end, or maybe even both, i.e. full-stack. Reminds me of the scene in the Blues Brothers, where the eponymous heroes enter a bar for a gig and ask the proprietor what kind of music they play there, and he cheerfully answers: "Oh, we have both! Country and Western!"
There was actually (important) programming prior to the WWW, even prior to the internet. A lot of programming solves important problems, particularly in the business world, but has nothing to do with the interwebs.
Of the magisterial 5 volumes (4000+ pages) of Knuth's The Art of [wait for it...:] Computer Programming, estimated to be completed by 2025, I believe approximately 0 are concerned with web frameworks.
These robots were water based. I'm kicking myself for not putting on my trollface and saying "Well, the back end (i.e., the thruster bit) was handled by our firmware guys; all my work was on the main control unit in the front end of the robot..."
I do feel you can distinguish between a front-end and a back-end developer. Each employ different tooling and mastered different skills. I don't expect a front-end developer to create a database model, or a back-end developer to work with photoshop.
I do expect them to know a little of eachother's work though. My comment was that you don't have to have mastered in Web Development when you have mastered in Java. But at least have some minor skill points invested in the one you didn't master. Think your average RPG: You've master sword, but not magic, and that's fine. But it's nice to have that basic healing spell ready when you just got chopped to pieces in close combat and that spellcaster in your team isn't nearby.
I agree with most of this but lots of people will go a whole career without massive changes. I do desktop dev and the tech is not very far from where it was when I joined the project 14 years ago. I still change files I changed in 2003.
If we found a good developer it wouldn't really matter much whether their skills was from 2007 or 2016.
It's not "tech" or "programming" that evolves quickly, it's just a few specific domains (web, mobile, ...).
Lots of others (desktop, embedded, ...) don't have that kind of churn at all.
True. My point is that if you've worked 14 years on a project, I'd like to know what you've done in those 14 years. Did you upgrade your toolchain, did you upgrade your main language version (eg. java 6 to java 8), did you consider webdevelopment and if so why didn't you change (I'm not pushing for web here, I'm just curious why you didn't follow the trend/hype). And what kind of substantial features/improvements did you create in those 14 years? Or did you only modify existing screens based on business specs?
Java didn't really evolve in the desktop development environment. We would still create Swing applications.
Yes, of course, sure. I mean it's a completely different world then and now (Multi core cpus, High dpi displays, language versions gone from C#1 to C#7 etc). Complete window toolkits swapped out etc. Feature set has probably grown 1000% (E.g. like Word 1.0 to 20XX).
So it's almost unrecognizable but the thing is that someone who was in on the project 10 years ago would be up to speed fairly quickly even though the language jumped 6 major versions and the window toolkit changed etc. And someone who wrote a swing app in '97 could jump on board this C#7 project and be productive immediately. The fundamentals don't change much.
When I look away from Javascript for 5 years I feel like I woke up on another planet.
> did you consider webdevelopment and if so why didn't you change (I'm not pushing for web here, I'm just curious why you didn't follow the trend/hype).
Same reason other heavy desktop apps and games aren't web based. Need the power of the local machine. It's not a db+forms app, it's a CAD+FEM package. There are of course some examples of "cloud cad" now but I doubt it will become mainstream any time soon.
Probably what is the core of the matter here is that the fundamentals of the application isn't the code that makes application tick, it's the domain logic. So while desktop moves slower than web/mobile, apps that are 90% e.g. physics etc moves slower than apps that are thin on logic and deep in presentation such as many web apps.
I suppose if our app was an AI app, then it would be pretty out of date because the domain moved so much in 10 years. But for CAD/FEM it doesn't.
> Any coding you've done more than five years ago isn't relevant anymore. I can't remember what I did five years ago. It is probably outdated, replaced or not in use any more.
I tend to disagree. Not only a lot of five years old technology is still relevant today, but someone that showed great skills 5/10 years ago has still great potential today.
Any coding you've done more than five years ago isn't relevant anymore
I've been developing in .Net for 12 years. It's still relevant.
I started using Linq with C# in 2008 and using it with Sql Server. Now I'm using Linq with the Mongo driver.
JavaScript and Bootstrap are just as relevant today as it was 5 years ago. In 2007 if you knew Java or .Net you were marketable as an enterprise developer. In 2017, you are just as marketable.
Imagine only developing .Net from 2005-2007, would you still be interested in their .Net skills if that person switched to Java and has't touched .Net since?
"Any coding/tech you've done more than 5-10 years ago and haven't touched since, isn't relevant any more." <- better?
Yeah, I was a bit too quick with the five years. It depends on the technology. 5 years of Java development you still work with is relevant. Or that great project which really stands out of your normal line of work, I'm really interested in that.
But that two-month project of C++ which you haven't used since 2012 really doesn't matter for me. I will ask about it, and you will tell me "I haven't used that since..". Or that framework you used in 2007-2009, and then died out and which nobody uses today any more, I don't really care.
> ...will you be happy to work here (retention)...
Why not let the candidate filter for this? Make it clear that you'd like them to stick around for X years or longer. Set up (communicated up front) bonuses, raises, clawbacks, etc. to make sure retention concerns are addressed.
Because candidates are not aware of the environment they get in to, or have not experienced such an environment. You don't know the company's language yet. You think you heared A at the interview, and you are not getting A. "They use continuous integration and deployment" which in their terms is a custom ant-based build system of 3000 files, while you think they use Jenkins with Maven.
Bonuses and raises are one part that influence the scale. Colleagues, maintenance work, difference in code style, heated discussions, way of working are another.
I have personally experienced it. I had happen when interviewing - the person very explicitly said that he didn't think I could do the job because I was older than 35.
This was the most explicit, but not the only example.
This is why I am so happy about the recent turn against sexism in the bro-workforce. Bros are ageist not just sexist.
Maybe the concerned workers could lay the groundwork for their own future and enact change themselves by putting ‘culture fit’ aside and become proponents for older employees.
> Indeed found that 17% of survey respondents said the average employee age at their company is between 20 and 30 years old, while 29% of survey respondents said the average employee age is between 31 and 35. An additional 27% of respondents said the average age at their company was 36-40 years old.
> That leaves just 26% of the workplace roles for staffers over 40, Indeed found.
Seriously? This conflates "range of average ages among companies" with "range of ages of employees at companies" to a galling extent. There's no way this whole argument is a typo...how does something like this get past an editor?
This is a simplified view but communicates the idea.
Some might say crystallized intelligence is under-valued in tech. That might be true. But then we should discuss that, not through the lens of social justice against age discrimination.
There's a reason the axes are left unlabeled in this graph. If you look at a paper that gives values over time for these quantities you'll find that this 'effect' mounts up to about 3 IQ points over the range discussed in the article in a population with an SD of 12 [0].
As a basis for discrimination, this is nonsense: on an individual basis you learn next to nothing about an individual's IQ if you know their age. Of course, there may be better studies out there - I'm not an expert and so don't know of them.
It looks like fluid IQ peaks around 24 then rapidly declines until around 30. Between the 30 and 50 the decline somewhat levels off.. i.e, doesn't decline a much during that period and crystallized IQ increases slightly.
After 50, fluid IQ resumes a rapid decline at a steady rate until about 75 where it really begins to tank.
But you are right, for the timescale in question the IQ difference is pretty small. I'm sure everyone reading this is very smart so a difference of 3 or 4 points shouldn't concern them all that much :)
A couple of things I wonder about, lack of physical activity (I've read) helps hasten cognitive decline. Sitting in a chair for 20 years as opposed to being active for 20 years, wonder what difference it makes? Perhaps sitting in a chair and thinking more than offsets the difference?
Also I wonder about so many world leaders being well over 50 or 60, for example Supreme Court Justices in their 80's. What would happen if a long resume didn't matter so much and we had a slightly younger (not 24 god forbid!) group running government? Just a hypothetical question.
But from that graph, if you are going to hire a 30 year old over a 45 year old (because "younger people are smarter") it appears you'd actually be better off with the 45 year old in sum (crystallized and fluid) intelligence plus whatever experience bonus.
On behalf of all old people: Fuck that, and fuck the idea that cognitive performance alone should determine whether someone in our industry can eat.
Because as much as we love to tout that every programmer is living with a house and a mortgage and a happy family, I happen to know for a fact that some are struggling to eat.
Eh. Not exactly an objective viewpoint, I know. But to maybe drain away some of the energy I just threw into that: Being old is our shared destination. It'll happen to you too. It'll happen to me. How is this a productive outlook?
I've known some amazingly productive old people. I learned from one of the best in the gamedev industry. He was my mentor, and basically a mini carmack. When I hear statements like this, I cannot fathom how people believe this myth that old people are inherently less able to kick your ass at programming.
I really hesitate to bring this up, but there's this dopey argument that HN trolls love to bring up, where they point to a certain area of science and say "Look! Black people are inherently dumber. The science says so." Yet the one black man that I was fortunate enough to work with in our industry -- one, out of six companies, there was only one -- was the most effective, cool coworker I was fortunate enough to know.
It's incredibly easy to point to some science and say "Oh, I'm objective." But I invite you to re-read http://www.paulgraham.com/bias.html carefully, and realize that if what you say is true, then our industry is populated with stellar outliers. That's the definition of bias, right? They have to be stellar to overcome it.
So why would you want argue that the stellar people that managed to get through the gauntlet of discrimination should be looked down upon?
> I've known some amazingly productive old people. I learned from one of the best in the gamedev industry. He was my mentor, and basically a mini carmack. When I hear statements like this, I cannot fathom how people believe this myth that old people are inherently less able to kick your ass at programming.
I'm increasingly old (and hope to live to be really old) but we should try to keep our personal self interests out of the conversation. We need a strong social net that works for everyone, not equal opportunity at work for old folks (or insert demographics here).
I'm not advocating we remove existing laws. I just want scientific findings to be free of chilling effects.
Personally, I'd expect older people to do better than younger people. I fear that we can't fix the human brain rotting(?) away if we deny it is happening.
We need a strong social net that works for everyone, not equal opportunity at work for old folks (or insert demographics here).
Disagree. The point of a social net is to catch those who fall, not those who dont.
I'd take this one step further though. Equal opportunity programs seem to be harmful in our industry. The moment we try to enforce a hiring quota, everyone else starts to feel resentful. That causes real difficulties in a team-based setting. I'm not sure whether those difficulties outweigh the good brought by the programs, but it's hard to argue that they're objectively good.
Rather than an equal opportunity program, it would be better to rid of our own mistaken idea that old people are less intelligent.
Personally, I'd expect older people to do better than younger people. I fear that we can't fix the human brain rotting(?) away if we deny it is happening.
I made no such argument. Again: The old people that populate our industry are the stellar outliers. They're the ones who are smart in spite of the brain rotting (such an endearing term we've chosen). Even if that's true in the general case, it doesn't matter that the average old person is less intelligent. Our industry isn't filled with average old people.
> We need a strong social net that works for everyone, not equal opportunity at work for old folks
Why set these two things at odds?
It’s hard to imagine a better way to avoid having large numbers of destitute old people to worry about than finding a way to enable them to take care of themeselves. That is, providing opportunities for employment. If that makes you uncomfortable, consider the alternatives before you reject it... e.g., higher taxes — perhaps much higher, depending on demographic trends — to pay for warehousing indigent old people Naturally, budget pressures will make it debatable whether these warehouses are actually humane, so you’ll have that to deal with as well. (You may think twice about exactly how hard your standard are once you realize you’ll be entering the same system.)
By the way, if you want to be scientific you won’t want to draw strong conclusions about employing old people from the fact that fluid intelligence begins to decline fairly early in adulthood. First, fluid intelligence is just one component of general intelligence in that model. The other component increases or is basically flat up to retirement age. Second, these measures of intelligence are not that great for predicting job performance in general much less for the small overall decline associated with aging. Here’s some reading if you’re inclined to dig into that a bit [1]. Also, keep in mind an employer isn’t choosing from a random selection of people, where the weak effects of age-related IQ differences might nudge you between two otherwise equivalent prospective hires. They are choosing between a group of carefully selected, screened, interviewed, tested candidates with a career of experience (however long that is for each individual). To make age itself a significant factor in a hiring decision is to believe you are profoundly incompetent at hiring since you must believe your other information gathering techniques are pretty much worthless.
I must be missing the point, but isn't programming literally cognitive performance?
As you age, your speed and ability to learn new things gradually decline ("fluid intelligence"), but what you've already learned and mastered ("crystallized intelligence"), can remain very strong until the end :)
But have heart! Many people have demonstrated that complex skills (playing musical instruments, and even reading and writing) can be learned well past the age of retirement.
This isn't responsive to my comment. One helpful thing to do is to paste a quote you disagree with or want to ask about.
I think you're asking "Since programming is cognitive performance, is it reasonable to discriminate against those who can't do the work?"
My answer would be yes, if they can't do the work. But out of all the old people I've worked with, only one was a detriment to the team. How many of your coworkers were? How many were old?
The problem with discrimination is that it's easy to believe. People want to believe it. That's why it's easy to say something glib like "don't be afraid, you'll still be able to learn complex skills." That seems rather like saying don't worry, you'll still be able to be a person, since people learn complex skills.
Here's a riddle: How old do you think Satoshi was? He was writing oldschool C++ in 2008. That means he probably learned his trade in the 90's.
I think it's sad that the myth that you have to be some sort of genius to be in this industry persists. It's just not true. Most jobs consist of simple work, no matter how complex the people doing it tell themselves it is. Experience is far more important than raw intelligence for more advanced work.
That's what bothers me about AI. When people say AI is a long way from [human quality or skill], it's missing the point. In most work, and even in our field, the work that most people do doesn't require human level intelligence.
This argument is kind of pointless. Hiring for almost all tech jobs is based neither on some kind of "crystallized intelligence" nor on a hypothetical cognitive potential. Rather, jobs are usually matched with people who have the right skills. When a candidate with the right skills for a job gets rejected it's reasonable to ask whether age discrimination was a factor.
One counter argument that I would be willing to consider is that sometimes older workers who have neglected to update their skills are explaining their rejection as ageism when in fact they simply can't demonstrate that they have the relevant skills and expect to be hired based on their past (and by now, not so relevant) experience.
This argument is kind of pointless. Hiring for almost all tech jobs is based neither on some kind of "crystallized intelligence" nor on a hypothetical cognitive potential. Rather, jobs are usually matched with people who have the right skills.
Not in my experience. It's all about whether a candidate can come in and learn quickly. The skills are nearly irrelevant.
Which makes sense. What are the chances that you're going to be versed in every technology a new company uses?
Also, the idea that old people need to have exact skills is harmful. Our industry changes so rapidly that the old people are the most likely to have resumes that don't reflect their potential. Nobody believes them when they say they can learn just as quickly as everyone else.
I'm not sure what your experience has been, but mine (more than 20 years of working in several jobs, doing quite a lot of hiring myself) is that there are two main tracks:
1. hiring promising interns and graduates - no relevant skills but the hope is that they're so smart they'll be able to learn quickly
2. hiring people with very relevant skills - either they've already done the exact same thing at another company or they've done something adjacent and quite similar and can probably handle the switch.
The 2nd track is the bigger one by a wide margin, for the simple fact that people are only 20-something-recent-graduates once in their life time, but tend to move to new jobs several times during their career.
I'd like to posit that the reason you've seen more of the latter is because you've hired for more of the latter. I assure you, if you were to look for well-rounded, motivated developers that didn't have the immediate skills you need, you'd get the same work done. Usually more effectively, since the people who don't have the skills usually feel they have something to prove. Their work turns out better.
Unfortunately, there's not really any way to prove this. I wish there were, since it'd be quite nice to demonstrate it. All I can do is say what I've seen.
I don't think that I'm inherently biased against promising candidates with no skills. Heck, I used to be one myself. Perhaps it's just that in the fields and company types I've worked at most (startups) that's not usually what you look for. The promising recent-graduate scenario is much more common in big corporations where people plan for long, linear careers. In the startup world the average time for someone to be at the company is 2~3 years, and the roles usually get filled only when there's a burning need to get the job done right now. So it could be that I'm not aware of what the correct proportions between the different tracks are.
It reminds me of a quote. The British number theorist G.H. Hardy, in A Mathematician's Apology, one of the most widely read books about the nature and practice of mathematics, famously wrote: "No mathematician should ever allow himself to forget that mathematics, more than any other art or science, is a young man's game."
Basically, the claim is that people over the age of thirty being productive in math is an anomaly. However, I've never used any advanced mathematical concepts as a programmer so I doubt my quote has any validity here. I imagine things are different in data science but I only concede because I have no idea what data scientists do. It just feels like magic.
> Basically, the claim is that people over the age of thirty being productive in math is an anomaly.
It can be speculated that young people often don't have a family and are eager to prove themselves to the world - so they have both the environment and the motivation to work extra hard.
By the same token, alcohol consumption has been shown to lower IQ over time, so should we value sober job candidates?
"People who have been drinking large amounts of alcohol for long periods of time run the risk of developing serious and persistent changes in the brain. Damage may be a result of the direct effects of alcohol on the brain or may result indirectly, from a poor general health status or from severe liver disease."
Startups and such typically don’t want young people because their smarter, it’s because their more gullible career wise. Sure some people get a bit stale with age but some also get far far smarter and their experience can be very valuable.
“Hey guys we have no business plan or customers, but please pull a few more all nighters to finish this bit of code.”
22 year old living with 5 roommates is like “yes sure, whatever you say” while 40 year old with lots of experience is like “you don’t know what the F you’re doing... I’m outta here.”
It’s also family and responsibility. When I was young and single I had no reason to really go home after work, so I’d linger at work to finish things and I would work on work things at home in my spare time. Now that I’m married, I have more important things to do and my company gets much less free labor.
> When I was young and single I had no reason to really go home after work, so I’d linger at work to finish things and I would work on work things at home in my spare time.
I am 23 (started working in programming at 22) and this view confuses me. I don't want to sound rude but... you didn't have hobbies? Friends? Partner? Errands to run? Non-work programming projects? Even when I was single and lived alone, I had plenty of reasons to leave after 8 hours.
Again, everyone lives life differently but I can't imagine having no reason to leave work, at any age.
"I am 23 (started working in programming at 22) and this view confuses me. I don't want to sound rude but... you didn't have hobbies? Friends? Partner? Errands to run? Non-work programming projects? Even when I was single and lived alone, I had plenty of reasons to leave after 8 hours."
When I was 23 I had a very active fun social life as you appear to have as well. BTW I had the same opinions as you at that age as well.
The difference is most of those activities are at your discretion and OPTIONAL and you have enormous amount of 'myself' time available . When you have kids and a family your OPTIONAL activities diminish and your 'myself' time is non existent, due to REQUIRED commitments.
In addition staying up to 3am or 4am or all night sometimes was common for me at that age.
After having a kid and family you can still do that. The issue is your kid doesn't give a F that you stayed up till 3am to fix something and you have to take care off all your REQUIRED responsibilities throughout the day. After a while it takes it toll on you.
Good point in differentiating between optional and required activities. I definitely think it is more important for a father or mother to work reasonable hours than someone like me. I just don't like the attitude some companies have that because I am 23 I have nothing to do so of course I'll work longer than I need to.
Agreed and I didn't mean to suggest your time is any less valuable , its at that age you have more freedom to decide what is a priority when it comes to optional time allocation and flexibility to shuffle the time.
BTW companies especially the big ones will push you as far as your demographics or industry will allow them too. Their priority is too push the "what is acceptable line" furthest as possible to save that dollar. The smart ones know better of the consequences, but most are too focused on the quick savings.
BTW when I stayed late or worked for free it was never for the benefit of the company. It was always for my benefit as I was never under the illusion that any company considered me more important than their bottom line. I viewed giving away my free time as an investment on my part to get experience in something that benefited me in the end.
Not the OP, but I had a similar view when I was younger. It was a mix of (a) no errands because all of this was exported to other services, (b) no partner, most friends were also busy so I only was hanging out with friends 1-2 evenings a week, and (c) I've never had non-work programming projects (then or now). Most of my hobbies were solitary activities I could do at home, and since they were flexible, it was easy to shift things around when I was bored enough to spend extra time on work related things.
Some people might enjoy the work they do so much that it feels better to keep doing that in their spare time rather then having a hobby, time with friends, partner, errands (specially those), etc.
It's not healthy in the long term but I can see why someone would choose that path and it doesn't have to mean this person "doesn't have a life".
You'd be surprised how much a family sucks time from your life. Before baby, I had plenty of time to overtime work as well as pursue my hobbies. Now that is all gone....
My point was that, at 23, I also have no time for overtime work. Not because I have kids to pick up or take care of sure, but that does not make it OK for companies to expect long hours outside of emergencies.
Ah, I've never been in that situation before. Many of us often overtime because we want to get something accomplished, not just for or even primarily for the company's good. That we get paid to do what we love is kind of a bonus, but it isn't the main motivator(well, we need jobs that are interesting enough, and we need money to provide for the family).
When you have a young family, those things are both much more numerous and much more important.
Right now I am more resentful of the forty hours a week I spend at work than I was of the seventy I spent at work during the period I was practicing over twenty hours a week for a national dance championship.
You should save this comment somewhere and get back to it in ~10 years if you happen to be married and have a kid :) I'm not being snarky or anything, I used to think the same.
You'll soon realize that side projects, friends and hobbies are nothing to be compared with having a spouse, responsibilities and taking care of a young child or an elderly.
The grandparent post, when young and single, did not seem to have anything else to do than work. I am well aware that people with kids are busier than me. My point was that being young and single does not make it fair to your employer or anyone to expect ridiculous hours. I was just surprised that someone would willingly do it and have little else going on in their lives.
This is VERY good analysis, everything else is padding to validate why 40 year old are not good fits.
It is puzzling that most business owners prefer to save their imagined superior position than to get the job done.
Sure I have seen ton of problems (and solved most of them) in 25+ years of carrier and I can be of great help in any startup. My caring for the company and input should be welcomed, not seen as threat.
It seems that most business owners are there because they need to be worshiped, not because they want to run successful business.
Higher-ups and execs don't care if you're mediocre and barely get the job done as long as you kiss their ass and take their low pay to make them look good and get their bonuses.
I understand that to some degree, there always was and will be crappy companies. What I don't get is that great majority (say 95%) of companies I encountered in last ten years were all about 'earning on salaries'.
In the entire hierarchy of the company there has to be somebody that recognizes quality and experience over job barely done (or not at all).
I see companies that prefer gullible as make pretend role playing, there is no money and business is barely moving along but hey at least I am owning something.
Just don't get it I suppose. I did run successful company then sold it at its peak, but it was never about role playing while I was at the top.
I think this attitude gets in the way of finding what is really happening. Are there companies with bad management? Yes, but I think that is generally the exception. As someone who has been a manager and a 'higher up/exec' at various points, I never cared about someones age. I wanted people working for me who could get the job done so I could get my bonus/promotion/whatever. No managers that I know want mediocre or ass kissing, because none of that helps get the job done which is what really leads to more money (through bonuses and advancement).
Well it turned out that the legality of what the startup was doing was extremely questionable and ethically a line I couldn't cross. They are a quite notorious outfit still running.
Basically the objective was to rip as many people off as possible by buying up a scarce resource and then inflating the price. They have faced legislative and legal battles and protests outside their HQ since. They had to move to a foreign country in the end.
Me, I went to lunch in Subway over the road, scoffed a meatball marinara while contemplating the situation, concluded "fuck this" and went home.
Plus I arrived to a world of no source control and ADO datasets in .Net which nearly made the meatball marinara come back out again.
Not a surprise when there are job recruiter sites out there that explicitly discriminate against older applicants, going so far as to actively remove profiles of anyone older than say age 26 (JobRivet was one of these sites - they're now defunct.)
Do not buy into the whole victimization of you based on your age. Resist this temptation.
The truth is that some "old" people are actually "weird" as are some really young people may be "annoying".
Of course the typical 60 year old will not fit in with a bunch of mid-20's people working on the next Godforsaken social sharing app.
DO NOT FALL FOR VICTIMIZATION TALK.
Everyone has a choice of how they save, invest, learn and who they associate with.
Do not like many companies and how they operate? Good, me neither.
Do not like drab catered lunches amd having to eat with assholes and listen to their vapid conversation? Good, I hate it too.
Don't want to work with know-it-all 20's kids (one that you probably were too at that age). Good, I don't either.
Therefore I don't.
I'm an independent software developer and stashing away as much of my money into Rental properties, Bitcoin, dividend producing investments and boring but safe bonds.
If you are worried about losing your job for ANY REASON, then it is your fault amd responsibility to fix your own emotion state:
- why did you take on a bigger mortgage than necessary?
- why did you spend 10's of thousands of dollars on a fancy car (or borrow the money for it)
- why did you not invest your money to work for you.
Instead of you working for money (by 40 you should be able to pull in minimum wage for sleeping and doing nothing).
But most people screwed their 20's and then maybe realized late 30's that there's a thing call Passive Income (as defines by tax code) and Investment Income.
We have a generation of men and women who made terrible life choices and now are shocked that they feel the need to continue working with young people.
Now the victimization brigade is coming to tell you that "It's not your fault you are being discriminated for your age".
Fuck yes it is. Why the hell are you working with assholes?
No one is preventing you from starting your own business, doing amazing work as an independent consultant or pursuing additional lines of income.
What did you think was going to happen when you got older? That's right, you will be treated as you treated older worker when you were young.
Heck, I just called my father "old man" for his birthday last night. Is that discrimination?
Yes.
Is it UNFAIR discrimination?
NO. He did live a longer life and is factually older. Who knows, I may not experience as many years as him. It is FAIR discrimination in a lot of cases.
Only unjust and unfair discrimination is what we should concern ourselves with. The article makes no attempt to articulate beyond a bunch of numbers cuz "discrimination"
Do you have any proof to back up this very large claim?
As my own personal anecdote, I would say that it's the exact opposite. The only time I see claims of age discrimination are from people who have grown into a very awful attitude.
Actually I enjoy it better than I used to since I find myself much more productive and I make less bad design decisions than I used to. I code daily in Javascript (NodeJs), Java and from time to time in groovy, python and golang. Being able to switch from 1 language to another, deploying in different cloud platforms also contributes to my enjoyment.
Recently I have had some bad experiences however when I had to work with exclusively young developers in very small teams (3-4 people). I did not like it mostly because either they were not really competent and did not recognize it (wanting to code on hard topics when they showed poor coding skills on easy ones) or because they were very arrogant (notably a Javascript dev who thought that NodeJs was the alpha and omega of the server runtimes) and were showing some signs of ageism. But I blame mostly the weak recruiting process of my company and management persons (for not constituting well balanced teams). Working with exclusively inexperienced (and not well recruited) people can become a nightmare.
But I am mainly worried because in France (and I think the situation is the same in all Western European countries) even if there's a shortage of tech workers, companies are very reluctant to offer decent wages and still prefer to hire young low paid people. Developers are still seen as blue collars in the IT industry and developers tend to hit very quickly the (salaries) glass ceiling. I tend to think that management persons do not recognize the added value of experienced developers. (I admit that things like maintainability or good design decisions are hard to assess).
I keep my skills up to date, but I am also considering about exit plans, well at least moving away from doing exclusively development.