But it really comes down to "good enough". Companies have some pre-determined pay scale for a new position, and more experienced applicants typically want more pay. Given two candidates, both who look like they might be able to do the job, companies may choose the less experienced (cheaper).
While the younger candidate may provide less overall to the company, the difference may be not only difficult to judge, but it may be impossible to test given that you cannot try both options.
And in terms of design, I would argue that humans are so varied that often even really horrid designs attract business. That's not to say that younger designers make worse designs, but that sometimes practically anything would work; it just might bring in a different audience. The result could be the same in terms of bottom line.
What I've decided at this point in my life is that we older people need to either go build our own companies/opportunities, or just roll with whatever job and find our personal satisfaction outside the office. Or just travel a lot to lower cost countries, work a lot less, and have a lot of fun :).
The problem is the massive influx of newcomers to the industry who have no experience and crow very loudly that experience doesn’t matter, or that their 6-week bootcamp is as good as a degree+decades of experience. Well the joke will be on them too one day, they are just too inexperienced to realise it.
The second is not worth 2x the first... but what's the delta?
The reason why is pretty straightforward but I don't hear it talked about much. Any human mind is pretty good at solving a problem, and two heads are better than one. But the bottleneck is the basic communication between people.
So the more contextual background (experience) one has in a problem, the faster one is able to explore the problem space and iterate before he or she begins writing the solution in the real world. That's not going to be replaced by Agile or any other workflow in the foreseeable future.
I saw this firsthand from my supervisor when I had a 1 year contract at hp in my mid 20s (he was in his 40s). I was used to dealing with C++, compilers, some scripting with PHP and Python, that sort of thing.
It took me about a day to complete a ticket like writing a method to, say, load some data and show it on the screen in C++ or HTML. Meanwhile he was swizzling data in spreadsheets, piping it around the shell and doing deep analysis on it in large single passes in a functional manner with the vector and matrix processing techniques of MATLAB. He'd go from unstructured data to a report in an hour or two. Stuff that would take me days, weeks, or not even be feasible with the techniques that I was used to.
I look back on that year as being as important to my education as all the years before that and college combined. My only regret is that I see so far now that it almost hurts to write the code where the money is. A deep reservoir of discipline and frankly stamina are needed to protect the mind from being drug down by the antipatterns surrounding us.
Even if that’s true, most companies are at most looking at the next fiscal year and VC backed funds are just looking to survive until their next funding round or to their exit.
I am actually a similar age to the OP. I am 49, not far off 54 in % terms. I have 19 years of Python experience.
I recently started a new job, my 3rd time in consumer finance.
Two months in, I already understand the business far better than the two year mark of those two previous roles. My direct productivity is at least 3x me ten years ago. My likely impact on the business is 10+ times more.
Plus I still work harder than virtually anyone else I know, regardless of age.
So what's the delta?
For instance, you would probably say I am only half as productive as the data scientists I manage. I only get to spend an hour or two a week doing hands-on modelling, so I just don't have the same familiarity with the techniques and tools.
But in terms of influencing output, I can have a five minute chat about the goals and context to their work and save them a week of fruitless effort. So in practical terms, my productivity is far higher.
I could easily spend a bit of time to improve my modelling skills a bit. But the law of comparative advantage suggests our junior engineers should build their skills while I coach, mentor and set strategic direction.
In fact, to give another very practical example, this weekend my company Oakam is hosting the European Pandas core developers (https://python-sprints.github.io/europandas2019/) in London. My own personal contribution to Pandas this weekend will be minor. But I am far more effective by being able to provide the venue and fund travel grants so 30 core developers can collaborate together.
The low-hanging fruit in ML is absurdly low these days, the tools are very good and there is loads of sample code available. If you were already good with Python or R, and already had some nice clean data, you could be doing something useful with Keras in a day, no joke.
> you’re probably not as good as you think you are
Here is one reference point for you... Check out the 1992 winners of the ACM Programming Competition here. I'm second from the right in the photo.
When I was younger, I could focus on the craft of software engineering, but as I age, I feel like I have to branch out my skill set as sort of a safety net to ensure that I'm still desirable.
My one comfort is that my network is vast compared to when I was a 20something, and now when I look for a new job, I just ask my network and the recommendation they give is usually strong enough to get me in the interview room.
As an aside, it is interesting how we sample a demographic at a point in time and then think that's the perpetual state. For instance when I was a teen, gaming was dominated by my age group. Being an adult that gamed was rare. As I aged the average age of gamers moved up with me. Now I drop in a game of pubg and almost everyone is late 20s to 40s.
The same thing has happened in software development. I was in a massive wave of the expansion of software development as a career, and at the time it was seen as a young person's game (and was naturally dominated by the very young being a new field largely with new positions). As the years passed the average age inexplicably moved higher. It trends down somewhat as new generations joined in, but being a developer in your 40s was incredibly rare 20 years ago. Now it's incredibly common.
But some of the stereotypes in both still hang around. In the same way that we chuckle about "old people" not understanding technology (e.g. "VCR blinking 12:00"), because many grew up before technology was so prevalent. But now I would make no premature assumptions about the knowledge or capabilities of a 50 year old or a 25 year old.
Yeah, that's the thing: the compulsion to learn stuff not because it's good technology, has staying power or even helps you solve a particular problem... but because it helps you look like you're young and "with it", and ...
less of a dinosaur.
I’m in my mid 40s and I’m constantly looking at the jobs that are out there and making sure that I’m keeping up with the latest tech stack. It’s not like I could still get a job programming in my first language - 65C02 in the 80s or my first professional job writing C on DEC VAX and Stratus VOS mainframes.
I wouldn't be surprised if it takes someone with N++ experience to reasonably evaluate the value brought by someone with N experience (cue: Blub paradox). So, yeah, a bunch of people without experience can easily be blind to the value being brought to the table by experience.
I would expect experienced folk to better understand people, have figured out how to work effectively in a team, strategically prioritize what needs to be done, nudge meetings/conversations in the right direction, and mentor younger team members and help them out with advice in tricky situations. If your mental model does not value that, of course you would not value experience. You need a critical mass of experience in an organization to do this effectively -- it can't just fall on the shoulders of one person in middle management with a few years of technical experience and an MBA.
If you step back and defocus, the above qualities look a lot like leadership pixie dust sprinkled liberally throughout the organization -- the lack of which correlates with several repeated failure modes one might see in young Silicon Valley companies today.
Addendum: I'm not fond of the headline as it stands; it robs the dignity off age/experience.
> no mortgage
Downside: can't make down payment and perhaps never will.
Yes but software engineering pays enough that you don't need to go to Google or Facebook or other unethical ad companies to live decently. My salary is probably below market rate (which itself is way below google-level pay) and can still buy pretty much anything I want while having enough left at the end of the month to have near-0 concern about my future.
(Not living in the US, so not worried about a health problem bankrupting me or having to pay ~100k for my kids college)
In Seattle, 3000 sq ft homes go for a floor of about $750k, and that's in the extreme south end of town. In SF, try $1.5mil. $500k+ in the outer extremes of NYC. Average developers can't all move to whatever cheap metro you're describing; there simply aren't enough jobs there.
I must be imagining things that I’ve been doing pretty well for myself in Atlanta for 20+ years....
And posters on HN wonder why
I always rail against the Silicon Valley/HN bubble.
Do you think all the average west coast developers can move to Atlanta? No; there aren't the jobs. And if/when there are, housing prices rise correspondingly.
I'm glad ATL works well for you, but it isn't the average experience.
Why isn’t it the average experience?
They rent instead.
Rents are usually higher than mortgages for the same kind of property...
Because they're 20, that's the point.
I see a lot of young people making assertions based on race and other indelible characteristics, with the idea that doing so is somehow intellectually and morally worthy. Back in the day, someone proposed that people should be judged on the content of their character. I would urge young people to be wary of those who try to attach negatives to indelible characteristics, like age.
Software Development comes down to a whole lot of cost/benefit tradeoffs. A project can accumulate tens of thousands of those. The valuable sort of experience in software actually comes in the form of well generalized cost/benefit decision making heuristics. There are also poorly formulated cost/benefit heuristics which can prevent the creation of value. (The worst of these, being unfounded bias.)
I think a big part of the problem, is that those who don't have such experience aren't in a good position to evaluate how good or bad someone's heuristics are. There is a tendency in situations like that for people to fall back on their own biases.
And secondly, they often just care about getting the thing done. Your potential value in other areas matters much less in the now, and unfortunately "the now" is primarily what modern companies are focused on.
More importantly what we deliver costs significantly less to maintain.
For managers in for-profit  companies there's a clear argument for why you'd want to hire us:
a) There is a significant $$$ value that comes with a 5x increase in project throughput. 
b) Maintenance costs make up >= 60% of the TCO for your software. 
 I realise this excludes most of the companies represented by the folk who frequent HN these days.
