News for hackers. Stuff that matters.

rndmswethrwawy

Re:Is Tableau Dead? on Tuesday February 27, 2024 @03:19AM (#39521493)
They could have, but I can promise you that if they have Tableau visualizations _at all_ at this point, they're shit.

Letting something "die on the vine" is the only way to describe Salesforce's Tableau acquisition.

I think we're entering a new generation of controlled machines. Aerial drones, in particular, have found a staggering number of commercial and industrial uses, and many of them are operating under constraints that require bespoke platform designs to minimize weight while meeting requirements. Aquatic drones also seem to be coming into fashion. At the "that's a bit large to call it a robot" end of the spectrum, I'd put SpaceX and their auto-landing rockets in the same category (not to mention the drone ships that provide the stable landing platforms!)

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.

I came into Google as Senior with about six years experience at another large tech company (where I'd also made senior recently).

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.

There's a difference between the numerical levels and the job titles.
I have approximately 9 years of industry experience, following a BS and MS.
Not going to talk about my specific skills (throwaway account).

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.

It (staff) is a level, one past senior engineer.

The difference is that senior engineers do something resembling engineering. When not attending meetings, I turn coffee into emails and Google docs.

Staff SWE, Google Seattle.

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.

Yet FAMG are always hiring.

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.

My argument isn't that it didn't take equity to get there, but that it's not intractable through "ordinary work". The big tech companies are essentially always hiring, and they're not the only ones offering marketable equity as part of the comp package. Yes, the performance of that equity can (and does) vary, but unless they're a company with Amazon's "total compensation philosophy" you benefit from the ups and the downs don't hurt too badly.

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.

My work at Amazon was building services with Java and Spring Framework. I got that job based solely on general "algorithms and code on a white board" skills. My resume at the time was a scatter shot of some past Java work (Amazon doesn't really care) and some iOS stuff back in the early days of the app store.

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).

As a software engineer, a moderate amount of luck (passing the bar at Google, Microsoft, Facebook, etc.) combined with an aggressive stance toward your comp can absolutely take you from the $100k to $500k+ range. You will have to work for it, AND you'll have to ask for it, but it can be done.

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.