@blueshoes
I am glad that you asked :)
- There's coding and there's coding... 95% of the work is USING tools that were developed by some REAL clever people. I mean: Super-high IQ, PhD and above in computer science, insane work ethic (no family), etc...
A common Java Developer is just a user of these tools.
As a user, it's tricky to wrap your head around it, at first, and then takes years of real work to master.
But the people who invented the Java Language and the software that Java Code translates to, are the real geniuses.
- Math and Physics are definitely on the top end of studies to get into tech.
He could be one of those geniuses I mentioned - although I'd advise him not to go that route. It's mostly free work!
Yes, all the super-difficult tasks are done for free! It's a really funny world...
I know a guy who designs foundries to make computer chips. He can make a machine that can write your name on a piece of silicone smaller than how much your nails grew while reading this sentence!
- He makes $2000 per month...
3a) Right now, I would get started on Rust. It's a beautiful programming language that might take over, once people move away from Java/Python (just how they moved away from COBOL, C++, Pascal...).
Most importantly, it is used in blockchain technology - that's the thing that makes CryptoCurrencies (bitcoin) and NFT (those digital pictures a person can buy for a million dollars, if they are really stupid).
Smart Contracts, Side-Chains, Ordinals, are other things being developed on the blockchain and will be used in our future technology.
The pay is insane - but no junior roles :)
A good blockchain developer with 5 years experience can demand circa 140k, working from home.
3b) Another place to make huge money and work on the edge of what's possible, very interesting to mathematicians is Python Quantitative Analysis.
Basically writing software that buys and sells stock, options, foreign currency, commodities, etc...
200k.
I've seen job ads that offer even 400k - but I imagine they'd want someone who already has an algorithm with a >50% win rate
3c) AI is a decent place to enter, right now. Still no junior jobs but there are ways around it :) It's a bit more saturated and the salaries aren't as strong but we are only getting started with AI.
AI itself barely makes money now but future models could really disrupt the market and the people who wrote them will be Elon Musk, Steve Jobs kind of rich.
3d) DevOps - it's like a plumber, for cloud systems :)
You don't even need to code, although knowing some coding is key for getting the juiciest jobs, because DevOps is really plumbing those cloud systems for developers to use. You learn to play well with them, you are golden :)
Excellent salaries but a lot of variance in what you need to know.
The best is if he can join a company that has a lot of room to grow and just stick to their flavor of devops, instead of trying to be a jack of all trades.
Good DevOps makes +80 and I've seen management roles for 140k.
...
Java, regular python stuff - decent wages, easy to find jobs, including junior roles. Not a bad life at all.
Range of salaries is pretty wide, can see anything from 55 to 120k and it doesn't mean the 55k one is "easier".
It's just a little crazy. Obviously the 55k job on offer isn't going to attract the best talent.
Key is to seek the highest salary you can pass a test for and then grow into the job - it's what everyone does.
Front-end - forget about it. Too much work and pay can sometimes be really bad.
Learn front-end for your own projects, not for work.
C# (.Net) - I don't know! I see both real low ball offers and some juicy offers.
I am not a C# developer myself. So, I can't talk from experience.
Probably alright!