That might be true above a certain level of complexity. But a majority of work is often mundane stuff that even the 20-somethings can do in their sleep. And they're just as fast at that.
Also, I've met some pretty slow 45-year-olds.
Which management is often too inexperienced to appreciate the value of.
I would say that if that is how you work you are old, or old beyond your years.
Might be just me, but that sounds like an ego problem more than anything. And it can come from either direction, too:
* It might be that an experienced engineer is looking down on his (it's usually a he) younger peers on grounds that "look kid, I've been around a lot and know better".
* It might also be that the youngsters don't recognize, because of their lack of experience, that these past experiences actually are relevant in the current context.
For many years, the Smalltalk community tried to get a certain message out to the public, but it didn't get across to the mainstream programming community nearly as successfully as what Chris Granger managed to do with Light Table. I think the lesson there, is that the onus is on the people who have the hard won experience and the valuable contrarian view to explain it to everyone else.
Are my gut instincts still correct, or were they correct in the previous context, and now not so great? How do I develop a heuristic for telling the difference?
Perhaps this is why, "The unexamined life is not worth living?" One needs to constantly re-examine one's experiences with regards to first principles. This way, one can wrest generalized experience and rational decision making up out of the mire of gut instincts. Toyota's "Five Whys" is a good first step for that.
This reinforces my opinion that companies probably are better off on average by choosing younger (and cheaper) candidates. I'm not the younger/cheaper candidate, so I'm not being biased.
The real and more serous issue is that discrimination is not rational. It is not about value or merit, it is an innate dislike, to varying degrees, regardless of merit, circumstances and value.
It has happened/is happening to other groups and the pattern is identical. It is probably a bit confusing because the group affected has generally never experienced it before. It may also be useful to a persons morale to convince themselves that if they only try harder, they can get any job. A pattern that might have actually worked when younger.
But even in this thread you have comments of the form "all people over 40 are X". And you have this in every thread on this topic and, because agism is generally acceptable, it includes language that, at least on this site, would unthinkable used against other groups.
To such people your abilities and price are irrelevant. While relevant skill is certainly a necessary condition to employment, it is in no way sufficient. Where bigotry is not overtly used, irrelevant conditions are piled on (such as randomly chosen college exam questions or culture fit) until the candidate can be plausibly dis missed.
So until the underlying irrational distrust and dislike is addressed, all the merit in the world will still only get you employed shrinking subset of organization.
Something is better than nothing.
Flexibility is the key.
Think it is day 1. Helps to keep learning.
That ruined the entire article for me, might have as well said machine learning on the blockchain ...
The guy's probably just an arse.
Not sure if it's statistically valid or what, but anecdotally the loudest "older people" are the kind who start and end every conversation with "Ugh, kids these days! Am I right?! Back in our day, bla, bla, bla..." I believe this sort of thing does make people think the geezers might be somewhat out of touch with the present.
Generally, this is just an attribute of traditionalist society. According to it, only older people can be president (for youngins don't have the requisite "wisdom"), women should choose family over career or the necessity for the older people to shit all over the "youngsters today".
Let me elaborate. My central point is that traditions rule in traditionalist society and generations dismissing each other is not unique to programming community. I did want to add that to change the status quo guys like the OP must outshout the more traditionalist voices, but I thought that was self-explanatory.
An example of the latter is Emile Ratelband  who argues he shouldn't be held back by traditionalist assumptions about his abilities due to his age. I support the man.
I'm curious that the information in this quote is characterized as "bla, bla, bla." When I see a politician mix up climate and weather, isn't it valuable for me to tell about how we had piles of compacted snow at the end of our driveway, we could literally tunnel rooms out of we could sit in? (Today, the same region is lucky if they have a white Christmas.) Why isn't that information useful and relevant?
When I see a programming community make the same mistakes other similar programming communities made in the past, isn't this useful information?
Your comment suggests that you have a bias, automatically assuming the experiences have no worth.
You can see the problem: If it's OK for one group to be dismissive of another group because some members of that group are dismissive of them, then it all immediately blows up. There just needs to be one jerk somewhere. And of course we are all part of multiple groups that don't necessarily overlap 100% with others around us so if you take this approach generally you end up being unable to get along with hardly anyone.
I'm hoping people can usually look beyond the most obvious outward physical characteristics of the people they interact with. It doesn't seem like it should be a lot to ask -- it's in everyone's own self-interest after all -- but it doesn't always work out.