Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is working as a developer on technical route until retirement feasible?
167 points by jackalx on June 12, 2020 | hide | past | favorite | 108 comments
I'm in my mid 30s and has been working in the software industry for the past 16 years. I'm a Lead Engineer at the moment and I've tried jobs as architects previously and didn't enjoy it. I still love writing code, learning new tech/tooling/stack and doing hands-on technical implementation. However, at some point it seems that everyone at my stage is moving into management or higher level positions doing project management, meetings, architectural discussions (mostly meetings), etc. which I really don't enjoy doing. Has anyone here work as a technical guy until retirement and can share your experience if you have any regrets?


First, note you're likely to get some survivorship bias in these responses - older people who left the industry are less likely to comment on HN.

That said, as a developer in their mid-40s, here's my take:

1. In general, mid-level engineering management jobs (which I consider Manager to Senior Director level) pay significantly more because they are shittier jobs. Sure, there is the rare soul that loves these kind of jobs, but I think most Directors would freely admit they liked their day-to-day a lot more when they were coding. I find that the type of folks who succeed in these roles have basically stopped caring about work so much and are much more invested in their family life. I.e. they don't "love" their job, but they do well at it because they want to make a nice living for their family.

2. I went the senior engineer -> architect -> director -> senior director route, and honestly I hated being a director/senior director. I don't mind so much managing people, and I really enjoy mentoring, but at the director/senior director level you're doing a ton of managing up, which I hate, and there are a ton of logistical responsibilities at this level that I find mind-numbingly boring.

3. So I switched companies and am now a "principal engineer", which I love and I think is my sweet spot. I don't have any official direct reports, but I do a lot of mentoring and general "team management". Given my history, the senior execs at my company appreciate some of my "management-level input", but they know I'm most effective if I'm not involved in tweaking job-level band discussions. To echo another commenter, I do just enough management-level stuff to keep me involved at a high level, but I spend the majority of my time writing code, doing code reviews, and working closely with product management to give engineering input re: new features.

Your points just hit me directly. I consider myself pretty good with my problem solving skill and ability to learn. I feel like I am better as an IC than a manager. Yet, a few times, I got "convinced" into management role because whether manager left or they couldn't find people with enough knowledge for the position. I have always being able to say "nope". I've been working for 10 years, same big tech company but I switched to different teams every 2 years within the same organization.

Recently, I got into a honest discussion with the senior leadership and basically said "I just want to be an IC and next step would be Principal Engineer". So, they set up a role for me to do "special" assignments: I would pick something I think I could improve either efficiency or accuracy or brand new initiative for the business need. I'm mostly doing reconnaissance works where I would go in and see if this is something feasible to do. Once, I get a proof of concept working, the next step is to get a team of engineers (or current project's team) to discuss and delegate. I have to say I really like this experience so far. It has a feeling like doing consultant works with one big client!

It would be great if management would encourage this all up and down the chain including to IC's at the ends. There are many who would want to contribute but usually end the conversation on deaf ears. Or a management chain that is bias against the unknown. But lately, especially in this environment, profitability is speaking over innovation.


I took the bait and while I don’t regret doing it, it’s definitely not my favorite job. For me, a small team of 4-9 is ideal. I can stay connected to actual work, and get the chance to mentor others.

I’m actively hiring, looking for staff engineers and principal engineers who went this route and acquired a business management toolbelt, while remaining self-driven learners with a sense of professional value based on outcomes that continued to drive evolution of their own hands-on skills.

In other words, I’m looking for people who would like to be employed as #3 after proving #2 no problem and being able to speak that language.

In my head, "director" is right near the top of the organisation, just under "shareholder", and above C-suite.

So I'm intrigued by the "ton of managing up". Who are you managing up so much to?

To clarify some of the other responses, there is confusion between someone on the Board of Directors (often called a Director of the Company) vs. an Engineering Director. In most medium-to-large software orgs, the manager tract goes something like Manager->Senior Manager->Director->Senior Director->VP->Senior VP->CTO. Obviously some of levels may not exist depending on the size of the organization, but in general a Director and above manages few ICs and instead manages managers.

At bigco, management track goes:

Manager -> director - > VP - > C-level

There are often levels in between, such as senior director or senior VP, but that is the rough hierarchy.

