|
> freedom to focus on deep coding problems without fear of where the next paycheck is coming Depends on your risk tolerance. You will most likely not be able to profit greatly off of your deep coding problems if you do them for a company with highly stratified reporting chains. Profits will get passed around to the idiots above you in the chain of command, leaving you with peanuts; probably some small bonus or raise. In my experience, engineers aren't rewarded greatly at a company unless they fit a certain bill or serve a certain HR/political purpose, unbeknownst to you. Such implicit biases are however, impossible to hide as they can be measured directly. If upper management doesn't like your attitude, behavior, your looks, your race, your gender, or anything else, they can and will stop giving you opportunities. Sometimes they will treat you poorly so you leave, sometimes they'll keep you around until you do something to get fired. The latter is certainly likely if they treat you poorly. This is not only unethical, but is a normalized practice in HR. Now, consider the case of solving deep coding problems on your own -- you're not getting paid, but you will most likely reap all of the rewards for any big wins you have, and your life isn't at the whim of internal politics that you are unaware of. |
As someone that mostly enjoys optimizing distributed systems and debugging them. I can assure you that, I can’t build a product out of this skill set. There’s consulting, but then I have to continually sell myself, which I don’t enjoy. Working for a large company, I have of plenty of these problems to solve and I get paid pretty well.