Incoming hot take: Don't become a professional systems developer. Do it as a hobby.
If the goal is to optimize for $$$ earned over one's career, there is more money in being a back-end/distributed apps developer. There are simply more roles (at the higher levels) and companies working on these problems.
The progression for SW engineers is junior->senior->staff->principal->distinguished. As you get closer to staff, there are very few systems roles left. Some people never make it beyond staff/L6/E6. (One could argue that it's ok to stay at staff for the rest of your career and still make good money. But there's always more to be made.) And the ones that do, are the ones that spearhead new products/features (direct business impact).
My 2cents, after 15 years as a system dev in the valley.
> Incoming hot take: Don't become a professional systems developer. Do it as a hobby. If the goal is to optimize for $$$ earned over one's career
Deep systems programmers get paid a lot. I'm sure there are other jobs that pay more, but if you make enough and like what you do, you should do what you like.
Also higher up the abstraction chain you go, the more froth their it (I'm mainly thinking of frameworks, but this is true more generally) so you have to pay a lot of attention to what's going on. While the deeper you go down the stack the slower the slewing rate and the more time you have to understand the domain more deeply. Which, to go back to your "$$$" position, acts as a moat.
I suppose this ultimately stems from that fact that if a program is ugly, everyone hates it, but if a program is insecure nobody knows, and if they find out they don't care.
On one hand, that is a nice one-sentence line. On the other hand given how likely no one knows what the phrase "Identity Cloud" means here (networked service for identifying people? database service for storing information about users? aerial service that recognizes itself?) it may be worth describing things in a bit more detail. :)
If the goal is to optimize for $$$ earned over one's career, there is more money in being a back-end/distributed apps developer. There are simply more roles (at the higher levels) and companies working on these problems. The progression for SW engineers is junior->senior->staff->principal->distinguished. As you get closer to staff, there are very few systems roles left. Some people never make it beyond staff/L6/E6. (One could argue that it's ok to stay at staff for the rest of your career and still make good money. But there's always more to be made.) And the ones that do, are the ones that spearhead new products/features (direct business impact). My 2cents, after 15 years as a system dev in the valley.