In the UK at least, Director of X used to be more common than Chief X Officer, but they seem to be used roughly interchangeably. Similarly Managing Director was used more often than CEO. We seem to use a mix now but overall moving more toward US conventions.

Generally a Director reports to a VP. Sometimes you'll have Senior Director in between.

Director is also the word for someone on the board of directors, do it's confusing.

In a big old school company, a director is a manager of managers or lesser directors. You are usually a accountable for a chunk of the business.

Sometimes you’re a power player, other times you’re the meat in a shit sandwich with the big shots above, and the worker bees below.

I _started_ working as a coder in my 30's, and I'm 52 now. I am still getting inquiries from startups.

One thing that trips up some coders as they get older, is that on some level they expect to be able to stop learning new stuff, and settle into the role of grizzled veteran. While that is true in most fields, in software, it just isn't. If you are retiring in 5 years, you'd better be learning some new stuff now to be relevant/employable 2 years from now.

But, if you're willing to keep learning, then the fact that you have seen a number of tech trends come and go does give you a perspective which is worth something.

Lastly, you will probably make more money if you go into management or etc. But it's not like you have to be homeless if you stay a coder, so for me that's not much of a sacrifice.

This is the important part. You _have_ to keep learning. I work with a coworker who's in his 50's, he's flippin' GREAT. Super dependable, takes responsibility, likes to come in an hour early, code, not really talk to anyone and go home at 4. You can give him any project and he'll get it done, with tests and documentation and a one command deploy script. If I ever started a company I'd hire him in a heart beat.

I worked with a "grizzled veteran" at a previous job... He was difficult. Kept talking about how he had a "classical" computer science education background from Stanford. Over complicated everything. Never took responsibility. Never wanted to learn anything new. Just a pain, we ended up working around him whenever possible.

So if you really like doing what you're doing great! I'm actually going the opposite route now. I'm 29 and actively trying to hop to sales because I know I don't want to spend that much time coding anymore. Different strokes for different folks. There's engineers at google making 300k and sales people making 80k and vice versa.

Sounds like he should have stayed in academia.

If you have the personality and ambition to be a salesperson you can make a good career out of it. I sometimes thin what else I could do and still earn a living and my introverted personality style gets me back to engineering. It’s unfortunate because ther are a lot of skills to be learned outside of programming.

I've worked with a few successful introverted salespeople. I'm not sure I'd want to do it but they seemed to pull it off.

Pretty much this I think.

I started programming as a career in the last millennium, did desktop stuff for years (Delphi and then .Net) saw the writing on that wall and moved to the web.

It doesn't have to be a "no life, always learning" thing like some make it out to be, I've gotten good (and patient) at waiting things out, I'll take note of a technology, think that it seems interesting and then keep an eye on it for a year or two - I have an internal list I use to evaluate that, if it looks to still be interesting I'll pick it up at that point when there is a wealth of good material and best practices have shaken out and it's a lot easier to pick up.

The sheer torrent of stuff coming out means no one person could possibly keep track of all of it anyway.

These days I do my 40 hours at work and then maybe 4-5hrs a week looking at stuff that interests me outside of work because I find learning enjoyable and then I do other things and switch off.

It's amazing what even ONE hour a week of watching a tutorial that interests you anyway can do. I went through all the RxJs tutorials for genuine curiousity. Even though we don't use RxJs at work, I got really really good at knowing when to use `map`, `reduce`, etc. in code without being too clever.

Those two Sunday afternoons did wonders!

Can you guide what your routine is for learning new stuff and staying up to date? How have you managed to work and study to stay relevant and keep up with young people going into the industry every day?

1) You don't actually have to "keep up" with young people learning, in the sense that they will inevitably be quicker learners. But, you can compensate by being better targeted at figuring out what to learn, which is where seeing tech fads come and go is helpful. But, you do have to keep learning. 2) The best routine is more than I can claim to know, but using new stuff to do something you're interested in (e.g. use an unfamiliar library or framework to analyze some real-world data, or build a small website for a real-world purpose) is the way that works for me. Tutorials are fine, but you need to use it for something "real", although not necessarily work-related.

On your last point, with lots of companies expanding their IC tracks, it's likely with continued career growth that you can make the equivalent of a director/VP by end of career because of how companies are aligning compensation and job levels.

