July 14th, 2024

How to Know When It's Time to Go

The article explores the decision-making process of leaving a job or career, drawing insights from a retired programmer. It emphasizes self-honesty, adaptability in the programming industry, and considering industry switches for career fulfillment.

Read original articleLink Icon
How to Know When It's Time to Go

The article discusses the decision-making process behind knowing when it's time to leave a job or a career, particularly focusing on the perspective of a retired programmer. The author reflects on personal experiences and observations of individuals who reached a point where they could no longer continue in their current roles due to various reasons such as lack of interest, technological obsolescence, or seeking new challenges. The importance of being honest with oneself about job satisfaction, skill relevance, and career direction is emphasized. The author highlights the dynamic nature of the programming industry, where staying updated and adaptable is crucial for long-term success. The narrative also touches on the potential need to switch industries or roles to reignite passion and fulfillment in one's career. Ultimately, the article encourages individuals to make informed decisions about their professional paths to avoid stagnation or dissatisfaction.

Related

Link Icon 33 comments
By @JKCalhoun - 3 months
Retired from Apple a few years ago (at age 57).

I was not obsolete. A big company like Apple, there are always things that need taken care of.

I assumed with iOS, Swift, etc., maybe the guys on the Cocoa team were obsolete? Of course not. That code is still there, still needs maintaining, interoperability with the new languages, frameworks, etc.

I'm more surprised they want to stay on.

And that is in fact why I left Apple: the job had changed, the "career" had changed. The engineers were no longer steering the ship. It had been that way when I started in 1995 though. A "team", let's say the graphics team, would figure out what API to revisit, what new ones to add — perhaps how to refactor the entire underlying workflow. The "tech lead" (who would regularly attend Siggraph since we're talking about the graphics team) would make the call as to what got priority. Marketing would come around after the fact to "create a narrative" around all the changes to the OS. I hate to say it, but many, those were the good ole' days.

(And let's be clear, in the 90's, Apple's customers were more or less like the engineers, we also loved the machine for the same reasons they did — so we did right by them, made changes they would like because we wanted them too. You can't say that as convincingly for the phone, being a mass consumer device.)

Marketing took the reins long ago though — especially as Apple began to succeed with the iPhone (which, someone can correct me if I am wrong, but I think was an engineer driven project initially — I mean most things were up to that point).

I stuck around nonetheless though because there was money to be made and kids still to raise.

When the last daughter flew the coop though, so did I.

By @Scarblac - 3 months
I started programming at 10 and now I'm 50, and right now it feels like I've reached this point -- it's boring, I have trouble keeping up, I feel the things work lets me work on are not important. Interesting work goes to younger colleagues.

The problem is, I have a family and finding fulfilling work that you have no experience in, in this country, at 50, is close to impossible.

So for now I consider myself lucky and try to rediscover the fun things in programming.

By @peterldowns - 3 months
I respect the OP's vulnerability and the advice. I've felt like it was "time to go" before, but as a young man I just assumed it was burnout, treated it that way, and got back in the game once I had renewed desire.

Right now I feel like I'll never want to stop making things, but that if I were rich enough and good enough at creating in a different medium other than code, I completely understand the desire to walk away from the terminal and never look back. Few things have been as frustrating to me as programming. Yet since few things have been so rewarding, I persist.

It's a great article because it's making me think about my own life. I'll keep pondering. Thanks for posting it.

By @ricc - 3 months
Kinda similar to how Kobe Bryant knew it's time to retire from the game of basketball. He said in an interview (https://youtu.be/Ya8hY0S-8t0?t=54) that he knew it's time when during his morning meditations, his mind will not drift to basketball anymore.
By @ralphc - 3 months
I retired in 2017 and sometimes I think I got out at just the right time, or close to it. In the past 7 years we’ve had the pandemic, remote work then the clawback to the office, and so. many. JavaScript frameworks and changes. And now layoffs all over the place and having to keep up with AI to stay relevant, AI and LLMs are changing faster than React and its ilk.

Instead I now program in a great language, Elixir, working on projects that I want, and reading books that I’ve been putting off for decades.

