
The Planned Obsolescence of Old Coders - zerogvt
https://onezero.medium.com/ctrl-alt-delete-the-planned-obsolescence-of-old-coders-9c5f440ee68?mkt_tok=eyJpIjoiTmpnMVpqYzVNV05pTVdFeiIsInQiOiJGQ3c2TlphUmZLZERXZDI0ZFNiT2hkaTdpTVJcL3NrSWNicFVGVGI5c3VMMFJtaW1hMkRmMHFydU5pQXBpbkl3c1IwMko4WkR6amMxVTFyVG5LVlpwKzZBd2kxTzluM1pibkpyb1pTZ2poS0RtZ3ErZU1XU2lpT3BIRHN1Mmw1ankifQ%3D%3D
======
wcoenen
Was already posted 1 week ago:
[https://news.ycombinator.com/item?id=19339544](https://news.ycombinator.com/item?id=19339544)

------
davedx
I turned 40 this year. In the last few years I’ve tried tech lead, Scrum
Master and architect roles. While I do enjoy being able to lead, mentor and do
work that can make other developers’ lives better, I was drawn back to
programming.

So here I am at 40, having a blast writing C# and TypeScript, still constantly
learning new things. Work life balance has changed a little as I have kids,
but I can’t see myself doing anything else for the forseeable future.

Programming is an amazing profession

~~~
mmsimanga
43 this year. Spent last 8 years as a manager now back to being a developer
and enjoying it. Yes I liked mentoring people and making decisions. I never
entirely left coding I still spent about 20% of my time on code.

If I were to put one reason down why I don't mind being a coder I think being
a manager can be mentally exhausting. You need to remain positive for your
reports even if you don't agree with decisions made higher up. Too many things
are not really in your control but you are responsible for them. Maybe that
was just my experience. I hated letting my team down.

~~~
tempotemporary
> I think being a manager can be mentally exhausting.

I was thinking of management as a way to escape downsides of working as a
programmer. For ex.: a responsibility for bugs that I put in product, failure
to deliver on time, rush to finish before deadline and all other stuff that
burns me out.

~~~
mmsimanga
There is some truth to what you are saying but that's not the complete picture
to being a manager. You might shed some responsibilities but you pick up a
whole lot more. The comment in this thread describes it better than I
described being a manager
[https://news.ycombinator.com/item?id=19407800](https://news.ycombinator.com/item?id=19407800)

You need to ask yourself how much you like mentoring people, spending time in
meetings, playing the politics ... because those are the roles you pick up.
Managers still have to explain why bugs are in the system even though they
didn't write any code. I honestly think some people are wired for being
managers and some are not. Trouble is some companies pay managers more and let
them run riot with over developers.

------
rcarmo
I work as a cloud architect and still code, but the overwhelming perception
people have from “senior” roles and people (which are often conflated) is that
we are expected to be doing management, planning and presentations rather than
knowing how stuff actually works at a fairly low level.

It is especially bad when you have to deal with CIOs/technical managers one
day and developer/data scientist teams the next day, because both have
entirely opposite perceptions of what “competence” is.

If you code or are seen coding a significant portion of your time (even for
POCs), the prevalent bias (largely from customers, but I’ve had peers act the
same way before figuring out who I was) is that you’re someplace at the bottom
of the food chain. As a result, I largely stopped coding on-site at customers
and only bring out “the goods” when I am doing training/mentoring/reviews with
technical teams.

I also have surreal conversations with recruiters every now and then. Those
who find me via GitHub expect me to be 20 years younger, and those who find me
via LinkedIn... let me rephrase that, the ones who find me via LinkedIn are,
on average, mostly clueless about technical skills, so age is not a factor
there.

It depresses me to no end to realize that our entire industry does not use
experience as a yardstick and to see startups recruit young developers and
technically clueless management, especially when demand for good developers is
going through the roof, and young developers often need the kind of technical
mentoring more experienced hires can bring to the table.

~~~
kthejoker2
Are you me? Wish I could upvote a dozen times.

Free startup idea: map people on LinkedIn to the types of roles they're
aspiring to based on skills, experience, activity, etc. Especially those with
more than 5-10 years experience.

------
tibbetts
I’ve hired engineers in their 40s and 50s at a startup where I was the 25 year
old CTO founder. Now I’m turning 40 and my most recent title was CEO. Some of
the best ICs I’ve worked with were later in their career. And not only are
they good engineers, you can expect them to talk to customers, to prioritize
what matters for the business, and to be circumspect about technology choices.

There is definitely ageism in tech.

One thing that I think drives it is that it takes a while to figure out if a
programmer is really capable. There are a lot of not very good programmers.
When I interview someone with 2 years professional experience I need to be
looking for potential. When I interview someone. When I interview someone with
25 years professional experience, I can be looking at results and experiences.
I’ve hired one engineer who was leaving after 15+ years at IBM. He was great
and had done a lot of things. I’ve hired another senior engineer who was
bailing after 2-3 years at IBM, and he complained that everyone keeps their
heads down and it was too easy to hide. And I’ve interviewed several former
IBM lifers who I decided not to hire because they were the ones keeping their
heads down and hiding, having had minimal impact and with limited experience
making real technical decisions. Even if you are “age” blind, experience gives
you a lot more to judge, and often to judge harshly.

It’s not just IBM. I can say the same about Cisco, HP, and the Mathworks.
Probably any large engineering organization. And I am starting to see it in
candidates leaving Amazon.

There are career trajectories available to developers which can seem safe, but
lead to dead ends. Working on safe boring things in a large organization is
one. Being a reluctant middle manager is another.

------
seibelj
> Proven engineers who occupy the most senior roles should be deployed to
> solve the hardest problems on the most critical projects. Their roles should
> emphasize technical leadership through writing, speaking, and mentoring.

Isn’t this the issue? There are only so many spots for engineers who can be
paid to pontificate on the “hardest problems”. And those super-senior
engineers need to be absolutely top of their game to be considered for this
role, which means weeding out 99% of weaker engineers. Unlike other jobs,
being older and having more years of experience does not mean you are the most
qualified to solve hard problems.

Ageism is a real thing in tech but imagining that we can hire all the old
engineers to be elite architects is no different than the current situation.

Also, the proposal for unions in tech at the end came out of nowhere. I don’t
think the author should conflate the problem of ageism with unionizing all the
programmers. Ageism is something most people will agree is bad whereas the
subject of unionizing is completely different. Not sure how laying people off
by seniority in the union will make companies more innovative and effective.
But that’s why the author should make a second post about their views on that
and not conflate the two issues.

------
vfc1
You don't HAVE to be an employee, that is only one choice among several
possible ways to live.

As a senior developer, you can make some in-demand software an sell it, there
are tons of developers making a living of selling a software product.

Another alternative is to develop a Sass product for a given niche. With tools
like Amazon AWS, Google Cloud or Firebase it's easier than ever.

Contracting is also an alternative, as it removes the burden from the employer
for paying more money for firing a 50 year old than a 25 year old, as in a lot
of countries severance packages must take in consideration the age by law.

Its also a very well paid profession, if you start contracting early, early
retirement is a viable option, plus using the money to develop another
business.

Here is a career path: start as an employee junior developer, but move to
contracting as soon as possible. This will give you a financial surplus that
you might need later in life. After a couple of years contracting, think of
creating your own business.

Companies want cheap labour willing to work extremely long hours, so they
prefer younger people, it's not going to change.

But there are valid alternatives, and today more than ever.

------
blahblahthrow
While I don't doubt ageism is a real factor in tech, this article conflated a
bunch of stuff:

\- the first woman was called a "mom" and basically drummed out of the
industry to academia. That seems like sexism is the more pernicious aspect

\- especially when you consider the next example is a guy who was
discriminated against at one big name company, but also found a role

\- then we get into IBM lifers having trouble moving into new roles after IBM
downsized. The downsizing at IBM was inherently ageist, but their subsequent
struggles in the job market could have a lot of contributing factors - a whole
career at a single company doesn't set you up for success in interviewing, at
the very least.

\- finally we have the "how will my career develop" issue, which isn't ageism?
Outside of management, higher-level IC roles inherently have "squishy" aspects
- you're making hard, long-term investments and the payoff takes years in some
cases. You can't administer a test to say "this person is a principal engineer
and this one is a staff engineer", and complaining that the categories are
arbitrary is kind of silly - they're created arbitrarily so you can feel like
you're advancing even though the substance of your work is largely the same
because you chose to keep doing IC stuff

~~~
exelius
Discrimination is rarely about “one thing”. That’s why the concept of
intersectional identity exists, and how the various components of who you are
(age, race, gender, parental status, etc) get weaponized against you. The more
marks against you, the more discrimination you will run into.

Agree about the difficulties in assessing technical talent though. Once tech
talent surpasses the ability of their manager to understand what they do,
career progression stops. So it largely becomes about tenure / seniority
instead.

------
SimonPStevens
There is something I've always struggled to understand...

Forget tech for a second. In any job type, isn't it a pyramid. There are lots
of junior roles, slightly fewer senior roles, fewer again manager roles, only
a few senior manager roles etc. Isn't that just a natural part of any team's
makeup. You only need one leader for a team of 5-10 people, etc. I've
witnessed this team structure at every single company I've worked for (and as
a contractor for 10 years, that is a lot), if you want to progress up to the
next level there are always fewer jobs available.

Doesn't that mean that as you get older, competition for the job at a
seniority that matches your age become increasingly difficult. The number of
people doesn't change.

Not everyone can progress up the ladder when the ladder narrows as you go.

This isn't ageism is it? It's just the natural lower demand for more senior
people.

And I guess what follows from this is the people who fail to move up, and try
to stay at their current level are then also competing with the people below
them who are trying to move up.

~~~
gowld
The ageism comes in when employers prefer younger people because of
"trajectory" and "potential", since as you note, most of those young people
will not show trajectory or useable-to-the-employer potential.

What's not ageism is that employers refuse to pay higher wages for people with
years of experience that the employer decides are not more useful than the
lower experience of younger/newer people.

------
EliRivers
Standing up now on my soapbox as I am, the vast majority of problems I've come
across in a couple of decades and a half-dozen different employers did not
require incredible programming skill or knowledge. When things went bad, they
went bad because of lack of design, ignoring quality mechanisms (such as
testing and reviews), inter-personal problems, poor planning, inadequate
allowance made for training, and so on. Almost never for pure programming
reasons.

The ability to prevent or fix all these often comes with experience. I'm good
at programming, but I can't ignore that I have the most beneficial effects on
the bottom line when I'm making sure the team is functioning smoothly, when
I'm helping the less-experienced understand some of the rough edges of the
programming language, when I'm politely but firmly (and weeks ahead of
disaster) telling the project manager that course correction is needed, when
I'm requesting (and these days, winning) time and budget for training, and so
on.