I am curious, a side from keep learning, did you do anything, like, kind of promote your personal skills/archivements, to make sure you're "visible" to potential employers or something?

Your best route to potential employers is to have been regarded as both productive and easy to work with at your previous gigs. Reputation spreads, one way or the other.

That's the worst part, you never become really good.

Although I am not near retirement, I've found there is a sort of sweet-spot to be found doing "kinda" management stuff while still emphatically being a hands-on full-time coder.

I.e. you can proactively do just enough project management, meetings, and architectural discussions so that people leave you alone the rest of the time to code, but you get enough influence to get things largely how you want them to be (i.e. no surprises/stupid decisions forced on you by a PHB).

It requires some drive & gumption to decide to do these things yourself and then the requisite organisational & social skills to schedule the meetings with people, make connections between teams, start the shared design-doc/slides/whatever, generally get people together and "make things happen" etc, but I've found that "the management" value this sort of mini-manager thing hugely, with the bonus that you are not just a passive passenger on the decisions being made about the work you do, but you are actively shaping it because it is you who is out there driving the agenda by just enough.

I can easily see this sort of role being viable into retirement if I wanted - people seem to really value an engineer who can do this sort of thing.

I've found that showing any degree of drive and gumption in the undeserved organizational tasks ends up eating more and more time as the expectations and scope increase, rapidly pushing out the technical work.

Finding the "just enough" part is challenging, especially if you're in an organization without a strong engineering culture where technical acumen is undervalued.

As I like to say - never let people know you’re good at something you don’t want to do.

I started coding at 22 years old out of college and am now 58. I've resisted the pressures of becoming a manager my entire career and have had no regrets. Recently I turned down yet another manager role for all the reasons you gave and couldn't have been happier. Management at my place understands my career plans and have been accommodating. I plan on retiring in 10 years but know a lot can change between now and then so if my current job becomes unbearable, I'll leave and take on freelance coding projects. I will never become a manager.

Turning 60 this year. Still working startups. Still enjoy building software, and still better at it than most of the young people.

This path is surely not for everyone. But it's certainly available.

I never wanted management, and don't think I'd be good at it.

Still rock your khakis with a cuff and a crease?

I'm either too old or too young for that reference.

Haha it's from the song Still D.R.E. where Dr Dre explains that he's still the same, fame and time haven't changed him. He hasn't gotten soft and decadent. He's still top of his game, still the same guy.

"Still puffing my leafs, still fuck with the beats, still not loving police". "Still rock my khakis with a cuff and a crease".

The sound of your comment came off the same way.

Ah. So I'm just too white for the reference :)

Rap in that era was made for white middleclass people, as it's they who could afford to buy the most CDs.

Ha! Yes, most definitely an age thing. Not a race thing. I grew up very white in the Midwest and this music was very much a part of the zeitgeist.

Still not loving police.

Represent for all the gangstas all across the world.

I have an analogy for the developer vs manager roles:

"I'd rather drive the race car than manage the race team."

In brief: there’s a good chance that age and experience will change you into wanting a leadership role. Start laying the groundwork for that now, even if you don’t think The Change will ever come.

As much as I wanted it to last forever, I eventually lost interest in being an individual contributor in favor of guiding others. My contribution was assessed not just on my own output but also on the output of those to whom I gave guidance.

Then I ditched tech completely and split my time between baking baguettes in the country and working as CS teacher.

Life and priorities change. Some fit naturally into a well trodden career path — such as going from an individual contributor to a manager. Some life and mindset changes will require you to find fulfillment elsewhere though. Techie to techie manager might not be enough change to sate you.

The most common pattern though, in my experience, is to switch to management because you want to. To that extent, assume this might happen to you too, and lay some foundations now just in case.

I worked with a guy in his 60s when I was in my 20s just starting out. He did good work and was a fine coworker.

He also made the same amount as the guys who were senior engineers in their 30s. His salary growth basically plateaued in his 30s, after that it was just COL adjustments.

He was perfectly fine with that though. He enjoyed being a coder, got paid enough to support his lifestyle, and liked that he got to shut off at night, since he had no career growth aspirations.

Most the folks I know in their 40s and older fit that mold, myself included. I make enough. My retirement nest egg is big enough. My job works for me.