By @ChrisMarshallNY - 3 months
> I still write code every day in support of my generative art practice. The code is much more complex than anything I did previously, and much of it does not have anyone else doing it, so it's a lot of invention, which is fun.

Can relate. I've been "retired," since I was 55, and SV was nice enough to let me know that I was too old to play in their pool.

Pissed me off, something fierce, but, in the long run, it's the best thing that ever happened to me.

I could have made millions -for other people- maybe for me, as well, but I have never really been interested in that kind of thing. The work and the technology has always fascinated me.

I've found that what I really enjoy, is making UI tools for nontechnical folks. That's what I do, these days. I make free software for folks that can't afford the kind of stuff I do.

By @munchler - 3 months
I’m in my late 50’s, and I still love making software, maybe even more now than when I was younger. What’s happened to me over decades as a professional is that I’ve totally lost any interest in “career” or the large corporate entity that employs me. Once any organization grows beyond about 20 people, it starts to become dysfunctional, so I’ll be retiring the day I can convince my spouse we have enough money. That will give me more time to work on things I care about, including software.
By @Joeboy - 3 months
Hopefully people will tell me why I'm wrong, but right now programming is just feeling like a bit of a dead end in general? The demand seems to be for AWS gurus, data analysts, low-code, prompt engineering etc. I'm not against learning new things to stay employable, but the new things that are in demand don't really seem to be programming. I learned a bit of Rust because it's kind of new(ish) and exciting, but apparently there's a massive glut of Rust devs. Whereas 15 years ago I learned Python and my employment prospects rocketed.
By @ggm - 3 months
I always refer people to the Doris Day performance of Carl Sigman and Herb Madgison's hit song "enjoy yourself, it's later than you think".

https://www.youtube.com/watch?v=nQxsG9Vcndw

There's also a Guy Lombardo and a Louis Prima version but I like this one.

I've been singing this at work for a year or so, trying to give people a gentle hint about my future.

By @imiric - 3 months
This is a great retrospective. Thanks for sharing.

> It's not worth working and being miserable.

Agree 100%. I've quit several jobs after the environment becomes more stressful than fun. Over the years my tolerance for BS has lowered, possibly to the detriment of my bank account. But I've never regretted my decision to leave. The weight off my shoulders is priceless.

> Age and ability are not correlated.

I wonder how subjective this is. Cognitive decline with age is real, but maybe keeping the brain active with programming can help keep it at bay. A study about this would be interesting.

By @jasonkester - 3 months
I consider myself retired, but I have a different take on the concept.

I like programming computers, but just not 2000 hour a year. I can afford not to do that, so I don't.

I hit a point in my 30s where I could sock away a year's worth of savings in 3-6 months of contracting, so that's pretty much where my full-time phase ended. I came back "out of retirement" when the first kid was born and worked 5 years semi-fulltime to save up enough for houses, college, etc., ramping down to 4 day weeks for the last few years because I really value my free time.

Since then, I've done the odd 3-6 month/year stint (since programming and working on a good team that can ship is still pretty fun.) Recently I've been doing that part time, 2-3 days a week, a few months a year.

I don't know what most people would call my situation. I call it Retired as I want to be at any given moment. I expect I'll keep doing it for the dozen-odd years between now and when I hit "Retirement Age". But maybe not. It's almost more of a hobby at this point.

I guess the point is that it seems like a silly idea to do something all day every day for most of your life, then suddenly drop it completely. If it was fun, do more of it. But on your own terms, and only enough that it's still fun.

By @GnarfGnarf - 3 months
I've been happily programming since 1965, and I've been doing C++ since 1995. There is still so much to learn, it's never stopped being fun. However, Apple Notarization may just be the straw that breaks the camel's back.
By @lenkite - 3 months
I really thought this was going to be a post on The Go language when I clicked the link.
By @paulsutter - 3 months
> You probably don't know any retired programmers

Ha I know lots of retired programmers. I was one for a while, but like most I really wanted to get back to work

By @jongjong - 3 months
I'm nostalgic about the good old days prior to 2016 when every technology change meant improvement. Nowadays, tech doesn't change as much, but when it does, it's for the worse.

It's been a challenge for me to adapt to the new reality of coding as a game of busy-work and lock-in through complexity.

