If I had it to do over again I'd pick a field where software complements something done in the real world - robotics, astronomy, aerospace, etc.
If I had it to do over again I'd pick a field where software complements something done in the real world - robotics, astronomy, aerospace, etc.
Building software is a fast development cycle. Find bug, fix bug, compile, release, improve. Things can be done in hours or days.
Building hardware is a slow development cycle. If I think of a new feature it might take a month just to get a prototype board designed, made, populated etc. The results are cool, but the feedback cycle is slow.
For my personality, I prefer software. I can have an idea, play with it, realize it's rubbish, and discard it - all before lunch.
But people are different. So someone else might prefer the hardware cycle.
Ultimately my advice to the original question is that "it likely doesn't matter" and "you cant predict the future". Both paths lead somewhere, but you can't really "know" up front.
So choose the one that gets you out of bed faster. The one that excites you more. And in a couple years you'll be better placed to make the next decision.
I think that's pretty much entirely because the compensation is good enough that a lot of people can retire by fourty even without having planned for it. Many people in other office jobs find them tedious or get fed up with office politics or whatever but can't reasonably just decide to start farming instead.
Could you please share any tips on how to not sign away right to have commercial side-projects?
Every employment contract I've seen recently seems to claim IP really broadly, e.g. "everything created in the course of employment belongs to you employer". The better the job otherwise, the harder this seems to fight. I have just recently quit a job just so I could work on a "side-project" but would be nice to have an income.