Such a life would sound non-ambitious to someone in their 20s. But I did the startup thing in the first dotcom boom. I made software that was used worldwide, and went from "I want to code" to "I was the lead in a successful product" before I turned 28. My goals were met early.

Nowadays, I like to spend time with my children. We go out on the weekends and explore the mountains. I spent yesterday sitting in a zero-g lawn chair next to a lake nestled between forests and mountains, in the Rockies, chatting with my wife while my children ran through the forests and swam in the lake. I'll take a day like that over more money in my bank account, every day.

I don’t know, I just cannot see myself not being rewarded with any kind of raise for the next 30 years as a good thing.

Heh. I don't know how old you are, but it's pretty typical in all careers. At some point you just hit the top of your skillset.

And to go above that? Grad school and Phd or just very specialized niche knowledge or moving into finance/quant jobs?

You can get a new skillset but that may not increase your pay, just your job options, unless you learn a higher paying specialty (like AI or ML or something).

Otherwise your options are manager or architect.

Do you need to get Msc to learn a AI/ML to get more monies?

It all depends on what you lean by above. Going to management, at least for me, was a totally different job from coding (and I was not happy at it). It's 10% technical and 90% people management.

Architect is more technical but, still, I think there's a lot of people mgmt (explain X that he must code that way and not this way, and explain it again because he thinks he's smarter than you and know better, etc. this can easily happen twice a day :-( )

My solution, just for me, so far is to change skill set : going back to academia and learn ML/AI at top level. Big bonus : I got to learn again, math/algorithmic stuff, etc. which I love. And I'm not concerned too much about the pay (for example, a management job, super e,try level, paid 10% more but with at least 90% percent more stress for me, was absolutely not worth it)

Sure, in many careers grad school/phd will help. Not in coding though - in coding, there's nothing grad school can teach you that you can't learn on your own. There are high school graduates who are absolutely top coders.

I don't know of a discipline called "coding". For Soft End. I'd argue that a really strong undergrad degree in CS is a huge advantage.

This growth mindset is at the core of HN/startup culture. But at some point other stuff starts to matter more than money. Autonomy, growth, and mastery come to mind.

I think in this case you can’t plan on doing the same job for 30y, you’d do a lot of changing roles to keep those raises coming.

It’s a choice. You can choose which direction to push your career.

I do find it interesting that in one breath HN criticizes unions because they will add tenure based pay to the industry and in the other breath complain that if you do the same job for 30 years your income won’t rise.

I've turned down management roles all my life. Am still very technical. But now I own a consulting business and do less coding and more project scoping. Still technical though!

Started in 1985 in Silicon Valley out of school.

Try to target becoming a principal/staff engineer - aim towards knowledge of all things code and attempt to show everybody the way forwards.

Architecture is fine, but most of the time its the implementation and engineering details that prove out the architecture, and not vice versa.

Aim for perfection, as much as you can. There is always that middle ground, try to understand it but always strive and drive your peers towards utter perfection (as you understand it).

47 here, coding professionally since I was 24. No management, and no plans for it.

While ageism exists in some places, I don't find it to be an industry wide problem.

At the end of the day programming is just coding the correct if/else and working with other programs, and the OS. (Which is really just a program too)

Personally I love it. Building and extending these machines. Learning new ways of doing things, coding for new platforms.

From experience working with folks in Aerospace Companies, yes it is possible.

The key part, and this is where it gets tricky is your cost vs value you directly provide. This is why most of those that I saw this happen for never got “high” ranking positions.

When you are an individual contributor, your value is directly a result of the work you do, you don’t get “multiplication” factors by making other folks more productive.

The effective consequence of this is that you are “capped” on how much you can “charge” for what you can individually provide as value to them.

To make this concrete, for a particular task, the value to them may be X. Yes you can do an amazing job and do the job as 5X, but they only needed X. So the most they will want to give you is Z, where Z = X/Y, where Y is some factor >= 1 + a factor. Note the Z will have to account for your “total” cost, which is salary + benefits + the overhead of having you in the company (managers, IT costs, etc).

So as long as you can have X >>> Z, you will always have a job. The trick is either making sure your knowledge gives a large X for your specific niche, or your Z is relatively low.

Hopefully this helps...

> When you are an individual contributor, your value is directly a result of the work you do, you don’t get “multiplication” factors by making other folks more productive.