If I was some kind of super-genius software engineer, working on truly hard
problems, I'd be more valuable to the company writing code all day, but I'm
simply not and the majority of companies (in my experience) are really not
doing anything very special in code. I do still write code, I do hand myself
the problems that I can see require thought and experience and so on [0], but
the contribution I make beyond banging out code, based on years of experience
and the skills I've developed beyond the purely technical - is far more
valuable to the company.

[0] While making sure that the less-experienced get tasks that stretch them
but will not demoralise them, which is itself a tricky thing; I have to keep
tabs on those, balancing their educational struggle with it against the need
for it to be done and the need to keep them happy and motivated - if an
insecure junior software dev has three or four car-crashes in a row, you can
lose them forever.

------
RickJWagner
Mid-50s programmer here. I have some advice for younger coders.

When I was in my 20s, an older programmer gave me thoughts about moving into
management. He had tried it, and came back to programming. He said "The
problem with being a manager is that they nip at you from the top, and they
nip at you from the bottom." Meaning that you not only still had a boss, but
you also had people below you that you had to keep pleased, too.

Fun fact: Senior-level programmers are often paid more than their managers.
(At least in the companies I've worked for.)

I plan to program 'till retirement. I read plenty and seek out new challenges.
With the advent of containerization, K8s, serverless I think there is plenty
to learn for the remainder of my work time. I don't fear a younger generation
will absorb it all any faster than I will, there's just too much to master.

------
eggy
I have been coding since 1977, but I have only had one job where coding was
about 15% of my working tasks. I see coding as a tool, and have used in all of
my jobs. Now, I use TaskJuggler and track my projects using it. I write
desktop utilities in J for my engineering issues. I write small apps in Frink,
C, J (switching to Dyalog APL), F# or Python to assist me, and sometimes other
engineers (not software, mechanical, civil, marine, entertainment engineering)
at my current job. I have even used Racket with Rosetta to do some generative
geometry for a challenging structural job. I script Rhino3D, FreeCAD,
Blender3D, and AutoCAD. I love coding, so I get to play at work and at home
with it - it is not my main task at work. I read old and new, highly academic
books on coding. Early on I made the comparison of coding full time to the
word processors of the 70s and 80s. People talked about how if you learned
WordPerfect you could make so much money. Then it happened in the late 90s
early 2000s with "website creators". I have made sites for some small
companies in ColdFusion, ASP, and plain HTML/CSS/JS. People took training, and
at first made decent salaries, and then they became a commodity when salaries
equalized with market forces of a large labor pool. I see a somewhat similar
phenomenon going on with the basic coder today, especially front end or even
full stack developers. ML/AI and data science is the latest refuge to at least
allow coders to expand into statistics and mathematics with evolutionary
algorithms, neural networks, etc. I was reading about neural networks, fuzzy
logic, and genetic programming, since 1988. I am so glad I didn't pursue it as
a job. I might have liked pursuing it academically, but I probably would have
wound up in a related job. In other words, you're not just a coder, and I say
that not disparagingly, but as what I see as a return to what coding was when
it started - a cool tool to be used for your tasks at hand. There are those
who truly want to code 24/7, and I see why, and can empathize with why they
stay a programmer and don't move on to middle management. I may have chosen
that path. I am glad I didn't because I have many other interests that I
pursued through the many jobs in many fields I have had, and coding is always
a tool in my pocket.

------
sys_64738
Isn’t this the old specialization V commoditization roles? If you have skills
I can get cheaper (e.g. full stack) then I’ll hire cheaper. Specialization has
a smaller labor pool to draw from so salaries rise (e.g. cloud).

So that suggests the older you get then differentiations and specialization
are king. How does one full stack developer separate themselves from another?
If you’re an expert in a sought after area then they come to you.

I think college grads eventually get to this where they’re now looking over
their shoulder to the nextgen and realize they either need an exit strategy or
a longevity strategy.

------
tosser0001
I’m moving into my later 50s and have been an IC basically my whole career.
I’m at a company with a lot of people my age.

I was on the job market a few years ago and the only issue I encountered was
salary. I think the problem is when you’ve been at a place a long time, if
they appreciate your work, your annual salary increases will quickly bring you
to the top of the market. As time goes on you’ll get a few percentages over
the basic cost of living which over time really adds up. After 10 years your
base pay can be pretty far above the market.

------
peter_retief
I am 57, I still enjoy coding but struggle to work in teams. That is probably
more my nature though. My experience as an older developer is that people are
openly bigoted about age, that they would never be so open about race,
religion or gender.

