I am ambitious in a pretty shallow way and just can't switch off this part of my personality. I will turn 40 this year. I had a relatively successful career in management consulting in my 20s, have an MBA from a top school, but my business career somewhat stagnated over the last decade. At the same time, writing code is one of the activities that I really enjoy. I don't have a CS degree, but I attended a coding bootcamp, took two online courses from Stanford MSc CS program, wrote a lot of code for my startup, tried some competitive programming, so I am not completely new to the field. I can get a junior developer job at a top tech company (in my home country, outside the US), which would result in a very significant pay cut but hopefully much more enjoyment every day. Common sense tells me that I should stick to my business/management career, but on the other hand maybe I will achieve more if I actually love what I do. So my question is: what are likely career trajectories in software engineering for someone who starts late but is willing to work hard?
There's a lot of recruiters hungry for software engineers, especially if they can pay lower than the average right now (several companies haven't gotten the message it's a hot market it seems, judging by the low ranges I'm getting from some recruiters "The best the company can do is 120k, no bonus, no equity, no 401k match, for a senior role in the US...is that alright?"), so now's probably a good time to get the next boost in your software engineering job if you can do well on those coding tests.
Myself, I'm finding it really hard to have the time and energy to jump through the hoops for the companies requiring them, especially when other companies are moving a lot faster and relying more on a couple of phone interviews.
I'm already tired just juggling phone interviews and a full-time job, having to do multiple 1+ hour coding exercises/system architecture designs with few details/self-directed video interviews after work on top of that doesn't feel worth it most of the time, especially when the company doesn't sound terribly interesting or is offering an attractive salary.
But if you are willing to do some of that, you can get something that people like me would likely pass up, that might be really good for your career.
If coding is what you enjoy and nothing else matters, taking a junior developer job and just enjoying it despite the hit to your financials is a fine choice. You need to be sure that you actually enjoy programming more than managing, though, because it will quickly become an unhappy experience if you discover you can't take orders from a manager and you spend your days trying to backseat drive the project or usurp your manager's authority.
If your goal is career success and accumulating notable achievements, starting over as an engineer at 40 isn't optimal. It's possible to go all-in and accumulate achievements over the next decade, but it's not the most likely outcome. Even if you spend the next 10 years working hard, you'd still only catch up to a 31 year old who has been all-in on software development since graduating college. That's not a bad place to be, but it could be disappointing if your real goal is to achieve notable career success above all else.
I would probably prefer management if I could work remote non-stop.
My personal philosophy which is neither new or very sophisticated is that anything you don't enjoy doing is wasted time and money is a means to an end and not an end in itself, so if you enjoy coding more go for it, no point in being the richest guy on the graveyard.
Once you get comfortable in your domain you'll need to expand your knowledge to algorithms, systems and stay current with developments in your ecosystem. After 5 years on this path you'll be well grounded in the profession.
Ultimately, you can do it, but you must want it.
In every SE role I had I still had to code so it’s a good way to dip you toes in without going all in.
If you are able to secure a software dev job with mostly management - interacting with clients or VPs and management - you will be able to utilize your previous busienss experience. I'm not exactly sure what type of role that is, so thats something you will have to explore further, but im sure there are roles that fall into this category.
A lot of the IT consulting firms need good engineers who will interact with client dev leadership/client business leadership, that sounds like a role that might be a good fit, but the IT consulting firms really need good people who are willing to work their tails off in those roles if you are up for it.
You already have much experience to bring to the job.
All devs have to learn new frameworks and tech every five years. You are not as far behind as you think
Your peers are going to be 18 years younger than you. Be gentle with them and you will learn much from each other - you have life skills and experience they can learn…
Do you think you will regret not taking the leap 5, 10, 15 years from now? It's a big decision that only you can make.
It’s a hyper competitive, saturated field, like everything else. Keep whatever advantage you have now, and ride it out. Life sucks, don’t try this.
PS: I love programming.
Dont read anything else on this page. Just go forth and develop. You can do it.
Just don't expect the same salary and perks in the beginning even though you can catch up quick if you are really good.