Software seems pretty good at multiplying the productivity of other people. It’s just less socially acceptable to take credit for that increase than it is in management.

Absolutely! Software is a huge multiplication factor. No argument there!

However the point, which maybe I didn’t make clearly, is this: they expect a specific multiplication factor from a specific bit of code. This is the value X they hope to achieve by employing you. If you can do X in less time/lower overall cost then someone else, then that is worth paying more for. However, that X benefit they are seeking is relatively fixed. As a consequence your value is fixed.

With management, there is much more variation.

A bad manager will make a team of 5 produce the value of a team of 3. A great manager can take that same team and get a value of 8. This scales with how many people you manage/lead. Assume management makes a 10% difference to output capability. If you are leading/managing 100 people, the delta value is 10 whole people paychecks.

To bring this home: think how productive you were under a “bad” manager vs a “good” manager. Whatever delta was there, you can multiple it by your normal team size. That is the “value” a good manager unlocks.

I still don’t get why you think that the budget for sharing productivity gains is strictly more bounded for software engineers than managers.

I could flip your example around. McDonald’s hopes to achieve value X from each of their managers and that’s what their willing to pay. But a software engineer who can increase retention rates can noticeably increase the value of the whole company. And that’s part of why one gets paid more than the other.

Modern software engineer is in most cases just a bricklayer - he just realises a vision of the business (product owner and his boss etc.). So, in your example, it's not the software engineer who increased retention rates, but rather the manager who thought of writing such improvement, and hired an engineer who then implemented it.

In other words, the implementation is seen as a trivial part of the process, while figuring out what exactly to implement is seen as the core of the value creation.

> However, at some point it seems that everyone at my stage is moving into management or higher level positions doing project management, meetings, architectural discussions

This impression is mostly generated by your head, to be more specific - by the social pressure to "make a career" and to regard technical skills as inferior to management skills. I don't think it's real, I saw many old people working as programmers, and there will be many more because there are more programmers among the current 20-30 year-olds, compared to the older generations. Also there's simply many more technical jobs available and there won't be enough management positions available to allow the switch for everyone. And the pandemic looks also like a quite big factor in reducing the number of management jobs (it looks like you often can work as usual without all the managers...).

How do your retirement accounts look? Are you the kind of person that always wants more money, or is that not a huge motivator?

If you choose to stay on this path, you'll likely make less money later in life. Is that ok? You may also find yourself involuntarily pushed out. Is that ok?

I'm in my early 40s, and think that the probability that my current dev job is the last one I'll have is around 75%. I'm ok with that - I write code how I want, I don't work more than I want, my retirement account already has enough money in it, my kids have fully-funded college accounts, etc. I've been doing various side-gigs for years and am thinking that I'll just continue doing that forever, making low 5-figures money, plus the required IRS minimum disbursement.

Does this sound like the kind of life you want?

This sounds nice. Since university is cost free where I live here I think I’ll want to earn enough to be able to buy (or at least help buy) apartment(s) for my future children.

No, if you work in a software house; or I'd say, you have extremely low chance there and anyone who made it, was an outlier.

Yes, if you work in a company that does some RnD and you have actual domain knowledge and expertise as opposed to being a generic, even if experienced, but nevertheless generic developer. I have many colleagues well into their 50s and some even 60s that work at Intel, NVIDIA, Ericsson etc.. They are not a rare sight over there.

While at raytheon (my last job where people retired out of), many people stayed coding till retirement. At the university I'm at now, the IT department had many working till retirement.

Raytheon is not 'normal' company. And it gets risky when there are layoffs, but even those I know who got let go during a couple rounds of layoffs were able to find other work. I'd honestly rather code then manage people.

I went back to coding after going into IT management, then teaching English in a foreign country, being an IT architect with loads of responsibility at a company with massive IT infrastructure, owning my own web agency, and finally being CTO at a few companies. I had zero problem finding work again and I intend on retiring within the decade. With that said, there is ageism. It wouldn't hurt to do what my friend did: he took advantage of high programmer salaries and retired at 45. You can always work more after that if you want and you should be able to make it another 15 years without encountering too much ageism. Can I say I have zero regrets about moving out of management and back into programming? I cannot. I enjoy both but for the past few years I've been having a blast coding so that's where I stay unless that changes. If you don't enjoy management, it should be a far easier decision. Just don't count on working until 65. Lots have. But it's definitely far from guaranteed.

