It's partly self-encouragment, part PR. The fact that it even exists is proof that the author is facing some issues, no matter how confident they would like to appear.
That recipe to stay current looks tiresome. Listen to two podcasts, two webcasts, subscribe to four magazines, teach courses, go to one conference per year, blog regularly, read blogs, follow the latest web trends. Your reward: you are still employable.
And why is it that most older people answering on these threads are so passionate about learning and about new technologies and the latest and greatest javascript frameworks. Do they really enjoy having such ephemeral knowledge and basically competing with anyone that's finished a bootcamp or not even that?
It all seems fake. Like they're trying to put on a brave face while at the same time being scared and trying to convince themselves that all this new and shiny tech that they work with is awesome.
Why not have an honest conversation instead of pretending that learning some thing or another will make everything ok in the end?
What makes you think older people are passionate about the latest and greatest JavaScript frameworks? That is not my experience at all. New frameworks are just the same old stuff in a new wrapper. We've seen it all several times over. Like, backprop was a cool thing in the late 80s.
I, too, find this post sad, but probably not for the same reasons you did. This post, that makes me and you sad, doesn't make it any less of a fact that the young people in this industry think you are a useless dinosaur if you don't know what the new hot thing is about.
Indeed, ageism exists and it's a form of discrimination. There are societies (e.g. japanese, korean, central/southern european) where ageism works the other way around, at the expense of younger people.
In both cases it's still discrimination and we should acknowledge the problem and fight it instead of trying to look/act younger or older.
I have the feeling these posts are not at all representative of the domain, and neither are the proposed solutions to just learn more, but it's all I've seen so far.
More of the same thing is not bringing us any closer to solving this very real issue.
Welcome to the technology industry.
I'm not old, I've just past "il mezzo del cammin della mia vita" (meaning I'm 36), and I have to say that the latest and shiniest JavaScript frameworks are pure and utter shit, and I say that as a guy who finds languages like PHP decent enough. I've started working on a project where the "npm install" thing took 1h and a half and generated 260,000 files (?!?!?). One of the countless modules in there is called Chevron (?!?!), with a capital "C", and I sincerely don't know what it does or what's is supposed to do (to make it clear, Chevron has no relationship with said project). It's just baffling.
Some of these posts are real ageism claims, but most are "I'm old, I'm scared, how am I going to survive with a highly valuable skillset?" It's fear mongering. If you're concerned with job security, go find a job with security in government or in some monolithic non-tech company based in Go-Fuck-Yourself, GA. The "Hi, Fellow Kids" hipster-posing BS isn't going to land you a job at Facebook no matter how old you are.
Wait, your solution to the problem of ageism in tech is "get out of tech, old fogey"??
My advice to younger devs is to focus on general computer science fundamentals and application development skills. Those are the only skills that stay with you and grow as your career advances. The technologies always change so don't memorize them. Keep a reference around instead. Memorize things like design patterns and sorting algorithms.
There are two kinds of learning in play here: learning how to do new things, and learning how to do the same things a slightly different way. Learning a new JS framework is definitely the latter, when 99% of the time the end goal is a CRUD application that could have been done with anything from the last 20-odd years. Because that is all the vast majority of apps are at the end of the day...
The former is what older people should be doing, leveraging the experience gained as a springboard.
It's things like these that make me kinda regret going into tech. I should've gone into accounting or something like that instead.
I'm 32, and while I'm an excellent mid-level developer, I don't think I'm ever going to be principal or possibly even senior material. And everything I've heard from everyone is that is that by the time you're in your mid-40s, you better either a) go into management or b) hit principal or architect level or you'll be unemployable. I'm probably going to end up unemployable in 20 years, and that frightens me.
So maybe someone older should look for jobs that suit their abilities rather than a job that, as you said, anyone who went through a bootcamp can perform. Hopefully with age comes some kind of niche specialization or skill that can't be obtained easily.
The big issue I've seen played out multiple times is a hiring manager, dev lead or anyone making a hiring decision not being able to tell the difference between what requires experience/skills/specialization and what doesn't. It leads to the all-too-common situation of people with required-experience being passed on in favor of the (generally younger) "hey, this person can definitely do it - they know all this computer stuff!" (slight exaggeration). It gets even more complicated when the person without the required skills tries to bluff their way through (deceptively or just out of sheer desperation).
Nobody enjoys having their hard-earned knowledge become obsolete (hence the "X11/bash/sysvinit/etc were good enough for me so let's never improve them" crowd).
But the fact is computer technology does change fairly quickly. You have to keep learning to keep up.
If you're really worried there are definitely some technologies that persist for longer than others. If you really hate re-learning stuff then I'd stay far away from the web and javascript. Stick with things like Java, Go, C#, C++ & Rust. Those aren't going away any time soon. Ruby, Docker, React, etc... I give 5 years max. Then you'll have to learn something new.
I am 30 by the way. I feel way more prepared than 5 years ago. I think experience is important sometimes.
Staying current is just mitigating the problem, not solving it.
And staying current should anyway mean growing ones knowledge not replacing it every X years or investing so much time like the author recommends.
...because older people are told all the time, even on HN, that they're too old to learn and that they don't keep up with technology.
It's not surprising that they pre-empt these doubts by saying what they do to keep learning.
> Why not have an honest conversation
What's the honest conversation?
Because most people want to live their lives, not jump on a learning threadmill.
Who says using the latest javascript toys is only for the kids? Are you really worried that if you see old coders using the tools you like, that maybe that means they're not as cool as you thought? Is that really how technology works?
It does make pursuing a career in programming seem dubious, doesn't it? There's an old saying about "clawing your way to the top", but sometimes it feels like I'm clawing my way back to where I started. I feel like I'm expected to have instant answers to any question and immediately comprehend any technology (regardless of its level of documentation or comprehensibility). I actually do enjoy learning about new things (and old things!), but most of the time, we're not paid to learn, we're paid to instantly know, and if you don't instantly know, there are 20 guys lined up around the block who are ready to take your place as soon as you admit that you don't know how to set up pass-through SSL using the undocumented firewall product that was installed last week that you don't have credentials for and we don't have time for you to waste reading documentation because there's a customer deadline and there's no slack in the schedule. The only other career I can think of that you have to put this much ongoing personal effort into is entertainment; it's like we have all the downsides of entertainment careers without any of the upsides.
On the other hand, I can't imagine doing anything else - every other job (except maybe astronaut) looks murderously boring to me.
The good part was that I was able to build a very successful career while not having to suffer nearly as much pain as many of my contemporaries. The bad part is that now it's hard to find people to collaborate with. :-(
Then why don't people build amazing and popular things with it? I don't mean one or two people build one or two things, but lots of people building lots of things.
Nobody uses it, but it's the best choice, can't both be true. And 'nobody uses it' is approximately true. It's not a mainstream JVM language or CLR language, it's not an AWS or Azure or Google Web Services language, it's not used for Linux Kernel, Windows, Oracle, *BSD, SQL databases, No-SQL databases, it's not used where Erlang is, it's not the research language Haskell is, it's not the fun esolang or the long-tail COBOL, it's not the new compiles-to-JavaScript, it's not the back of 3D games or VR engines, it's not behind Amazon's shop or used where Go is. It's not talked about in StackOverflow's most popular languages surveys, or most profitable languages for devs to learn, or most desired by employers. It's not an educational language like it once was.
Yet it's "one of the best choices".
I simply don't believe it. Any perceived advantages it has, in practise must be a wash.
Meanwhile, the Java or Go programmer is thinking "this is boring and ugly. Let me finish this problem as quickly as I can so I can go home." So they finish the problem as quickly as they can, and then it's done, and it ships. And people have an incentive to use it rather than tinker with it because nobody really wants to peek under the hood, and the people who do peek under the hood tend to be really dedicated and care a lot about the problem domain because why else would you put up with the language?
* Google actively develops one of the Lisp compilers. Google Flights powers Orbitz, Kayak, etc. That's Lisp.
* There are several Lisp compilers in active open source development.
* There's a graph database written in Lisp called AllegroCache. It's good enough to support a business (Franz) for more than a decade.
* Another company (LispWorks) also exists and has a large portfolio of clients.
* Lisp has been used to make entire operating systems. Ones of the past, and ones of now. (Of course, an OS needs a community. But where are real OS's with GUIs in other languages?)
* Lisp has been successfully used in my own career for embedded systems to control satellite acquisition systems to, most recently, quantum computing. (At real companies.)
Just because there's not this huge buzz around Lisp doesn't mean no one is using it.
Sure it can. It is possible for both to be true, as long as developers don't pick languages rationally, which they probably don't.
There are a few biases at play. One is that people are only exposed to a subset of the languages that exist, which are those that are either used in industry, or are making the rounds in news. Another bias is that we like to pick languages based on familiarity. For example most of my college courses used imperative languages: Python, C++, and Java. From that experience I am quicker at thinking in terms of for loops than folds and maps. So when I try a language like Haskell or LISPs I think "That's neat!" but when faced with a deadline I switch back to something closer to my first languages.
It could be that I am the only one that thinks like this, and everyone else sits down and spends equal time on every language in existence, but I doubt it.
In any case at one point LISPs were popular, so why did they lose all of their momentum?
This application is written in 7+ million lines of Common Lisp
https://www.ptc.com/cad/elements-direct/modeling
https://www.youtube.com/watch?v=mJGytRaNvec
The video shows how Eterna uses 'PTC Creo Elements/Direct' to develop their watches. There are many other clients of that in various domains.
Also:
The reason is because "best" can have more than one meaning. Languages are usually only "best" at one thing, not for all things. In the case of many languages that people consider to be "best", they've been optimised for the development process (making it nice to write code in) rather than speed (C) or security (Ada) or a specific niche (R) or maintainability (not sure) or customisability (LISP). They're designed to make writing code more straightforward. Languages that are optimised to be easy to code with are the languages that tend to bubble up to the top when it comes to popularity contests because the more people who can access the language the more popular it's going to be.
There is an argument that Ruby is mostly LISP, so it could be said that lots of people use it very happily everyday.
If you choose LISP, you're actually going to have to expend a little bit of effort on identifying, recruiting, and retaining actually competent people. That's a problem when you're looking to put butts-in-seats (as is the case in my industry: defense).
If you will excuse a moment of cheekiness...
Could be that you have cause and effect backwards here: because you are grumpy you are dismissing 99% of other language developers' work as rubbish. Could be that it's less than 99% and you are overlooking some great ideas.
But the most popular language on github at the moment is Javascript, and there is no question that it is simply a very badly designed Lisp with C syntax. This is not intended to disparage Brendan Eich. He had a week to design and implement something, and under those constraints he did a pretty amazing job. But I can't help but imagine how different the world would be if he had used Scheme as a starting point.
Was there something in particular that you had in mind that you think I may have missed?
Clojure is doing OK (better than Common Lisp), but not great (worse than Haskell and Emacs lisp).
"But no one knows it..."
It'll be really hard to work with a 23 year old with that attitude too.
I had an interview at Google a couple months ago and noticed that most people were pretty young. When I asked the person who was in charge of taking me to lunch about this, he said that it's probably because there are just much more graduates of CS now than there were before, and that Google would very much like to hire senior people as well but they're much harder to find.
I wonder how much of what he said is true vs ageism.
On the other hand, I wonder how much of a natural bias there is against older people if they have to go through the same interview process because it felt like a mental marathon to me. Although the interview only lasts a day it took a couple days for me to recover.
> I wonder how much of what he said is true vs ageism.
Of course they want to hire more senior engineers now, it would likely help win their court battle[1] over it.
[1] https://tech.slashdot.org/story/16/07/02/0438216/age-discrim...
[1] source: I work for Google.
63 year old white guy with little hair and a lifelong beard that is now white. A tad overweight as well. I feel for so many people expressing angst about ageism. I've seen it elsewhere but not where I work now.
I suspect that at the faster growing companies and companies in tech centers, mostly on the coasts, see more pronounced ageism.
My last job was at a bank in Richmond VA and there was clear ageism in IT when I got their. I moved to compliance from IT for two years and I was very successful and never observed ageism.
At 53 I moved to a web development manager and developer role in Higher Ed. I took a gigantic pay cut, if you factor in bonuses and options to work in Higher Ed. But I got to send my oldest to college at a selective school for free. A $200K after tax benefit.
I don't look back. My life is so much better now with a 40 hour work week and being in control 100% on how we architect our web and backend eco-system. I spend more than 40 hours because I love learning but I choose when, where and what I learn and work on after 40 hours.
I read these comments from people that are 36, 40, 40+ and shake my head. That is not old. 63 is not even old. I plan on working till I am at least 67. I love my job and I especially love the people I work with.
I find these days I spend less time coding and I end up with better applications because I think through the design before coding.
I'm going to ask around in Richmond VA and see what ageism exists in industry here and report back.
Keep learning, try as hard as you can to stay in shape and engage in critical thinking. Good luck to each of you in staying employed and staying happy.
^A golden nugget buried in an insightful ramble.
Great irony also is that I've seen teams try to be agile, which they seem to think means code > design.. Often ends up poorly.
I was in a room full of developers when I read aloud the story about the guy who started oldgeekjobs.com, who defined old geeks as over 35. The room erupted with the loudest "F U" I've ever heard.
So many salaries look and sound impressive until you actually do the math on what it costs you.
As I said, I have never looked back. I don't miss the money because I don't miss the stress.
I do worry about aging out of this industry and my long-term plan is pretty similar to the path you have taken. My hope is that I can participate in the agency/startup ecosystem for another 10 years before I have to find something else to do. Hopefully that will still be in technology, and will probably be in Higher Ed or at a Nonprofit for a less money but more intrinsic rewards.
I haven't observed specific instances of ageism towards me or others (people being passed over for promotions or treated differently than younger employees), but I also haven't worked with many people 50+ since I started in this sector. I'm not sure how much of that is that people in that age group are looking for a more balanced lifestyle and how much comes from the companies that do the hiring.
At the risk of going off-topic; every new/kinda-new/wish they were new engineer can learn volumes from that single statement.
I'm 47 maybe there's hope for me yet.
Thank you for this. You made my day. I just entered my 20s and am constantly in fear of ageism later in my career.
You need to bathe in youth from time to time in order to experience it - it's fantastic.
Of course you need to keep up to date, try to use your wisdom to understand which technology/language is going to survive the test of time.
For example, C/C++ is going to stick around for a while; make sure you're up to date (C++ 14 and C++ 17).
Pick technologies with a steep learning curves, don't try to compete with 20-year olds doing Javascript Bootcamps - go five steps deeper.
Broaden your horizon - read poetry, listen to all kinds of new music, watch experimental movies, travel around, talk to foreigners, eat weird food.
Study physics and philosophy, psychology and economy.
Have lots of sex - your wife will love you again :)
You have kids ? Great! Learn from them - everything. Try to teach them what they study at school - see if you can figure out a better explanation. Notice how much new stuff you learn about the subject, about yourself and your kid!
We're all getting old(er) every day - as we age this process seems to accelerate - and one day we will be no more.
But inside us lives the kid, the 20-year old, the 30-year old. It's still there, it can still be crazy and fun, we just need to remember to go on a date with our younger selves. All the rest will follow.
At least that's what I'm telling myself :)
I usually use statistics. If you select a random point on the lifetime of something. There is a 50% chance, that you are closer to the middle then either start or end. Thus: Always assume you are roughly in the middle of the lifetime. In other words, if some technology is only one year old, assume it is dead in another year.
When I don't have good insight into whether it's worth my time to learn some new tech, I'm going to try to apply this rule.
Not in my experience
... oh, you meant with her.
Wanted to call that one out, don't think I've thought about it before, but it's good advice.
Unless she finds out.
In software engineering roles at big/desirable/fast-growing companies, the interview process favors faster (by definition, younger) minds. Both young and old are put thru the same/similar coding interviews at many of these places, and often faster coders are younger, and get the job.
You can't fix ageism without fixing the interview process. Being jovial, healthy, nice and culturally sensitive are necessary and useful things to keep your job after you join, but the gatekeeping itself is biased on the other side, which reduces the intake to a trickle.
In my experience older people get cut out based on not being "a good cultural fit". This has been discussed ad finem on Hacker News because "cultural fit" leads to all kinds of discrimination: racial, gender, age, etc.
Every job I've had we put a person through a series of interviews, then we have a group meeting and we vote. There is no quantifiable evidence that this person actually interviewed the best. It comes down to how people feel in a room. That is the issue, not the speed at which a person can give answers. I've seen people voted down based on all kinds of illegitimate reasons and with age I think it came down to fear in some cases. A lot of software teams don't want to hire the best person they can find. They want to hire someone who is pretty OK, but will also make them look good. Yes, sometimes people don't get the job because they are too good. Am I going to hire someone who makes me look like an under-performer, or could get promoted to before me? Bingo, bad cultural fit.
Algo-on-the-whiteboard interviews favour people who have recently been cramming for their final-year CS exams - by SHEER COINCIDENCE they happen to be in their early 20s...
I know some North American universities have adapted to the practice and are now preparing students, but I assume this is relatively new. My algo and DS classes weren't about cramming at all.
Now to be fair, reasonable companies will focus on higher-level, systems design and architecture type of questions when interviewing seasoned engineers. Or at least, they really should.
Meanwhile, experienced developers have their brains tuned towards on-the-job skills that are harder to cram (like an instinct for edge-cases) while "shelving" the stuff that you don't need.
If there is noone with 20 years of dev experience within the company, there is noone to speak up for this, and the cycle continues.
Whether this translates into a perceptible disadvantage in code tests is less likely to have been tested, but it is given what we know, and given other arguments above, quite possible and indeed likely.
What you're definitely not looking for is a candidate that hacks some solution together quickly but with badly structured code, makes a lot of unconfirmed assumptions and doesn't listen to advice.
Even before that is the technical screening process. If the company has standardized on Angular 2, your experience with Dojo, Ext-JS, jQuery and even Angular 1 is considered irrelevant by the screeners - you may as well have experience in medieval basket weaving; they won't even call you. If the company has standardized on Groovy, your experience with Java is equally irrelevant. If the company has standardized on MySQL, your experience with Oracle is irrelevant. If the company has standardized on Linux, your experience with Solaris is irrelevant. And on and on it goes...
There's a perception (which I've already seen repeated 10 times in this thread, and I'm only halfway through it) that the "new thing" always completely replaces and invalidates the old thing. But that's almost never the case. Angular uses jQuery. jQuery uses Javascript. Javascript uses the DOM. Groovy uses Java. Hibernate uses JDBC. AJAX uses HTTP. HTTP uses TCP/IP. They all use the OS. And when X uses Y, Y can go wrong in ways you didn't expect if you just assumed that Y became meaningless when X came along.
So we have this environment where the hiring managers are shooting themselves in the foot by looking for style over substance and anybody who tries to bring it up is dismissed as a dinosaur with a case of sour grapes.
Here's where I'm at.
I look back at my career and I can tell you about great projects that I got to be part of, awards and plaudits that I won, big paybacks from projects that went well and literally saved the company. That's all nice to have war stories.
But I can't point to any of it and say, "I made that" because - and here's the kicker - it's all gone.
Software is ephemeral. One day your client does an upgrade, and then the thing that you spent years building and curating like a baby disappears. It isn't mothballed and put in the basement where visitors can walk by and see it. There's no photo of you standing by the thing that you can hang in the hallway and see every day. Your creation just completely vanishes without a trace.
All those years I've also been a musician and recording engineer. I've made a few dozen records none of which amount to anything that anyone else would care about. And all told I'm sure that I earned more money in one year of my IT work than my entire music career.
However, here is a collection of my work that I can point to and say, "I made that." It's a creation that I can reflect on years and years down the road.
I take much more satisfaction in my musical creations than from my software creations, even though I was much more famous and valued as a software architect.
Stallman, 63, can point to GNU Emacs or GCC and say "I made that in the 1980's". Not necessarily the most recent version of it, but that hardly matters.
Gerald Sussman and Guy Steele can point to Scheme and say, "we made that".
John MacCarthy was able to point to Lisp and say "I made that", right to the day he died and we can continue to say it for him.
Make the right stuff; then you can bask in it for longer and be a kind of living saint to a few generations after you.
I've worked in this industry for a long time as well, but I'm not someone you've heard of. I too have built some very cool things that I'm proud of, a number of which no longer exist. Meanwhile, a shed that I built myself 30 years ago still stands, and I can still point to that and say I made it.
I imagine when I kick the bucket all my software will be long gone, but I will leave a bunch of artwork that will survive for anything from days to centuries, mostly on its own merits.
On the other hand my paintings will stay forever on my walls and my children's walls.
I could go on and on about the stuff I'd do I don't do anymore.
It's not that those things don't have their place, or that all young programmers are guilty of premature optimizations, but there's no difference in terms of productivity between doing nothing and doing things that don't matter at all. It took me a while to learn that, and I still catch myself wasting time.
Either in your current role / in interviews / on the street?
YMMV, caveat, caveat, caveat, etc, roughly speaking, &c
I also think that the Zuckerberg quote also points to the startup mentality. They want 22 year olds because you can get them to work 100 hour weeks against the promise of an IPO, not because they are "smarter". Hard to convince a 40 year old with two kids to do the same. There has already been a shift to more traditional CS companies (IBM, etc.) as the lack of IPOs has soured some people on the startup dream of being employee #3 at the next Uber of XXX.
I was a young person once (no, seriously!). I _thought_ I was learning things fast back then. When I got older, I realized I was trading speed for depth.
1. Learn faster (better memory)
2. Can keep their attention focused longer.
Number 1 actually becomes a bane with old people: my relatives over 70 actively developed an active reticence to learn anything new: I even theorized that they are instinctively protecting the limited amount of functional short term memory for vital tasks. > Learn faster (better memory)
And yet, when I needed to learn XSLT (and then React), I was able to simply inhale it in one go because of my experience of similar technologies and functional programming, which come about from having been doing this quite a while.Younger and quicker developers took a lot longer over it and to find their feet because there were many new concepts there for them.
As you get older, there's less to you haven't already learned.
I'm 43 and have been doing professional development for 20 years (actually 20 years). I moved permanently to Saigon just 1.5 months ago. I'm teaching the Pivotal software engineering process (agile / extreme) to a 100 person consultancy full of really smart ~20 year olds who didn't know or understand process at all.
I keep up on all the latest tech and I have a youthful mind and body (most people think I'm in my 30's). I'm the oldest guy in the company and the only American here. This has quickly lead to a lot of personal mentoring on many levels, not just software, but life in general. The culture in Vietnam is strong and my team wants to learn from me. It is very exciting and new for all of us. It has been an amazing experience so far and I look forward to the future.
The best additional advice? Just be nice. It is so simple. The culture here is to never raise your voice or get mad in public, so I've taken it to the other extreme and I just smile and laugh a lot. Even when the servers are melting down. Viet are shy and have poor personal communication skills. By being friendly and nice, they have learned to trust me and that has opened up them up a lot. It has infected my entire team and improved moral almost over night.
Being older has a lot of advantages. I'm loving my 40's way more than my 20's. Cheers! =)
Yes, there is a ton of racism and generalizations among expats. As soon as I got here, I was added to a few private facebook groups where expats vent steam over the craziness of this country. I'm actually not a fan of it because it is honestly very racist, but I want to know both sides of the story. Much like democrats read republican news.
The language is hard and learning is going to take me years. I'm trying my best, but when I say something as simple as 'một' (the number 1) to someone, they rarely understand me. Vietnamese also want to learn english (my company has a full time english teacher) and will not help me.
So instead of language, I've focused on learning the culture first and in 1.5 months (also this isn't the first time here, so it is more like 2.5 months) I think I have a pretty good handle on a lot of it. I make 1-2 (or more) new friends daily thanks to the friendliness of the people and because I'm out there networking like crazy. I have over a hundred friends here now, both from business and personal.
If I stop liking it here, I'll leave. I don't see that happening any time soon though.
> Viet are shy and have poor personal communication skills.
When I imagine how such a statement might land with your fellow HN users who are Vietnamese, let alone, say, a Vietnamese elder, such a claim is painful to read.
> I'm the oldest guy in the company and the only American here. This has quickly lead to a lot of personal mentoring on many levels, not just software, but life in general
I have a similar reaction here too. Other dynamics leap painfully to mind—a vast power differential and violent history—that don't have to do with "life in general".
We don't want a gotcha discourse in which well-intentioned people get scourged for saying things; I don't mean my comment that way. At the same time, civility means more than personal politeness. It includes respect for others different from oneself. That is a profound thing with many levels, each of which challenges us to awareness. Every one of us has these challenges, of course. They're just easier to see in somebody else's case.
Overall though, my experiences have been extremely positive. I literally wake up every day happier than the last, all because I live here now. They are happy and friendly people. They are young and full of energy. If I can help it, I'll never go back to San Francisco. Vietnam certainly isn't perfect by a long shot, but I love it anyway.
That said, the OP is correct. You're only as good as your last two years and even that's pushing it. If the tech changes, you have to adapt with it.
I'm 53 as of yesterday (the 8th). I started with PDP-11's in the 80's, then VAX's, then PC's, BASIC at first, then C, then Visual Basic, then ASP, then C#/ASP.NET, and now I'm deep into AWS (Lambda, DynamoDB, Redshift), NodeJS, AngularJS 1.x/2, ReactJS, and I'm still learning new technology all the time.
A lot of developers will transition to management and it's on my mind, but I'm also still drawn to solving problems at a code level. And there's always new toys to play with like Angular and React. Now we have .NET Core and all of its interesting avenues.
If you actually care about being a good developer, you will continue to work.
As long as there are jobs. Nothing will help you if the job market contracts. Then I do believe hiring becomes age-oriented with us older dev's labeled "over-qualified".
The fact that people are still claiming there is a shortage of tech workers, demonstrates that that isn't true. The industry wants young, cheap workers who come ready made with the trendiest skills, then it wants to ditch them rather than retraining or allowing them to accrue seniority, and hire new ones, who will work 80 hours a week for free soda and "stock options"...
You'd be surprised. The original post (TFA) gives the median age in major companies for example and it doesn't work like that there.
I've taken a small break from working on it, so the traffic has died down some, but feel free to post your tech jobs for free for the time being.
I run a Medium publication at https://blog.oldgeekjobs.com. If you've got writing chops, I'm looking for contributors. That goes for anybody. Thanks again.
I've made it free to post, and I'm going to keep it that way while I get some more blog posts out.
I tried pitching to some reporters with no luck--I read a good book "This is how you pitch" by Ed Zitron, and I'm going to try some of that. Turns out I didn't know how to pitch at all.
Also got an open source project I'm going to try to incorporate into some of the blog material. It's not done, but I might as well plug that here too. Worked on it all last month.
https://github.com/johnwheeler/flask-live-starter
Thanks for asking!
edit: just saying limits seem artificial, that's all
1) Most business-critical projects have long lifetimes. There's a reason why banks are still running COBOL and mainframes, and why Java's continued promise of backward compatibility with every new release is so valuable to companies.
2) Maintaining legacy systems is a bitch. Nobody likes maintaining legacy systems.
3) Therefore no employer wants to hire somebody who writes code which almost immediately turns into legacy code, either because it's not tested, or not written using modern language features designed to make the language safer, etc.
4) Learning to write code in a modern fashion requires continued education.
5) Employers will not budget or pay for this continued education in a no-compete-clauses-are-illegal environment where smart employees will take the training and run to another employer willing to pay for the benefit of another employer which already put in the legwork of investing in that employee.
6) Employees therefore need to spend significant time educating themselves on their own time. This is great for the minority who are computer geeks who treat it as a hobby and it's terrible for everyone else.
7) Most people will not spend personal time educating themselves, because they prefer to invest that time in friends and family. This is all the more true, not less true, after one's children are grown.
8) Therefore they slowly become unemployable as their skill set turns obsolete.
9) Therefore employers have a hard time finding older people who do have that combination of a modern skill set and decades of general industry experience. And it's for the same reason it was difficult to hire any programmers at all in the 90's, because the competent labor pool (then in general and now in the older age group) is basically limited to computer geeks.
10) Continued interviews of older people who did not bother to keep their skill set modern and honed creates a stereotype that old people aren't "smart".
It's not a problem that some Chief Diversity Officer at some Big Four company can solve, because they're either going to literally fight human nature (people desiring quality time with their families) or they're going to adapt an affirmative action policy that'll only make the problem worse, as prefer-false-negative hiring policies set up to protect codebases from incompetence get overturned for what's essentially a political reason, breeding resentment.
1) Many business critical projects have relatively short lifetimes. The use of hyper-legacy (avoiding the use of the word 'ancient' here) systems has more to do with the stability of well-known domains like accounting than any other factor. Other systems are business critical but meant to solve a short-term need, eventually being replaced by a better or more well-informed implementation.
2) Don't presume to know what everyone else likes to do.
3) Your implication is that "old dogs" are going to write code which is immediately legacy: they don't write tests (which is by no means a guarantee that code won't become 'legacy'); they don't use modern language features; indeed, that code without the use of modern language features is itself legacy.
4) I won't argue with this one, but with the same assumption you make in #3.
5) No-compete clauses are only illegal in a few jurisdictions like CA (in the US anyway). "Smart" employees tend to stay with employers that have an ethos of investing in their employees. In any case, I used to teach corporate training classes, and I can assure you that there is a healthy market of employers who do this.
6) Yes, people of all ages need to spend a significant amount of time investing in themselves, including 20-somethings. This is not a new thing, and indeed, "old dogs" are better at sniffing out where that time is best spent.
The remainder of your argument are conclusions built on faulty premises.
The problem of ageism in tech is multifaceted to be sure, and we all know developers who fit into the stereotypes you promote here. But to say that they are the primary cause is part and parcel of that same ageism, and ignores: * the role of capital in providing vast sums of money to inexperienced youth; * the hubris of that same youth; * the lack of diverse and inclusive cultural values within the US as a whole and Silicon Valley in particular; * and far from the least, the social and cultural aspects of media in influencing stereotypes (Forbes' annual 30-under-30, anyone?).
But what is "legacy" or not is not to do with technology, but fashion. Let me give you an example: everyone rants on here about what awful languages PHP and JS are. Is COBOL really a worse language than either of those? If so why? What algorithms or data structures can't be implemented in it? What tooling doesn't exist?
The only reason COBOL is considered a legacy language is because it's unfashionable, and a large part of that - I'm not even kidding - is the clothes COBOL programmers used to wear have fallen out of fashion. There's actually no reason that you couldn't use it for any application you might want to write today, and it would probably be more productive to do so than some modern languages...
Yes, if you haven't been using AWS and GPGPUs you will be of minimal use to us but it's really valuable if you have already made a bunch of mistakes on someone else's dime. And in your 50s you're probably an empty nester, and can easily put in a 50+ hour week when necessary (which it often is, but not all the time, in a startup) and get more done in 40 hours than the squirts do in 60+.
You need a mix of ages and backgrounds. A bias to youth is as bad as a bias towards time-in-grade, or any other such bias.
> already made a bunch of mistakes on someone else's dime.
What is it with this industries lack of interest in investing in people yet demanding so many hours that you can't learn anything new at least nothing deep. Why not just make everyone a contractor but pay them appropriately as a result.
Sometimes experience gets in your way ("No, a scripting language will be too slow for this") and other times it saves you a huge amount of grief ("Really, we had better plumb that now, it will save us a lot of pain down the road").
Not sure I suggested many hours (quite the opposite) or not learning anything new.
If you would be having same salary (apart from bonuses) as say some senior executive/CEO, well that won't fly, no matter of your added value or semi-magical skills. It doesn't matter how rational that might be.
Reason I'm older is I decided I had a passion for it in my late 20s / wanted to do research, but had to go back to school to take classes before enrolling into a PhD. Hope my age + PhD wouldn't hinder me for software development jobs?
I am in my 40s.
(BTW: just so it's clear I apply this same rule to everyone - this is the same advice I would give to any discriminated group, whether women in tech, people of color, Jewish or Asian or whatever group that find themselves on the victim side of discrimination)
Stop thinking of yourself as a victim. Be razer clear what your value is.
Almost every one will have some or other circumstance where some trait of his/her counts against himself, that is life, but these are merely speedbumps on the way, not show stoppers.
If you can't overcome bias at one specific company or in one specific country, move or do whatever YOU can do to solve it. Crying aint gonna fix it.
Ageism, like most *isms, isn't something that you can simply throw individual willpower at. Anti-sexism isn't wont for women with willpower, it's a problem that lies beyond individual power, and requires collective power to combat.
> Crying aint gonna fix it
I think most people know that. It's because some people still deny or ignore the existence of these discriminations, so it raises awareness.
I just hope people stop being so hurried about seeing the first cut of their products. That itself would fix some issues around this topic.
Whenever there are stairs, I would run up them. Now, again I am not super fit, but I don't lose breath, everyone else kind of does. This gives me great pleasure.
I am older developer, it is getting hard, I will not lie. But, I am on top of latest technologies, enjoy my work, I am pain in the but.
I totally believe age discrimination is real, and the Corgibytes author hits the nail on the head with:
> Only as Good as Your Last Two Years of Accomplishments
> Kent Beck has suggested that, with consistent use of pair programming, the capabilities of programmers don’t differ much after two years of experience.
Experience in our field rots away at an amazing rate. I don't think it's as short as 2 years, but if you're still regularly using techniques you mastered 10+ years ago, you're probably falling behind. I don't think lawyers, doctors or stock brokers have this problem.
This implies no more salary increases after two years?
I have a resume that's good enough to get me in the door at a few places you've heard of this time around but it was also turned down flat without more than a recruiter call at other places where my current experience exactly matched the tech they were asking for. I can't help wondering if they saw "16 years of experience" and either thought "too old" or "too expensive". I have considered doing a little A/B testing on that.
Harder to learn if you build up an empire of people who look exactly like you.
As I get older in tech, I have a similar experience. Of course, one can go too far and think everything new is irrelevant :-)
I understand the idea of it; to move into a technology or business with more room for growth, but if you don't have the time in your career to benefit from that growth, how can you do it?
If you're in your late 40's, early 50's, with a mortgage and/or children, or that point where you can choose not to have to work anymore is dangerously close. One badly-timed layoff, one forced pay cut and you're stuck.
Especially if you're in that age range; the last generation that ever had some hope for long-term employment with an employer, the generation that saw pension plans converted to 401Ks and didn't understand just how much you personally needed to take over funding your retirement yourself. You're dangerously close to having one badly timed layoff or large pay cut snatch the choice of not having to work away from you.
Smart companies want smart solutions to tough problems.
Assuming that solution is coming from certain audience, like age/race/gender based is a recipe to failure.
Smart companies are after smart people. Who cares about anything else.
If you see a toddler running after a ball that rolls under a coffee table, bending over to go under the table and
to pick up the ball...
You know what's going to happen next. That's experience.
There are just different balls and coffee tables.One of the biggest killers of sedentary professions is heart disease, which is the number one killer in the US. People who work at Microsoft have told me they give free soda, sugared "juices" with artificial flavors, coffees and teas for free to their employees. These all are sources of heart disease, but the young engineers drink it up like a lost caravan in the desert. It's likely not that different in any of the other areas as well.
The cost for ailments such as heart disease is known to be one of the most expensive in the US. It requires extensive testing, support, medications and visits to the doctors and hospitals. Considering the extremely high health care costs the US enforces, this places a huge dent on insurance premiums companies pay as well as accommodation, etc.
These companies want them out before they have to pay more premiums on health-care and other factors related to health, age, seniority, etc...
The design. The url. Clicked "add to card" - default JS alert popup. Then some HTML pop up showed up saying something about my IP being banned because of BOTNET? What? Now refreshing the page I get a timeout.
This is literally the worst eshop I've seen in the past few years. I wouldn't hire a man who made this atrocity and sure as hell wouldn't like working with him.
I've been lucky, I guess.I would add to continuous learning: continuous invention. New stuff in the world, not just new to you. In my case, almost entirely unplanned drunkard's walk of a career that I don't recommend anyone emulates, but it sure has been a wild ride.
I'm 69 last month. Started 50 years ago inside discrete component technology mainframes. Done hardware logic design, firewire and Medialink FPGA, datacomms Hard Real Time embedded firmware, synchronous and asynchronous comms protocol design, real time networking design in the Music world (before anybody thought it possible, we showed em!:), created cool 4G visual programming languages, lately Audio DSP inside gaming consoles.
Moral: Keep inventing, keeps you young, moreso than just leaning new stuff you won't be using until it is obsolete. A wide T LI profile doesn't hurt either. But that is not an after-thought, it's a side effect of your lifetime of energy and obsessions.
Vaguely thinking of retiring when I'm 72 or so. Want to make more music, DSP takes too much time.
However having participated in these projects give me a lot of perspective, and I notice that nowadays I tend to write less and be more thoughtful. I see others here with similar experiences.
Now as for getting old, there is one thing I recommend: get old but never allow yourself to look decrepit. Be always clean, well dressed. Don't complain about your back hurting, or show off the medicines you take. No one likes to be around sickness or weakness, so pretend to be healthy and strong (or try to be, even better). I aim for this reaction - "that guy looks good for his age". This usually helps with ageism, at least in my experience.
I also try and get beyond the hype. REST/HATEOS is cool? What about the things it replaced? What are the edge cases? What was the original design intent?
I also read from/talk with older engineers (many of whom I have the privilege to work with) to understand what things were like during previous fads.
Ultimately, the problem is about staying marketable while giving fair due to our life outside of work (I prefer the term "unpaid responsibilities" to "leisure time"). I don't claim to have solved this problem, and I still have concerns about what the future holds, but my instinct is that staying on top of fads is a trap that I want to avoid.
In life i stay healthy as a vegetarian and practice yoga. Look after the body and the mind will largely follow suit but feed the mind with challenges daily and you will notice that you get better over time at a rate the javascript kiddies cant comprehend.
Maybe this ageism is jealousy from the kiddies because you think leagues ahead of them, and also jealousy from old managers who cant do anything productive now that their body of knowledge is no longer useful? Food for thought, for someone. I wont be wasting any time to think about it.
The only way to remain in the IT game at the age of 45+ is to learn constantly and use your aggregate experience to determine what is good and bad and necessary. When most of the 20+ year IT veterans are in set piece environments they enabled or abetted...technological advent and invention is the enemy.
All the musings on how great a person you really are contra|outside tech are band-aids on reality. If you make your living in technology: be better than the other guy or be useful to them. That's all there is. Otherwise your days are numbered.
We can ramble on about salad days and personal achievement but the younger guys snicker and say 'listen to this fossil' and do their thing. As you would have in their shoes.
As someone getting older and more experienced, you can take this one of two ways. (i) You can try to "learn new tech" and "stay up to date" in an effort to compete with these younger workers or (ii) you can actually listen to the market. And what is the market telling you? Yes, younger workers are more valuable for the aforementioned reasons. But it's also telling you that by the time you are 40 or 50, you should be implementing your own ideas, not someone else's.
I'm a legacy software, retrocomputing expert now I guess?
Most of the old commercial software has released free and open source versions of itself or someone wrote a FOSS clone or whatever to do the same things.
I am 48 years old now, getting close to 50 in two years, and can apply for AARP and get better health insurance through them.
I ended up on disability, but been trying to learn new things and keep up with trends and patterns in the industry.
You're assuming Groovy and Grails are better to code in than Java and something like Spring. Grails began as a thin wrapper around Spring. Its business purpose was to chisel market share away from vanilla Spring so its backing company (G2One) would get bought by SpringSource, which eventually happened in late 2008.
Consider this, many thousands of lives depend on my ability to write good, maintainable code everyday. I do Alarms, Telematics and 911 Systems.
So ageism. ya, it exists. But for every 50 year old coder, theirs 150 under 30 in the business. Its just the way it is. But I know, if I was in the hiring end of the game, I'd drop my dime on the old fart whose got a ton of REAL WORLD experience over some freshly minted grad every day of the week.
My assumption is that there has been a point where software/CS started booming and people started getting degrees in that field. Among the 40+ devs I know there's a higher percentage of carreer changers, and with a few exceptions those have been generally less skilled.
Lately potential employers have been expressing surprise that I never went into management. I enjoy developing so was never interested---until I encountered a few truly incompetent bosses in the last few years and rethought my position. So I've read all the classics, such as MMM, Peopleware, etc... but found it is too late to be hired as a manager when you've never managed anyone.
Reading this and reading the posts, I'm aware of what occurs to be a trade off in young/age, in that young can be cutting edge while old tends to have wisdom/smarter about approach/worldlyness.
Seems shortsighted to think that young is better.
The best place in tech for older is a govt. job where age skewers older and you may even be a minority amongst your fellow laid back/no drama, hard working Indian co-workers. The pay is more then good too!
That has always rung true to me, and I see that happening today.
It's tech.this age thing.
Forced out of tech by invention/adoption of cell phone age is worshiped in my jobs today. Like Indians calling seniors "uncle" to show respect.
Age is my shield, my platform, my integrity and my perceived knowledge.
It's tech
Now I get to sit on the porch and yell at the youngin's "Get off my lawn!"
It seems kind of ridiculous that white men won't believe in hiring prejudice/discrimination until it directly affects them.
What I am not hearing in all of these discussions is talk of developing leadership fundamentals. They apply not just to one's job/career but to the individual and all aspects of their life.
There's 5 levels of leadership:
I. Individual Contributor Self-leadership. Responsible for producing work and getting along with others.
II. Expert/Manager Expert Best at what they do. Work on more complex projects. Display a special talent. Design a plan for new products. Further develop their craft. Innovate on projects. Demonstrate readiness to tackle more challenges
Manager Managers are tactical, focus on the short term. Lead individual contributors and experts. Develop staff. Focus is on improving upon weaknesses necessary to succeed at being more than an individual contributor or expert. Navigate organizational structures. Maximize talent of team. Think strategically about how team contributes to organization goals.
III. Leader of Leaders Leaders are strategic, focus on the long term. Focus shifts to training level IIs on their managing weaknesses. Training and developing (mentoring) experts and managers. Role is critical to the success of an organization. Poor managers have a huge and damaging impact because they leave high turnover and disengagement as well as low morale and productivity in their wake. Refined communication skills up and down the organization, acting as a reliable conduit for information to flow up and down. Develop business acumen. Develop organizational strategy. Develop new leadership opportunities.
IV. Leader of Functions/Divisions Maximize the contributions of all groups within the function/division. Strategize the development of the function for the future of the whole organization. Builds a competitive strategy. Ensures long term growth. Mentor and engage direct reports. Build key relationships outside organization. Deepen their intimate knowledge of other functions. Attune to industry and market shaping factors (sector acumen).
V. Leader of Organization Manages all functional leaders. Sets the vision and strategy. Ensures future success. CEO Build a team of differing strengths. Empower functional/division leaders. Create a motivating culture. Share the vision of the future. Position to be at front of trends.
As you move up 3 things change: - Scope of your view - The Stakes/impact of your decisions - Proportion of management and leadership
What skills do you need to maximize your potential? What skills do you need to develop for the next level?
Leveling up is growing up. If you don't like or want to be a manager or leader, figure out why not, starting with understanding your emotions and managing your stress and anxiety. This is usually what stifles one's development.