Some career advice: there are only 3 things you can optimize for when taking a job.
1) Money. 2) Learning. 3) Fun.
In my experience it’s very rare that you have all 3: you should optimize for 2, at best. Depending on where you’re at with life and career, you might heavily optimize for one over another.
Sometimes, you’re making a crap ton of money and learning a lot but the hours suck, your on call constantly, and you’re just not having a ton of fun.
Sometimes, you’re riding the fun wave with your awesome coworkers playing ping pong every day while growing intellectually but you’re making very little dough.
Sometimes, you’re making lots of money and having tons of fun doing it but working on the most boring, monotonous things that you’re not learning anything useful from.
A failure mode I’ve seen is optimizing for ONLY 1 of these.
If you’re having tons of fun but make nothing and learn nothing, you’re basically Bighead and at risk of complete career stagnation.
If you make shit loads of money but hate your life and are learning nothing at all, you’ll end up absolutely miserable regardless of how flush with cash you are.
And endless learning with no money or fun is no different then slogging through academia, regretting your life decisions.
Be warned: there are LOTS of other things employers try to sell you on but are mostly a gamble and not worth optimizing for:
1). Promises of power
This usually comes across as “impact” or “leadership opportunity” or “influence”.
And, yes, while you can learn a lot from a good leadership opportunity, power is not something anyone truly wields and is very rarely bestowed upon that employer to give out: it’s something handed down from greater forces (management, industry trends, VC group chats, the markets, executives, etc.) and is easily stripped away.
Optimizing for promises of power is a dangerous game climbing the endless corporate treadmill.
If you really want to roll the dice on “impact”, it’s probably better to go start your own company.
2). Titles
At a certain point, all titles are completely meaningless. There may be a meaningful distinction between a junior engineer and mid level engineer, but there’s basically no meaningful difference between a senior staff engineer and a staff engineer besides who management likes better, who got luckier in the promo cycle, luck, or timing.
Optimizing for a title is a very bad idea beyond what it might do for your career in the short term: if you’re having no fun, making no money, and learning nothing, it doesn’t really matter if you made “staff engineer” (but it might help you go land a better job somewhere else).
3). Bubbles
Don’t go into something that’s REALLY hot in the moment (like AI, crypto, web during the dot com burst, etc.) just because it’s trendy: you’re gambling on the future of that technology and, historically, everyone everywhere (including you) are bad at predicting the future.
4). Technologies
Unless you’re heavily optimizing for fun, don’t pick a company just because of the tech they use.
There’s a reason Java devs are still in demand: not super fun or stimulating technology but every corporate entity uses it to some degree and those skills will probably always be in demand (so will likely make you money and is worth staying sharp on - but again, probably not very fun).
There’s a graveyard of technologies (that people had to spend precious time learning) and products that made no money and probably weren’t worth learning.