Yes. I wrote my first code for hire at age 14, started professionally at age 22, and I'm 53 now.

Still innovating and contributing as a technical guy. I've made it clear I'm not interested in management.

My story: My very first job was as COBOL programmer aged 20. I was made team leader after a couple of years and found it was a great job for me. You are hands on but you get to be involved in more stuff. I stayed in that sort of role for pretty much the rest of my career, sometimes with a team, sometimes on a team. Out of 43 years I spent about 7 years in the middle away from coding in management and sales. They were not my happiest time but I got paid well and I am sitting in a house it helped buy. Make of that what you like.

My problem when in my 50s was putting up with how ridiculous some of the people I worked with seemed to be. Shoehorning in the latest (now obsolete) technology where it did not benefit the end result was common. In the end I settled into being a Java full stack contractor, remote from internal discussions, just getting on with doing a good job. I retired myself from that at 63.

Great topic. The cognitive load of full stack development at > 45 to me seems unbearable. I love building products, but after doing the basics for the 1000th time gets old. I would imagine the appreciable parallel being similar to a backend dev having to do UI work.

At my age I no longer want to look at a monitor any more and want to think and have others build products, so went i to product.

The pay question is interesting too. You need to work to have a couple million in bank by 45 and the investments give you a lot of flexibility in not chasing senior mgmt. Also stay healthy, employed, and dont get a divorce (1/2).

How on earth do you get a couple million in the bank by 45?

Save $50k a year for 20 years, and then ride on the massive bull run that the US stock market has been in the past 10 years.

Alternatively, save $100k a year and just realize more moderate stock growth.

how do you get to not divorce? :)

One spouse cannot control the decisions of the other. If one spouse is bound and determined to leave the marriage, then I'm not sure there's much that can be done. However, I know from experience that as long as both are willing to try to save the marriage, there is hope, even with disagreements that seem painful and impossible. Counseling can help. Maintaining a positive vision of the future -- hope -- is motivating and can change one's perspective on the spouse. I don't mean to diminish your concern -- I acknowledge it: marriage is not easy! But I also believe there is a way to stay together in many instances, and that doing so is worth the risk and the sacrifice.

I thought I could continue being an independent contractor/consultant that was a senior voice for architectural decisions while also being team enhancement, and that worked really well for years, up until I reached a certain level of technical seniority, and then it just got kind of weird.

It was partly that I didn't want to advance my business into larger and larger projects that would have required me to either travel a bunch or hire coders under me, because I found the pocket I liked - a remote contractor/consultant that architects and delivers. And it partly might have been the reality that some of these technical skills are just becoming more commoditized.

But either way, for me it didn't really scale past a particular point. I ended up having a metaphorical rolodex of past clients that were all interested in hiring me as a hands-on-architect-level employee but wouldn't offer contracts, and I eventually accepted an employment offer as my last contract dried up.

I started with php/java, and had previously spent significant energy learning more functional/distributed-computing concepts and Scala/Akka, had a couple of good contracts with them too, but those skills are withering a bit while my current employer is paying me to bone up on React and Node of all things. At least I can influence my team to adopt more FP concepts. I miss Akka.

So, I don't know. As you get older, you get more skilled and senior, but that can top out (in terms of $$ benefit) long before retirement if you're not one of the very rare superstars. And the benefits of being senior are not easily measured and aren't really rewarded - for many hiring decisions, they're just looking for a tech stack - who cares if you're twice as effective on average if they can hire someone average for 80% of your salary? They don't have the counterfactual, they'll never know, they think they saved money. And if you look at entry-level salaries vs senior-level salaries, there's not a huge spread there, not on average. I make maybe 2x-3x what entry level salaries are now, and that's at the top of the salary band for senior level architects where I'm at. And big companies will continue to look for ways to take chomps out of the top end and tighten that range.

Put it this way: I intend to find out ;-)

I'm now old enough to retire if I wanted but intend to go on for another ~5y. Worked at the first place for 26y (3/4 different employers, mostly takeovers). When I got made redundant, I retrained as a teacher, which I stayed at for 5y. Managed to find another dev. job which I've been at for 10y. Could go higher and still be entirely technical but would be expected to mainly manage a few levels up. Still have to learn new things and am happy to.