It has become a bit of a theatre for me, unfortunately. I know I could do something in a way that's 100x more efficient but it would negatively impact my job security so no thanks. Also, if I do the right thing, taking all the risk upon myself, nobody will appreciate. I'll stick to inefficient popular tools and methodologies. I'll play the game of Whac-a-mole... Like a bad gardner who pulls the weeds out by the leaves and leaves the roots behind. That's the smart move.

I tried the other approach, doing my very best, outperfoming and it couldn't have worked out worse. The manager class feels nothing but contempt for people who outperform. "Good boy! Here, have a pat on the back... Sucker."

By @swaggyBoatswain - 3 months
I've only been programming for 6 years. I don't feel the same burning passion as I did when I first started coding. I'm a frontend developer, but I've made a lot of lateral switches into DevOps, backend, leadership, etc but I prefer just building what I'm good at though

But I'm basically semi-retired to a degree in my field. I'm doing the bare minimal to get by at this point. I ultimately would love to quit some day, and pivot into a different career, not entirely related to coding. I'm not at that point yet financially though, and am spending energy elsewhere

I would love to start a non-coding related business one day though.

By @gregfjohnson - 3 months
I turn 70 tomorrow, and have been programming for about 53 years. Started a new job about six months ago. I immensely enjoy banging out the code every day. It still feels like a guilty pleasure! "Shouldn't I be doing homework right now rather than creating 3-D worlds algorithmically?" My first language was APL, which I learned in a college computer science course. This hard-wired me to think in functional terms; I personally think Iverson and Dijkstra were saying the same thing, but Iverson said it better: reason about your code from an "outside of time" perspective rather than mentally imitating the fetch-execute cycle of the machine. I view software development as a form of discrete mathematics; inductive reasoning for sequential blocks of code, Pnueli-style temporal logic for concurrent and parallel code. I've learned from some wonderful people how powerful it can be when a team likes each other and gets into a collective flow state. It is a bit like a mental version of quantum entanglement, and it is a very satisfying and meaningful thing when you get there. I've benefited from friends who helped me get that next job, and I've helped friends get their next jobs. About 20 years ago I made a switch to medical device software development. That is a domain that requires dedication to learn relevant mathematics, it is not going to go away, and you become a valued commodity when you have specialized skills and a talent pool that is not too large. And, you get to do things like visit your grandchildren in a NICU and see neonatal ventilators that you helped develop. So, I've been lucky, being able to play all day and do something I love! There are a million different paths through the space of software development; I've tended to traverse the space using the "what would be fun to goof around with on a Saturday" metric.
By @rr808 - 3 months
I'm still going, but the biggest issue I'm finding is that knowledge keeps turning over. I have made big efforts in the past to learn technologies, languages and libraries that became obsolete then starting all over again. Software Engineering now is completely different to what I started with.

I have more Project experience but technically I dont know much more about Cloud, JS frameworks, modern DBs etc than someone 30 years old. Ironically my main advantage seems to be I can focus more and work longer hours than younger people who seem to value WLB much more than we used to.

By @corpMaverick - 3 months
I have been programming professionally since 1989. I think my strength is to find straight forward solutions where you can focus on delivering value reliably. But now days I feel that are so many smart people jumping from project to project and leaving mountains of technical debt behind. We spend a lot time managing accidental complexity and I no longer enjoy my job like I used to.
By @funmi - 3 months
Possibly tangential, but this article and some of the discussion here reminded me of this HN thread from 2020: "Ask HN: Former software engineers, what are you doing now?" - https://news.ycombinator.com/item?id=23951850

A former boss of mine retired early once he decided he was done with the politics required to navigate his work. He fully unplugged from corporate life and got comfortable delving into his passions... cycling, woodworking (so much woodworking), etc. He seemed to be having a blast from what I could see. I recently caught up with him, and it turned out after about a year off, he'd just accepted a job at a fintech that his former boss reached out about. I guess for him it was time to go from that specific job but maybe not quite from engineering in general.

By @devjab - 3 months
I’ve been in programming for two decades and one of the things I enjoy about it is that things change. I did my stint in both architecture and management because I thought what you were supposed to do, but I went back to programming because I like programming. I’ve worked on so many different technologies that I’ve probably forgotten more than some people even learn yet I’ve always liked it.

