Ask HN: How to prepare the continuation of my career as as software engineer?
6 points by pims 9 months ago | 8 commentsI'm a software engineer, late thirties, 12 years of experience. Interesting job in a good company, salary a bit below market average but still in the top paying jobs in my country (France).
I love programming itself, am decent at it and want to keep doing it. I have no interest in taking on any kind of managerial role and don't have the brain for it anyway.
So where I'm worried is the continuation and eventual end of my career. A whole bunch of factors will come into play: my age, an growing pool of software engineers, a change or drop in demand, etc. In short, I don't know how hard it will be to find and keep a job as an individual contributor or tech lead when I reach my forties and fifties.
To people who feel the same, or are already at these later stages of their career, would you have any tips on how to prepare for it? Things I have in mind are going for better paying jobs to help a potential early retirement, honing my skills in specific and timeless technologies (e.g. SQL), or even getting ready for a radical career change.
Any insights appreciated!
- AnimalMuppet 9 months agoI'm 62. I've been a software engineer for 39 years.
You can continue to be a software engineer all the way to a normal-age retirement. (I'm in the US, though - I don't know about France.) But you can't be the same software engineer for the whole time.
Your code should be better designed and architected than it was 10 years ago. You shouldn't write the same bugs you did 10 years ago. You should document your code better than you did 10 years ago.
Every five years or so, you should ask yourself what you need to learn now for the next few years of your career - and then learn it. (Hat tip to my wife.) One of the coolest things about software is that you can often get paid for learning that - you can find a project at your current company that will grow you in the direction you want.
What you cannot do is continue to be a better paid version of a junior programmer. You need to be more valuable than the new people. (This is why you don't need to worry about the "growing pool of software engineers" - it's growing largely by adding new people with no experience. They can't replace you, because they don't have your experience.)
- pims 9 months agoThis is definitely on my radar, and not just technical skills which have a diminishing return at some point. Mainly understanding business considerations (product, market, timelines, costs, etc.) to be a person deciders can bounce ideas off of when still considering and defining features.
I like the personal five-year plan idea. It will help setting clear expectations and action plans. Thank you!
- pims 9 months ago
- ilaksh 9 months agoI'm 46. I think this question is going to be different depending on who you are, where you are, your background, network, etc. I've always been a freelance programmer and a lot of times actually just scraping by.
At the moment I have a good contract.
Ageism definitely becomes a factor. One thing that is important is not to contribute to it. For example, part of your post implies that as you get older you will struggle to keep up with relevant technologies.
The real concern for every software engineer and actually every job is the powerful AI that we have to anticipate within the next 0-10 years.
OpenAIs newest model, although amazing, still has some weird brittleness to it, so it's not going to literally replace an actual software engineer easily. But it is a significant step closer than the day before yesterday. Probably at least 15-20% better, or a lot more depending on how you measure it.
I keep seeing people reacting to the current state of the art AI and saying that they are not concerned. This is incredibly short-sighted. The history of technology is hundreds of major innovations breaking through performance wall after performance wall.
There are not only upgrades but also new paradigms on the way for increasing AI performance, in the areas of hardware, ML model architecture, and software. And the reality is that with this latest OpenAI model and the right feedback loop and constrained platform/domain, we can actually automate quite a lot of software engineering work.
As AI is integrated better with systems, we will definitely need fewer people doing what currently is considered software engineering. And again, don't think about what the current model can do. Look at the trajectory of history over the last 60+ years of computing. Engineers always break through barriers and consistently increase performance by orders of magnitude.
This is not just a concern for software engineering but for every job. But it can be a huge improvement if society is able to adapt and take advantage of it in an equitable way.
I think the best option is to start leveraging AI and robotics to build out goods and services. Individuals without capital or very little capital can take advantage of AI and robotics to become entrepreneurs.
- pims 9 months agoAI is a variable in the equation but it's hard to tell how much actual impact it will have. Many jobs in software engineering go beyond taking in requirements and outputting code such as understanding business concerns, technical limitations, trade-offs, maintainability, etc. Today AI is just barely okay at the outputting code part, who knows when and how much it'll be able to do the rest.
It's definitely a tool I use though, but as a centralised documentation. And I keep up with it to somewhat understand how it works under the hood. But even this does not answer the question of how to prepare should it actually help making most software engineering jobs obsolete.
- ilaksh 9 months agoI think the answer is to leverage AI and robotics to build businesses.
- ilaksh 9 months ago
- pims 9 months ago
- theendisney4 9 months agoWith AI learning to code there will be more work than ever. It currently makes no financial sense to have someone write 99% of the things that would be nice or fun to have. A productivity boost will change that.
- illuminant 9 months agoYeah, throw all/most of that insight away, it's a sea anchor dragging you into the depths.
You're barely half way through your "commoditized workforce" lifecycle. Start doing things for yourself at any time.
Say a sentence to yourself that you want to be true. "I have made a vision detection solution for classifying cats." "I have created infographic heat maps of political manuer." "I have created a web game." And do that on the side until it is true. If you liked it as much as you thought you would, angle for that. It will at least give you something peppy for the interviews.
Otherwise, keep turning the lathe and hope abstract economic stabilities continue to grease your wheels of life.
- pims 9 months agoBuilding some kind of steady, independent lifestyle business (that's how I interpret your answer, correct me if I'm wrong) is an option but stays a bet and nothing says it would survive through the years. Salaried employment feels like a safer bet, despite the doubts I mentioned.
There are several side projects I started, halted, came back to, etc. over the years, and I love them but none of them could actually pay the bills. I also struggle to be consistently productive when I'm not part of a team.
- pims 9 months ago
- mergisi 9 months ago[dead]