I'd say these are pretty interchangeable in one's career if they wanted to. The others not so much.
If you've just been a "turn the crank" developer implementing someone else's sprint-scoped tickets for 20 years, you probably topped out after around five years. (Or you're doing all the interesting stuff outside work, in which case... you definitely have project management skills.)
A strong senior should be able to do any of the roles all the way up and down the chain, including "product manager", "business analyst", etc. It's an issue of time and scope rather than skill.
note: I'm aware that most business analysts are domain experts, my point there is that a senior can both analyze a problem and create a solution and can interface with domain experts where needed.
https://www.amazon.com/Docs-Developers-Engineers-Technical-W...
I'm think I could do with reading that. As could the team I'm on.
(But I'd agree with you: you should be supporting, in the form of debugging & problem solving, the thing you're writing. Separate SREs are an anti-pattern in my book … somewhat comically since I'm basically an SRE at the moment…)
> I'd say these are pretty interchangeable in one's career if they wanted to. The others not so much.
They are? Now I'm pretty new to this (despite my age) but my impression has always been, with the former you mostly focus on one project and maybe even just a small part of it, with the latter you are keeping an eye on half a dozen systems, have to know their ins and outs to babysit them, and occasionally firefight when something breaks in production.
I don’t know about anybody else, but I would see experience in both as a plus on a resume. I think it’s a good idea for SREs in particular to get a dev job on their resume since the person hiring you is going to be a developer a massive amount of the time so it never hurts.
I honestly find it shocking, but there it is.
I'd also point out that if people forget the growth-aspect, they will overestimate the problem of ageism in the industry.
Yes, there aren't that many grizzled 60-year-old programmers today... but much of that is because 40 years ago there were only a handful of 20-year-old programmers to start with.
Even if advancing age turned people into happy rockstars, they'd still be outnumbered today just because there are more jobs.
One was working at Google and got shit for taking time off when he planned it 6 months out. He quit and decided to retire early instead of putting up with it. He's 42.
A lot of people my age also retired because they had too much money to work :)
Which also explains that the more youth you see competing for the gigs helps crowd out those of us elderly tech folk who are left.
Developer and marketer/technical writer - selling to other devs is a giant business now and it often takes devs to make that content.
Developer and SRE - we live in the world of huge scaled our saas businesses where there are always support issues too advanced to be handled by non-devs
Developer and project manager - everybody has worked with non-dev project managers and it’s usually terrible.
Developer and people manager - there are so many more eng manager roles than there used to be, and moving to the management side is a well worn path now.
Developer and product manager - you have to develop a lot of new skills but in this role a past life as a developer can give you super powers.
That said, I moved first into people management and then into running a small software company which sort of demands a little bit of all of those skills