I'm interested in how you moved from architect back to engineer. That's the path I want to take at the moment but I feel I've been out of the game too long now.

I studied computer science and got my first SW engineering job in 2001. After 3 years I became Head of Development/CTO of a small startup and still spent 70% of my working time with coding. After 3 years I stepped down and afterwards had a few jobs with SW architect/lead engineer roles. I still code a lot, but also mentor younger colleagues. I‘m now 46 years old and use kubernetes, docker, TypeScript, AWS, GCP and nodejs every day. And my younger colleagues see me as an inspiration, because my coding skills are still amazing. And I help them on their Journey to become better SW engineers. I challenge them and they challenge me.

And I was always curious and interested in new technologies, methodologies and trends. And I think even outside of SW engineering it‘s becoming the new normal to constantly learn and adapt to the ever changing job market.

So it‘s up to you and I don‘t believe the younger folks are better at learning new tech. You just need a solid SW engineering background and need to invest in keeping up to date.

I'm 34, mostly worked in R&D and startups, 10+ years as software dev. Last company was founding CTO, and was grateful to tap a 57 year old former coworker as first dev hire. He's still super sharp and has stayed up to date with his skills. He wasn't always the fastest. But he made so many fewer bugs and architecture mistakes that it didn't matter.

My father recently retired after 40 years of staying a tech lead / dev and repeatedly turning down other titles / roles.

Seems possible to me, it's very understandable to not want to climb the corporate ladder, and I'd support any of my devs who feel the same as you.

Depends on the company and your priorities. Do you want to maximize income? Then make sure you work somewhere where ICs have a lot of advancement potential built into the org. Also don’t think that this track avoids politics, you still need to play the people game.

> Depends on the company and your priorities. Do you want to maximize income? Then make sure you work somewhere where ICs have a lot of advancement potential built into the org. Also don’t think that this track avoids politics, you still need to play the people game.

This matches what I've seen. I'd add one thing to this, too: "working in a technical role" at a lot of places actually doesn't involve a lot of hands-on feature coding at higher levels, even if you aren't a manager. You're planning the new stuff, you're doing R&D into new techs to see if the broader org should adopt them, you're mentoring, you're mediating arguments between other teams, you're talking to senior management and translating tech lingo and providing early estimates, etc.

You aren't managing people, but it's a very communication-heavy role.

If you don't do that, then yeah, I've seen people stay as just a "senior dev" level coder, but there's less salary advancement at that role.

57 and been writing software almost my entire career. Brief foray into mgmt, 15 years ago. Saw the error of my ways and went back to straight dev work. See no reason that will change.

So, yes. Just make sure companies you work for have a strong technical career track.

I'm your age so I don’t have any direct experience — but I often waffle between whether I want to be an IC or do more management myself, so I understand your concerns. I’ve run across a number of ICs who have been at my BigCo company for many, many years who all seem to be very happy where they're at and what they are doing, so it’s definitely possible.

I think the challenge - and this isn’t unique to engineering — is how you define/value your career progression and growth opportunities. At my company, there are a small number of ICs that can have the impact/get the same pay as a CVP or EVP, but the options are much more limited. And you know what, I think that for many people, management or not, that’s OK. Many people I talk to are happy to stay at the same level and do the same work for an extended period of time.

I’m not like that. I’m highly ambitious and have an internal need to get to the next stage/goal, and the truth is, that probably means I’ll need to assert myself more to take on management — even tho I don’t enjoy the procedural aspect of that — I love to mentor and I’m considered a leader on my team, but I don’t currently have direct reports and honestly, I prefer that. I feel like I can get more done when my time isn’t taken up with the administrative stuff.

For now, I still have a growth path that I can definitely continue for a few more years. And if I’m honest, I don’t worry about being able to remain in that sort of role for the rest of my career. For me, the bigger worry is when that growth path dries up. When you’re high enough up the chain, most of management really is delegation and decision making and setting the tone/direction. The problem is that to get there you have to do middle management, which is where most people get stuck.

Historically what I do when I feel like my growth options are expired are switch teams/companies or even careers. I'm definitely open to that continuing.

If the question is, “can I remain employed as an IC for another 30 years,” then I think the answer is yes. If the question is, “will I have career momentum over the next 30 years if I eschew management,” then I think the answer is a lot more complicated. And again, a lot of people aren’t like me and don’t have the same aspirations or needs.