I do get how you can burn out, especially on the business side of things. A lot of jobs just aren’t important. The trick is to avoid them if you can and leave them as soon as possible if you can’t. Every non-startup / non-economic boom job comes with some degree of Kafka, and you’re either going to learn to not care about it or go crazy. I’m not sure that is especially unique for programmers though, this seems to be most things. Unless you’re extremely talented at the HR part of organisational politics (which most programmers aren’t) you’re also going to have to build some really stupid stuff during your career because change management is hard. So hard that it’s virtually impossible for talented HR staff to do when the direction is upwards, which it’ll always be for programmers. Again, it’s something you either learn to laugh about or burn out on.

The change in technology, however? Isn’t that part of the fun? If it isn’t, is that because you don’t have the time for it? Because if don’t (and a lot of jobs won’t give you this) then you’re frankly in one of those “leave as soon as possible” positions. Even so, niche work rarely dies. The author mentions mainframe work, but mainframe work is still some of the highest paid work in the world because those grey beards who actually know and want to do it are so retired that a lot of them are frankly dead. I’m not sure how you could ever work on mainframes for 40+ years and then not be able to get paid handsomely by banks.

Anyway to each their own. It’s a nice perspective, and it offers you a few insights into just how much of a cog in the machine you’re going to be in virtually any job. Even one where you’re extremely well liked and rewarded. I think the best thing I learned from my stint in management is how everyone, and I do mean everyone, is replaceable. It’s just a matter of cost. Which can sound depressing, but it’s also very liberating because it teaches you to not get overly attached to jobs or employers.

By @away271828 - 3 months
For me, it was very obvious at the end. Technical but not programming. Felt like I was winding down. Circumstances were such there wasn't a lot of mobility within the company. Was somewhat disappointed that I didn't get a package as part of some layoffs but I assume powers that be didn't want to voluntarily lose headcount.

Ended up hanging around for a year effectively working part time. Not sure that was the right idea or not (had lots of vacation which I pretty much all took) but year+ passed by and it was pretty obvious at that point I couldn't drag my feet any longer and didn't have the interest or need to do a job search.

By @marcyb5st - 3 months
I am repurposing the life lesson my grandfather imparted to me before passing. It was meant about one's sex life, but for me it's applicable also here:

"If the struggles outweighs the pleasure you should stop doing it".

By @hypeatei - 3 months
I recently put in a word for a senior programmer I worked with in a previous job and he got hired. Well, it's really clear he doesn't care anymore and doesn't find anything about software development interesting. Now I'm in a tough spot because he's a major burden and my manager wants to give it some more time but I don't see it working out.

I heavily relate to this line in the article:

> Some time ago, I knew a programmer with the same number of years of experience as me. Yet he seemed unable to comprehend what was required of him, and I had to review everything he wrote because it rarely worked

By @t43562 - 3 months
Echoing some other posts a bit: my problem is that I see silly things happening over and over again and I find that telling people doesn't help. Every generation appears to have to learn the same lessons again the hard way. It's a bit depressing.

I made some of these mistakes. I didn't have anyone to help me avoid them. Now I can help but .... I cannot help. Only after the balls up and even then often not.

By @swiftcoder - 3 months
> They couldn't comprehend why anyone would retire. One of them, whom I had worked for for two of those jobs and always made his life easier, never spoke to me again or even said goodbye.

If I had a nickel for every leader I've worked for who didn't know when it was time to go... I'd have 3 nickels, which is still a surprising amount

By @Tao3300 - 3 months
Right now I'm in this goofy spot where I'm probably walking away from it. Nobody wants backend and API-layer Java devs anymore. They probably need them, but they don't know it in the midst of the AI bubble.
By @fennecbutt - 3 months
I thought this was going to be about Go the language. Damn title case
By @begueradj - 3 months
Interesting insights. Thank you for sharing.
By @geraldwhen - 3 months
I make $300K/year. I’ll leave when I’m ready to retire.

And if I’m lucky enough to get laid off (around retirement time), that would be a huge windfall to move me toward retirement.

Programmers planning to work after 50 are fools.