rndmswethrwawy
Letting something "die on the vine" is the only way to describe Salesforce's Tableau acquisition.
It provides exposure to embedded systems, likely involves caring about communication protocols, sensors, etc. It might involve hard real-time constraints, and if you're really lucky it will also involve dealing with noisy data and maybe even a taste of applied machine learning.
That said, I could believe that all of the fun work is being tackled above the entry level.
Senior (one level below Staff) is deemed "career level," and if you just want to build stuff it's a good place to stop. Staff involves a much more substantial leadership and coordination component, and that requires both the skill and desire to take on that sort of work.
The algorithms stuff is useful. More useful than it seems. It comes up often in many engineering jobs. Perhaps more importantly at your stage in life, it will get you an internship.
Do internships. If you miss the one you really want, think hard about why, then try again. Internships are the best place to start into my next piece of advice.
Specialize in something valuable while you're in school or once you start into your career. Jobs I might look for if I were entering the work force today:
- Image processing or other noisy data handling.
- Robotics, especially something requiring interdisciplinary skills like control theory.
- Deep learning techniques are all the rage; you'll be much more useful if you understand how they work and can build novel topologies. Being taken seriously here will likely require a portfolio (maybe graduate work).
- Systems programming is an unending hellscape of horrible problems. Some people seem to enjoy it.
- If you have a knack for it, security. It takes a certain deviousness to think of new ways to misuse things. It takes a wizard to do something like Meltdown and Spectre.
It doesn't really matter what you become a domain expert in as long as it's valuable. It does matter that you don't treat "domain expert" as a fixed target.
In terms of extracurricular work, find an open source project that's got engagement from companies with lots of senior people (Kubernetes would be a good example, it has many very talented people working on it). Fix open bugs. Fix the onboarding experience. Start with trivial things and go from there. Don't get dismayed when you end up with hundreds of review comments, that's how you learn.
Regarding compensation, the split is approximate. The cash is both salary and an annual bonus paid out in January. The stock is actual stock, not options, so every month some number of Google shares show up in my brokerage.
The difference is that senior engineers do something resembling engineering. When not attending meetings, I turn coffee into emails and Google docs.
Total 2018 comp will be around 550k with a roughly 55/45 equity/cash split if GOOG shares remain constant. Historically they have typically gone up meaningfully over the course of any given year.
The cash component includes base salary and bonus.
This suggests an interesting asymmetry that could make a lot of people very wealthy. Either they don't want it, they aren't skilled enough for it, they've found another way to achieve it, they don't believe it, or our recruiting sucks.
Between them FAMG employ hundreds of thousands of engineers, they're always hiring more, and within them comp in excess of $500k isn't rare (it's certainly not the median, but I suspect it's below the top quartile), hence my assertion that $200k can certainly be a stepping stone, if you're willing to put up with the BigCo open offices, reorgs, politics, etc. You seemed to be arguing that those tradeoffs aren't worth it as the $200k is very unlikely to translate into much more. I'm arguing the likelihood is higher than you were giving credit for, but perhaps we weight the concrete value of FAMG equity comp differently.
I wanted to do something more systems focused, which prompted my departure. I am a capable systems programmer -- not sure why, systems stuff just "click" for me, but honestly I feel most of the value I bring to the table is as a generalist with at least "toy" experience doing a lot of other things. Particularly building systems software, work higher up in the stack helps with understanding what various workloads actually care about.
I like to think I'm one of those T-shaped people Valve describes.
I am not a manager (I'm an engineering lead). I'm ok at corporate politics -- I suspect a lot of people think I'm a pain in the ass, but I get quiet email's thanking me for being a pain in the ass from other people. Mostly I'd say my career/comp has benefitted from a optimizing for the reality of my job versus what I think I should have to optimize for. What's obviously valuable to me isn't necessarily obviously valuable to others. The ability to explain the value of my (and my team's) work so that others can recognize it is part of the job. This is particularly true as I advance -- a pre-launch executive review is basically an annual self evaluation with more on the line. The same metrics-driven approach works for both. Advancing past line-engineer in the big five means shipping successful products, and shipping means convincing executives with broad responsibility and limited context. If you don't do it, how can you be sure someone else will?
So, all of the above? Politics will probably take you further faster. Management (unless you're bad at it) is almost universally acknowledged to be an easier path to career advancement than being an individual contributor. I like being an engineer, though, so basically I optimize for how little of the other two I can do to maximizing the "useful" engineering I do (where "useful" is defined as engineering that ships, delivers value to customers, and ships in a product I can be proud of -- that last one is more important to me than comp, but I'd never let my boss know that).
I am the typical "leaned to program as a kid in the 80s/90s" engineer. Knew C when starting college, went to a state school for a bachelor's and master's[0], had a mediocre programming job immediately after. I joined Amazon at $100k base ($120k total) in my mid-20s. Left that after my signing bonus penalty expired for one of the other big players at 28 for $220k. Our stock has done well, but I've also made it clear to my managers that comp matters more to me than most other things when it comes to my job, and my refresh equity grants have been generous. Four and a half years later, my total compensation is just over $500k/year, and accelerating (my career has also gone well -- more luck there).
I work hard, but mostly within a 40-50 hour week (I WORK during those hours, though -- no visits to social media, no ping pong breaks, and I take my meals alone). I spend my nights and weekends with my family, and enjoy never having to budget despite somewhat extravagant spending.
I don't think I'm atypical for my peers at work. There are a lot of similar stories at the big players, so I'd say that $200k can be a step on the way to $500k+, although almost certainly not to millions (unless you save and invest well, plus even more luck).
[0]: Skip the MS. I stayed on because my undergraduate GPA was absolutely terrible.