I am 41 yo, I started working as a developer in BigCo´s when I was 20. I love coding, but I made great progress on the management side, I ended up being the CTO of a small startup.

Now I am back to only-coding, and I love it. I begun learning a lot of new things and I will never stop putting some time on learning more about software development.

Managing is hard, consumes a lot of energy. Maybe some time in the future I will get back into managing, maybe the best solution would be a more engineering role as mentioned in several comments here.

I have worked in finance for some years and have seen plenty of coders in their 50s. As many said, it's not a path for everyone as you do need to keep learning till you retire. I think that as remote work becomes more mainstream, ageism will be less of an issue as you are hidden behind a screen most of the time. People will learn more about who you are from your contributions rather than your physical appearance. In this context, staying relevant is what really matters.

Another comment mentioned survivorship bias, and in that spirit I would be very interested to hear from people who wanted to stay on a technical route but felt they had to leave it.

I retired at 51. It became very difficult in the later years, primarily because of declining memory capacity. In software, you need to learn new things all the time, about new technology, as well as information about your local projects, which could be huge, some projects are millions of lines of code and hundreds of services, you should remember all that. Only thanks to timely Netflix investment, I was able to retire early and escape the embarrassment.

Worked for a long time as a developer and architect (where architect still codes, explores new tech, just thinks more about system issues). I won’t say how many years but let’s just say “many”.

You don’t need to be promoted out of your interest zone or past your competence level. I’d gently question the “everyone” in your stage, as there are fewer jobs available at those higher rungs.

Only regret is that I didn’t find an opportunity that let me retire at 30. I like making software and solving problems.

I think its definitely possible, the problem is that after 10 years experience you dont really get much better which caps your salary. My earnings peaked when I was 35 and have gone sideways even shrunk since then. You also have to keep learning - which is a bigger time sink than you think.

Looking back I'm happy but feel like going management route makes more sense and I should have been braver. However there aren't so many management roles either.

I believe the best path forward for something like this is to become a technologist in some specialty and then move in to advanced engineering/technology exploration at a big company. Find the kind of place with 7 CTOs and then get a role reporting to one of the CTOs managers. You work on 3-5 year research projects and you can just decide ahead of time which one will be your last.

36 years in and still learning new stuff and hacking.

Get a job at a place that values experience. Something safety critical. Until about 2 years ago, our youngest team member was 40.

If you can picture yourself to be this guy, you have nothing to worry



I mean, you can earn enough to retire in 10y, yes. But presumably you mean 'can I expect gainful employment for 30 years without a promotion into management'.

Probably? There's a number of elder folks at work here in engineer roles, and plenty of children in management roles. Seems fine?

I went the direct consulting route. [1]

I get to work as a "coder" with a lot of autonomy and without having to do any management type tasks. I attend very few meetings. I'm 0x3A years old and I love still love coding.

[1] I work for the client directly, not for a job shop that hires me out.

It’s definitely possible, but you’ll find yourself swimming against expectations more and more each year. Org culture and your own tolerance will be the deciding factors.

Personally I had to take a govt contractor job recently as I’m unemployable at lumbersexual shops.

I kind of envy you for being able to not get bored of essentially the same grind over & over.

But then I think of the long days and nights you must still be having at least occasionally and I would think that at some point, one could have a more normal schedule.

Here's an existence proof for you: https://news.ycombinator.com/item?id=23366546

Several actually, since there are others in the commments.

My aunt was a coder her career and retired a few years ago. She lives comfortably, travels and has plenty of retirement funds. I could never imagine her a manager, and I never heard her ever say she'[d] choose another path.

edit: typo

Yes, but you have to find the right positions. Where I currently work there are manager and technical tracks for three or four employee levels (depending on division) between leading a team and executive levels.

A high savings rate (>= 30% after taxes) will make it very feasible.

Turning down management roles seems key, nobody wants to be middle management but you're often ushered there by leadership then RIFd when things turn sour. Seen it happen to a few.

I've personally met a very few people who actually made such switch. The rest (a vast majority), in their 40s and 50s are still hands-on devs.

You make your own future. Doesn't matter what everyone else does, what the norm is.


The only way out of this industry is to eat a poisoned apple.

In case you don't know what I'm talking about


Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact