'Gen X has had to learn or die': Mid-career workers are facing ageism
bbc.com
bbc.com
""" led managers to prioritise digital natives for open roles, believing they are more adaptable than Gen Xers """
I'm an old millenial and there's truth to the joke that we have to help our parents AND our kids fix their printers. I have found the complete lack of fundamental computer skills in younger candidates ("what is a directory? Why would I ever need the terminal?") to be a challenge.
My parents, in the meantime, have probably gone through 6 or 7 printers. For a truly cursed printing experience, here's my advice:
* First of all, make sure it's an inkjet. They give the best colour print quality, you see.
* Second, always be on the look out for a good deal. Why buy a $400 printer when you can buy a $50 one? As far as you know it'll be junk in 2-3 years anyway.
* Third, get a wifi printer that doesn't have a screen, and make sure your wifi router doesn't support WPS. If the printer comes with an app, make sure it no longer works on your dated smartphone. Install the printer at the absolute edge of your wifi coverage.
* Fourth, make sure it's a multifunction printer/scanner/copier, and always install the manufacturer's full suite of software. You want to be able to access all the features, don't you?
Just follow these simple steps and before you know it, you'll have empathy with the many people who say printers suck.
I don’t know how it works and I didn’t need to. It just worked. Optionally I could have also plugged the printer in with a usb cable which I assume also just works.
The problem is that computers could be configured. There were commands and scripts that you could run to fix things. So basically there was something to troubleshoot. You learns how to figure things out.
Phones today have almost no configurations, and there are no scripts or commands to run to fix things that might be broken.
There’s absolutely nothing for kids to learn other than switching it off and on again.
My friends’ kids are plenty hacky on their phones. Not in an 80s sense. But in the configurations, with knowing various apps and websites through which to uniquely interact with the world, et cetera.
As many of us have little clue how the hardware works, at the fundamental level, today. I am analogising the hacking we’re being nostalgic about with this higher-level hacking they’re doing today.
It’s still hacking, and it’s incredibly sophisticated. It’s just that the layer that was at the forefront decades prior is no longer today. Someone has to maintain it, but it’s not where most opportunity is.
This is a recent view of mine. But LLMs have set a cap on the relative value of pulling up a terminal.
Look at this, for example https://developer.android.com/about/versions/10/behavior-cha...
Why? Let me handle permissions. Don't choose, for me, whether I can chew steak or not.
End of the day, we're trained to be idiots. School teaches us nothing. Products treat us like babies, strengthening idiocy. I mean, if a device breaks, we call the service guy and don't try and repair it ourselves, right? Because "changing a battery is life threatening. It must be outlawed." (- Apple) People are convinced, by ads and media campaigns, that all this is good. People are convinced they are using luxury devices.
We certainly agree that there has been an erosion of computer skills among the younger generation(s) raised on appliance-like computing devices. No argument there. This is a loss. Full stop.
Where we might differ is the question of whether or not this is a good thing in the larger context. The fact that everybody had to become subject matter experts in personal computing just to be effective with a personal computer in the 1980s and 1990s was a byproduct of the fact that personal computing was incredibly buggy and user-unfriendly for multiple decades. If everything in life was as balky as computers were, we'd never get anything done as a freaking human race. How many f'ing hours did we waste as a human race just getting printer drivers to install?
I mean, think about all the hours you spent just getting printers to work and PCs to connect to the internet back in the day. It was rewarding in its own way, and it led to careers for many of us.
Now imagine if everything was like that. Imagine if you couldn't use your car, the HVAC system in your house, or kitchen appliances effectively without hundreds of ours of ad-hoc experience gained through troubleshooting.
For those that want to get their hands dirty, there's Linux and craploads of free development tools even on Mac and Linux. And for those that don't give a crap, computing devices function pretty well as appliances these days.
I don't want to understand it when I just want to like, print out my car insurance card or do some mundane life task
They want the PC (a 'smart' 'phone') to get out of their way, and if it doesn't work, they'll just go do something normal people do, like a platonic dinner party or a drinking party.
Hopefully more food pictures & selfies will emerge
Computers were and are an abstracting interface to functionality. Historically the abstraction was frequently leaking and the user had to make various adjustments.
It could be argued the nowadays the leaking has been reduced to an extent that users can fully embrace the abstraction. That is not quite right, counter examples include "after two years of browsing my computer became slow, need a new one" and "I can't use that website, it is full of popup adverts".
I agree. To put it in somewhat starker terms, it might be your device, but we have rapidly eliminated ownership of the devices. It's not even all the War on General Purpose Computing; there's so many factors here: an expectation that apps/os just work/are simple, need for security sandboxing, and most of all imo the shift of more computing/resources into the cloud. Connected services where the app is a thin-client to far off systems, that's a huge shift away from the ownership model of computing we briefly had.
It's hard for me to imagine what exactly might trigger a resurgence of the Personal Computing model. But computing, for the time being, is no longer ours, no longer humanities; it's heart has effervesced up into the cloud.
Outside elite software engineering, as in writing papers engineering, isn’t this becoming more an art than a skill with LLMs?
This is in a different category from printer debugging or launching a terminal.
Not in my experience. I’m sure every generation has its winners and duds. Just saying Gen Z’s winners (by being better networked) seem to have a skillset uniquely honed at X’s weaknesses, much as Millenials seemed almost uniquely crafted to compete against their Boomer counterparts (by being more efficient).
They stick to what they know (usually C# or Typescript) and they have problems if they need to use a new tool or language.
24 years ago, I had to do my computing A-level[0] in Visual Basic because that was the only language the teacher knew.
[0] UK thing: https://en.wikipedia.org/wiki/A-level
We were in an EE/Telco degree where we had to program in different languages and configure plenty of different software, so knowing to solve that kind of problems are relevant in the kind of work they were going to do in the future.
The reality of that is how most of people are (or were?) in those degrees as a mere formality to get a good paying job, and interests are a secondary matter.
Also, you don't need anything other than C++. >:D It's the one lang that can do it ALL! But not taking the time to learn C++11+ is demeritable.
Some of these people are in their 40s and are new to the industry. Not just picking in "younger" people here. Just a different attitude. I think the barrier of entry is just getting higher as we have to know a lot more these days.
At least for juniors, I'm pretty sure the problem for a lot of them is they remember how much effort went into learning their first programming language and are assuming the second one will be just as much effort. They haven't realized how much of that effort went into general concepts that do translate to other languages, making it easier to learn more.
Programming languages have become ecosystems/biotopes. In this sense, learning another programming languages is about thinking how things are done in (often subtly) different ways in the other programming language, learning about the whole culture surrounding the other programming language, etc. There aren't so many transferable principles.
Because many programmers are not willing to put this effort into transferring into a different language, so much bad code is written by programmers who "never properly learned the way of thinking in this language/framework" and thus write, say, "idiomatic Java code" in C++ or "idiomatic Go code" in JavaScript.
All of these were new concepts to us at some point. I'm talking about people who are new enough to easily remember the effort that went into learning those basic concepts on top of learning the syntax for their first language.
Exactly my point: just to give some examples concerning your keywords:
- In many cases, for loops (with an index) became unidiomatic. Instead foreach or range-based loops became the idiomatic way
- In C#, for many cases, the idiomatic way is to use LINQ. The old style to write LINQ queries was to use query expressions, but it became out of fashion. Now, you typically use the method-based query syntax instead.
- conditionals: there actually do exist programmers who argue that if expressions are code smell when you do object-oriented programming (google "ifless programming" or "anti-if programming"), since the idiomatic way in (class-based) object-oriented programming when what should happen depends on some state is to write a method. This thought has not become mainstream, though. On the other hand: for a related reason in Smalltalk, a programming language that takes object-oriented programming much more seriously than most other languages, there exists no "if" as part of the language; see for example https://www.quora.com/If-if-is-an-object-in-Smalltalk-how-is...
- functions: functions now often have become stateful (coroutines, methods, polymethods, closures, ...). On the other side, there exist programmers (often from functional programming) who argue that functions as they exist in imperative languages are not "pure enough".
I was a teacher's assistant in introductory programming classes for several years in college and I assure you people new to programming do have to put in effort for all the basic things I listed above, not just functions.
I had to teach Excel to apprentices when they joined - just because they are digital natives, doesn’t mean they can actually use business tools.
As I explained in https://news.ycombinator.com/item?id=39789906 "digital natives" refers to the fact that this is the first generation for which (rather consistently available) internet was something that they grew up with from very early childhood on, i.e. they "never saw the 'old world without consistently available internet' in their life".
So, quite by definition, it does not imply that digitial natives can use common business tools.
What is Gen Z’s “technology progression” look like? iPhone6->iPhone X->iPhone 13->iPhone 15->and on and on… yawn. Development-wise it’s varying versions of Xcode and/or js frameworks, I guess, and now on to AI prompts. I feel like they missed out on so much!
Back in the day I thought GenX was all about rebellion, absurdism, and a laugh-behind-your-hand-while-you-take-the-check anti-corporate stance. That's still working for me and I'm having the time of my life learning or dying because that _is_ life.
Anyway get off my lawn, I have to go ask an AI how to manage people.
Being in a series of small startups for most of my career I haven't done a lot of hiring, but I've always aimed for people with more experience than me, so they tend to be older. And man, good software developers with 20+ years of experience are _so_ good that it's hard to imagine anyone passing them up.
In Ye Olde Days, most companies were run by folks in their fifties. These people (the good ones, anyway) knew that they had to have the energy, enthusiasm, and creativity of youth, but were also quite aware of the need for structure, stability and confidence that only comes with experience.
Since older folks had the money and power, younger ones were forced to work with them. Now that youth has the money and power, it seems as if they don't feel the need to have older folks around.
I mean, when I started, there was maybe 100k "computer programmers" in the US. Now there are millions.
Do not stop learning. Ever.
Seriously. Just because you graduated with a piece of paper doesn't mean you can stop studying. This is a fatal mistake.
Study the things that will make it easier and more effective for you to exchange with others.
Your diploma isn't worth a THING until you've actually delivered something - a product or service - to the world, which someone, somewhere is willing to pay for.
Until you've actually exchanged something with the world, you are of little use to it.
That is a cold hard fact, which you can either resist or embrace.
That sense of entitlement you might feel? That is what you need to work on. There is no such thing as a free lunch.
Effectively no one is debugging assembly. But, I'm supposed to be convinced "someone will need to be there when things break"? Come on. There are millions in the field worldwide.
What you say is true, from my own experience as well. That said, it feels like a career change is in order simply to be able to continue to provide 10 years from now (There's another 30+ years I need to work before they let me die).
You can't use AI if you can't talk to AI, and you can't talk to AI if you don't understand things the way that AI does. AI is us. Just like the Internet was/is/will always be.
In 10 years time when nobody programs any more, what will train the AI? The dog that was put there to stop us touching the computer? ;)
In case you hadn’t noticed, “us” is the competition. But the machine “us” can be made arbitrarily faster and cheaper than us, for what is converging on a similar technical skillset.
I'm not convinced AI is anything other than just another grep. A fancy one, for sure, but still its only as good as the data you give it. As has been the case with computers since the very beginning.
Of course, some AI-pro head will come along and tell me why I'm wrong, but the proof is in the pudding.
If nobody is coding any more, how will AI learn how to code? Is AI the ultimate stagnation of technology? It really could be, you know.
As it stands right now, I'm seeing junior programmers who cannot get AI to do things, whereas I can get AI to do things better than a junior programmer. But thats only because of my experience and knowledge. AI can be made to function really, really well as a junior dev - but only for as long as there are really good datasets from real human developers out there to work with. If the kids don't keep learning to program, that dataset is going to stagnate...
Reading less marketing pitches from these AI companies is good for your sanity. :-D
The only ways to learn:
1) quit and study or work on side projects with savings, risking resume gap and forever unemployability as an Old
2) work hard at current role to sneak into useful projects, ignoring management responsibilities and other priorities at current co
3) work at night and weekends on personal projects and research
All hideous options if you ask me.The point is HR is always acting in the interest of the company first (if you're surprised, you're probably young and work at a tech megacorp) and if the interests of employees are aligned with these (again, usually the case at tech megacorps), all is fine and dandy. Unions are needed when those interests start to diverge as individual employees have basically zero negotiating power and it's in the interest of the company to exploit that to the maximum legally achievable level - pure game theory.
IOW I see the perfect union as an HR-but-for-employees department. Real unions are obviously broken by individuals exploiting unions they're part of.
How?
Aren't Silicon Valley programmers in the top 1% for total household income?
People on HN give me the impression that graduates with no experience get paid six figures and it's considered poverty level.
If you think anything in this thread is implying salaried tech workers are trying to pass themselves off as poor I probably can't communicate with you on any level. I apologize for whatever rhetoric I used.
And I'm not anti-union, any group has the right to organize for any purpose in free societies. Even libertarians like Ron Paul are pro-union.
Of course its technically illegal, but reality could be harsh.
Top performers may be concerned about having their wings clipped. Hollywood is a good counter-example. But American auto unions, for example, created the precedent of a rush to mediocrity. (The politics of many American union organisers may also gives someone earning a top Silicon Valley wage pause.)
However there are plenty of workarounds employed by companies anyway.
I didn't find the article particularly insightful. And ageism isn't a new phenomenon
retention isn't new hiring.
The phrase "had to learn or die" has an implicit assumption that Gen X may have trouble adjusting to new technology.
My desk was a mess of serial cables, MIDI cables, speaker and headphone cables. My "Internet" was dialed through manual Hayes modem commands and later required starting Trumpet Winsock. I spent hours squeezing 10K out of my DOS low memory for games or Win 3.1.
I had to partition my multiple drives, get more HDD space using Stacker and worry about FAT16/FAT32. I had to worry about 16-bit compatibility in Windows and DirectX minor versions.
Now some jerk comes and tells me I can't use some slow and ridiculous browser-based software?
Gimme a break. My teenager can't sneeze without checking how to do it on YouTube.
I had this kind of discussion with people who make good money managing digitalization projects.
Under the term "digitalization" (somewhat confusingly) companies understand "make (often service) X available via the internet". Similarly "digital" means "connected to the internet" (i.e. punchcards are not digital :-) ). This is a different usage of these terms than in engineering, but this usage is rather consistent.
The term "natives" in "digital natives" refers to the fact that this is the first generation for which (rather consistently available) internet was something that they grew up with from very early childhood on, i.e. they "never saw the 'old world without consistently available internet' in their life". Whether this is bad or worse for work can be discussed endlessly ... ;-)
In this sense/usage, from my gut feeling I would thus argue that "digital natives" refers to "from late Gen Y on".
Ahavi/bonjour, mDNS, multicast, cups.d settings -- oof. Setting up a printer to run well on a network is actually a very frustrating task and will fail in surprising ways.
Ageism Haunts Some Tech Workers in the Race to Get Hired
“Malleable” rather means “has no strong opinions (often based on existing knowledge) on how things should be done, and is thus a lot more docile tp managers”.
However, I don't think this ageism is unfair, at least in my case. I already feel that I'm not as fast as I was in my 20s; I'll probably be even slower on my feet and harder to adapt and learn in my 40s. If I don't acquire meaningful and provable (two different, both equally important components) experience and wisdom, then not just the perception by hiring managers, but my objective value as a professional will decline.
I’ve also observed this but there’s another way to frame it - you’re doing a lot less thrashing around. Instead of brute force testing 5 approaches to a problem, experience allows you to narrow it down to 1 or 2.
I wonder if part of the reason so many IC's go in to management is simply that "how do you handle a team conflict" has a more evergreen answer than "how do you do some random task in X framework, describe the cost of different approaches in big-O notation, and do it fast". Or, of course, you've had 20 years to build up your network of professional friends and you all get each other the nicer jobs.
As someone that can see retirement on the horizon... screw that. When the work day is done, I close the laptop lid and eschew technology. If I am not getting paid to develop any skills, then I am on my time. I've never known a heart surgeon that practices on his kitchen table in his free time. I'm not going to practice standing up some k8s stack in my free time.
You can well believe that when VR is disseminated, surgeons will practice at home.
I assume as he gets closer to retirement the ROI for this effort will diminish.
Nitpick: the complexity of a task rarely changes.
I can look at a situation and usually almost instantly see the right approach. Couldn't do that when I was earlier in my career; at least not with the same level of confidence (which is supported by my results working in practice).
I can mentor my team-mates to be able to do the same. Work with me for a few months and your skills will certainly improve. I can spot errors in thinking as well as errors in code; correcting the errors in a person's thought, in how they approach a problem, can have profound results fast.
Fast picking up new things?
Fast pumping out keystrokes?
Fast because you're spending 14 hours instead of 8 per day?
Fast trying something and then ditching it away?
Fast because you don't consider the long term consequences?
Fast because you can focus and you're not distracted by career, politics, and administration?
My manager once told me we were going to turn down a very capable software engineer candidate because he was older and probably just going to try to pivot into a management role. I was disgusted but didn’t speak up.
Frankly, I do see a certain form of nepotism at play in some places as well. Let’s just say we don’t have the most diverse tech workforce.
Considering age alone is unfair.
My experience is the following: you have a lot less time to learn, indeed.
But the huge problem rather is that you have seen a lot of programming ideas getting in and out of fashion, so that you smell the bullshit in the trend that gets in fashion (and is paid well) much better than the younger folks. This way, in your mind you become more annoyed having to learn bullshit things.
Also, a huge problem is that, because you have seen a lot more things, you often really know better how things could be architected better, but you can't convince less experienced managers and colleagues of this, so you become more and more cynical.
I'm in my 50s, and in my current job, I've arguably adapted faster than the 20-30 somethings. As for learning, I've probably learnt more in this industry in the last 10 years, than in the previous 10. But that's the tech world for you. More people enter, more technology appears, more stuff to learn or at least be aware of.
A couple of related things I would suggest after 30+ yrs in this industry:
Try and become an expert in one thing.
That one thing should be a 'basic' thing, not something built on top of that. Such as core languages, or how cryptography works, or networking stacks. Never become an expert in a 'framework' if you can help it. They disappear as quick as they appear.
On one hand, I as a manager am filled with dread, as very few of them are interested in technology the way everyone in my generation of IT workers was. They know their narrow stack and are frustratingly incurious about anything else. They reach the edge of their competence and just... stop.
On the other hand, I know that if I keep my skills sharp, I can easily downshift into an IC and even keep my salary, because the competition is just nonexistent.
Only if the hiring org can tell the difference
I am also a technical interviewer from time to time for a recruitment platform and see a lot of people and often see people stick to their own little niche and not learning anything outside of it (especially with Java tbh). Like they’re not even following the advancements in the Java language, not to mention their “3 years kubernetes experience” where they didn’t even bother to learn the basic primitives.
I don’t know, I find it weird to stop learning
I'm turning out 10x better products though, and I can anticipate and avoid many classes of problem I couldn't back then.
I am a better and more productive engineer at 45 than I was at 25.
If you want to stay employable master the fundamentals. Despite all the surface churn software development changed very little during my career. I still use Unix (Linux), vi (vim), SQL, and C-family languages every day. And I use lots of newer stuff too.
Don’t focus on frameworks or other fads and fashions. You may have to learn them but don’t think “React developer” describes a long-term skill you can rest on.
Make as many friends and contacts as you can at places you work. Not just fellow nerds — I have contacts who run companies, work as CFOs and logistics managers, have senior positions at Silicon Valley companies, banks, government. A good network of people who respect you will prove invaluable. Treat your work colleagues like gold, help them get jobs, stay in touch.
I don’t have the energy of a 20-something anymore, I can’t work 16 hours on pizza and beer like I used to. But I don’t need to burn so hot, I usually already know how to solve the problem because I’ve seen it ten times already.