A Forty-Year Career (2019)
lethain.com
lethain.com
I would have to do these kind of things on the side and I don't want my whole intellectual inner life and my hobbies to become software. I don't want to write software blogs in the evening. I want to read history books and cook dinner. I don't want to do podcasts on Saturday. I want to tear the drywall off my entryway and frame in a new window. I don't want to do side hustle paperwork on Sunday. I want to teach my kid how to shoot. I don't want to take a day off to go to a developer meetup. I want to go march for Medicare.
I used to be the guy who lived in software development. Lived as in spent every waking moment doing something with development, including working stupid hours that in retrospect could not possibly have been productive. I woke up one morning and I was 30 years old, divorced in large part because I lived at work, had developed diabetes because I didn't take care of my body, and almost friendless because I chose my computer over my friendships nearly every time.
That wasn't living. When I finally woke up I realized that I had wasted my 20's: I was an addict getting a fix, not some genius reaching enlightenment.
Maybe some people are able to do both, but when I had that realization I decided to leave my software endeavors at work unless I knew it was a side project of a very short duration. If I wasn't being paid at my 40 hour a week - and not more than 40 hour a week - job, I needed to actively resist plunging into it as a default rather than vice versa.
As a result of this, I know I have become a worse engineer. But I also have a wife and kids, several hobbies, friends I care about who care about me, and while my health will never fully recover from developing diabetes I would say that I am in astonishingly better health than I was at 30. I will take that over my addiction to the software treadmill.
That's a true statement and a painful insight.
I count four. Curious, what's the fifth?
Your comment made me realize that it's quite an interesting sentence.
Probably this
Unfortunately during the last decade+ we haven't really talked that much about long careers in tech. Instead it's been mostly about FIRE, or people quitting the industry due to burnout.
When instead of thinking how can you make the most money to quit your job the fastest, you think how you can sustain and grow in your job the longest, the whole framing of your career changes. I personally joined the industry because I love tech, and imagine myself working on it on some form for a really long time. At the same time I have been burn out more than once (this is actually and ongoing issue) so more discussion on how to handle career long term is appreciated.
If the world thirty years ago needed fewer software developers, then you'd have fewer 20 year old new software developers - and that strongly reduces the odds of having as many 50 year old developers today as 20 year old developers today.
Population has vastly increased as well, which affects all professions.
How many times has that automation resulted in the business saying "great, things are easier" instead of "great, that's quicker now, let's do more things with the time we freed up?" I've only seen the latter, which just breeds more* need for more automation.
You can see it in how much software the average business employee used 40 years ago vs today, even halfway through your timeline.
My father ran his two-person business with spreadsheets, word processing, and games (haha) about 40 years ago.
I think people forget how much tech was around in the old days. Moon landing and SR-71 happened in the late sixties. Mythical Man Month talks of the software/PM angle and most chapters apply directly to today.
Ageism is a thing.
Then our field is somewhat unique because it's evolving extremely fast, I don't know about Lawyers and Doctors, but I doubt things change nearly as fast.
I used to teach CS. I routinely had to teach stuff I just learned a few years before, even in undergraduate classes. Sometimes I learned things from my students... In comparison, my 60 years old maths colleague has been teaching the same linear algebra class his whole life.
I now try to pay back that mentoring investment, and I encourage other people in the last half of their career to do the same - much of the challenge of software as an occupation and avocation is self-doubt and mentoring really helps provide objective feedback and perspective on what is truly important.
My 2 supervisors were in their 50s, and started out slinging bags on the tarmac. Knew their stuff cold...not just about the tech, but how to actually deal with and manage people. Lots of life experience shared with this very green kid who on paper was the technical 'expert'. And because they'd been there and seen waaay more than just the inside of an office, they understood the business we supported intimately. "Knew were all the bodies are buried" was the key phrase. I went on to consult with a Very Large Telco, which had a similar culture of valuing experience and worked with some of the most knowledgeable techs I ever met, most several decades older than me. Shoot...there was a lot of grey hair at IBM when I was there, before someone decided ageism as official corporate policy was a swell idea.
And that has made all the difference.
I'm in my late 50s and have been programming professionally for 30 years or so. And, right now, I'm being mentored by 78 year old engineer still writing code every day!
There just wasn't the same number of developers back then.
I can't find good numbers, but according to [1], there were 612,000 developers in the US in 2002, compared to 4.4 million in 2023 in the. It's reasonable to assume that there were probably an order of magnitude less again in 1984. So very little opportunity to become a 60 year old software engineer in 2023.
I'd hazard a guess that in another 40 years there will be a lot more 60 year old developers. (Either that, or zero because ChatGPT 15 has taken over)
[1] - https://en.m.wikipedia.org/wiki/Software_engineering_demogra...
* Yes, I know this doesn't quite hold as I'm sure people switched careers. Particularly early on in the computer industry where I imagine many people switched into software from more technical electrical/hardware type roles. But I still think the major point still stands which is the main reason for the lack of older developers now, is just the lack of younger developers 40 years ago.
> 7.99 million people employed throughout the economy in jobs that relate to trucking activity in 2021
so, about 2.5%
BLS lists ~132MM total 16+ year old workers in the US. Or 117MM working full-time. [2]
So about 1.6% - 1.8% maybe a bit more accurate?
My uncle is a 60 year old software developer, but he started writing software much later in life.
He started off in EE working for Sperry, went with the divisions wherever they went and switched over at the ripe old age of 47.
His previous work was all about state machines, so is his new work.
So "40 years of experience" isn't the same as 60 years old developer.
There's more of the EE/Physics grad turned software developer around than people who wrote software in the 80s.
I would still be working for someone, except the industry doesn't believe that I should be. I was frozen out, pretty hard.
Instead, I work for free. I really enjoy coding, and it's actually been vastly freeing, having my own schedule and structure.
TL;DR: I worked four jobs, in my career, with the last one being 27 years (25 of them as a manager, as well as tech). That was at a pretty highfalutin joint (a famous Japanese imaging company).
I finally got laid off, at 55, and started looking for work, and found the culture had changed drastically (I actually had done fairly well at keeping up with the tech, as that was my job). Old people like me, were very unpopular.
The interview process was pretty damn humiliating. It was made clear, that, even if some company did me the huge favor of granting me a job, I would be treated like crap. It was personal. People didn't like me, because of my age. In a couple of cases, they didn't bother hiding it, at all.
I decided "Bugger this for a lark," and retired early. I had the means, but hadn't been planning on it, for at least another decade.
As it has turned out, it was a blessing in disguise. Being able to do my own designs, process, and releasing, has been a joy. I've had to keep the scope humble, but it's really been great. I'm working with a nonprofit startup, where I'm actually helping a few younger folks to learn the ins and outs of what it takes to ship software.
I like working. I would have been happy to work for a great deal less than most folks, was willing to take risks on startups (as I was already set, anyway), had thirty years' experience shipping, would have been loyal, honorable, and had a fairly vast array of skills and experience, but, you know...eewww...gray hair...
It’s just that the American culture, writ large, and, more specifically, the tech industry, has deified youth, to a ridiculous level. It’s sort of a “cargo cult/magical thinking” thing, where people think younger folks can do the impossible, because they don’t have any old people around, telling them that it’s impossible.
Also, my generation has done a pretty good job of screwing things up, and it’s fairly understandable, that the succeeding generations have some resentment, about that.
Eh. It’s water under the bridge, for me, these days. I’m still miffed, but it’s not something I chew over, every night, before bed (I did for a while -I was pissed off). I have lot to do. It would be nice to have the money, and nice to have folks to work with, but I’ve adjusted.
I'm just about 45 now, though I'm still able to pass as in my 30's for a while still. But I'm trying to plan for a future where I'm boxed out of doing a job I'm very good at.
This seems like an easy competitive advantage and hiring edge, not sure why some haven't really taken it on.
I thought about it, but, in my case, I hated being a manager, and founding something like that would have taken a lot of non-technical, manager-style work.
In my current position, I am mentoring, but in a much less "official" capacity, and I'm very "hands-on" technical.
I think America's cultural preference for the young and the new is serving it well. Making way for the new is why we are programmed to die.
Some of these Jurassic-scale disasters we read about, all the time (unprofitable -yet huge- companies, imploding, ponzi schemes galore, falsified data, megahacks, etc.), are often of the "Didn't anybody even think about the ramifications?" type of things.
Many of these were almost entirely predictable.
I think the tech industry is experiencing sort of a reboot, right now, with a significant coefficient being decisions (or indecisions) made by people way too inexperienced (not always young. I have watched older folks that retire, jump into a new career, and make the same kinds of mistakes younger folks make, or that try to jump onto the latest buzzword, without understanding) to be in positions to make those decisions.
I agree that older folks are often "killjoys," and can be too damn cautious, but they are also a great resource, if you want your "impossible" projects to succeed. I suspect that a lot of these failures would have been successes, if the principals had simply proceeded in a more disciplined fashion.
The best team, is one made up of a mix of older and younger; with mutual respect, cooperation, and shared values.
The one that comes to mind is SpaceX. Despite their rather ... colorful ... CEO, they have a team made of many younger folks, but also a great many older folks in leadership positions (Gwynne Shotwell is nearly my age).
At the Japanese corporation, where I worked, many employment positions were not available, until the employee had reached a certain age (probably would be illegal, in the US). The company was run by older folks. In fact, they had to carve out exceptions to the mandatory retirement age, to allow the most senior executives to remain.
I'm really big on hybrid/heterogenous teams. I worked on many, in my career.
We don't always get along. A real creative team is always battling and arguing, but they also come together, and pitch in for the finish line. When I was at my last job, I worked with some of the top engineers and scientists in their field. We often wanted to strangle each other, but did great work.
In my experience, the really sick teams tended to be almost preternaturally quiet and "smooth-running." A real productive, creative, team can give the appearance of chaos. It's almost impossible to throw together a bunch of high-functioning, self-confident, ego-driven folks, without friction. Good management prevents the friction from becoming destructive.
I disagree with this. I think it does the nation a serious disservice. Both the younger and older generations bring distinct and important things to the table. Missing either of them is a serious strategic mistake.
(I think we're of the same generation.)
I agree. But I also remember being young and realizing that my parent's generation also did a pretty good job of screwing things up, leading to resentment in our generation, and a fairly overt sentiment that once the old farts have moved on, we'd be the generation that puts things right.
Funny, that.
I rather suspect that every generation thinks like this.
As the truism goes, every generation thinks both that they invented sex and that they're the last generation before the fall of civilization.
Quite specific demographic and workflow.
Also, I won’t really be publicizing the app, when it’s done, because the last thing we need, is to have a bunch of curious people, with no interest in the organization, signing up for a quick look-see, then abandoning their accounts.
I'm quite optimistic I'll be able to work another 5+ years, if I choose to..
I have. At the last company I worked for, 3/4 of the devs were over 50. At the company I work for now, about half are.
Both companies are doing real cutting-edge stuff requiring skills with modern tools and technologies.
[edit]
I just remembered that before I interviewed for my previous job, the recruiter mentioned that the company preferred to hire "more seasoned" engineers :-)
> At Digg, one mentor gave me the savvy advice that the fastest path to financial success was working for four years at three different just-about-to-IPO companies. A surefire way to retire by forty. (This is, for the record, pretty good advice.)
I don’t think it has been applicable for many years.
Marry a similar high earner to make it even more guaranteed.
There are lots of recent counter-examples; I have a relative who joined Uber shortly before IPO, he didn't get much. The pre-IPO valuation was already high and there were enough employees that grant sizes were not large.
Even joining Zoom/Snowflake/Mongo seems like you would've had to time it very well to make sure you got in before the peak and vested in time to sell before the fall.
Some other googling of recent tech IPOs shows a lot of drops: HashiCorp, Confluent, Monday.com, Squarespace... do you retire if you join companies like that just before IPO a few times in a row?
He correctly states that you should ‘change your situation’ (your job) if you’re not allowed to pace appropriately - but there’s a real tangible risk to getting recruited if your resume paints you to look like a mercenary who leaves every year.
Again, it just feels fuzzy and not black and white. Really great read though!
Yearly would be a bit much, but every 3-5 years isn't really that big of a deal.
Why is it good advice? What is the context in which it operates?
Less so in the moment. You could equally well pick three failures, and end up with close to nothing.