> It was because they refused to buy me a Christmas present.

This was the beginning of the end for me. I don't care about the gift at all; if I wanted something I would have already bought it. But it was the idea that an easy way to cut costs was the solution to everything. Ignore the fact that there are three separate teams working on literally every problem at Google. No, what's really costing them money is buying everyone a phone every year. (Which, BTW, you can just order from TechStop. You don't own it, of course, but what value does a phone have in two years anyway? The cost of buying it is the same to Google whether or not you keep it forever or for the duration of the contract. But ordering the phone from TechStop doesn't buy much goodwill, like maybe getting a free phone and giving it to your family does.)

> The pipeline’s failures increased because I made it fail fast on anomalies instead of silently passing along bad data.

Anyway, I kind of heavily disagree with the promotion/performance review complaints. I was on a promotion committee a number of times at Google, and my committees always loved stuff like increasing reliability, adding metrics, and doing the "dirty work" to keep things running smoothly. This, if true, is the pinnacle of what's valued as solid engineering work.

The thing is, I was reviewing people a level below me (that would be the L3->L4 committee -- like the author, I was a senior software engineer), and that's the kind of work I expect at that level. To get from Senior to Staff (L5->L6), you expect this kind of thinking but across multiple teams. It is not as simple as sweet-talking people into doing stuff for you (which is what a lot of people think leadership is), it's more of facilitating productivity in your area of expertise. So if your general area of work has a lot of problems with flaky pipelines -- you need to get the metrics in there, you need to teach other people how to use the metrics to direct their development goals, you need to make the changes easy to test... basically, you need to make the less-experienced of your teammates able to operate in your specific area as efficiently as you. Because then those people can go out and get the dirty work done (getting promoted in the process), and you can bring your bigger-picture analysis and implementation skills to a new problem.

Something I saw while on committees was people that were performing the responsibilities of their level on the "ladder" spectacularly. That does not necessarily mean that they are doing anything at the level that they're requesting promotion to. A new level is a new job, not just doing your current job really well. (For that, you just get a pay increase, not a title change.) I really think that's what was going on with the author; he was performing Senior-level work really well. That does not make you a Staff engineer. Additionally, there is no particular demand that you ever become a Staff engineer. I think my W2 for the last year I worked at Google was something like $270,000 as a Senior engineer. That is good money. So the question is, do you need more, so you're mad that you're not getting promoted... or do you just want something because there are levels and you want to be the highest?

Certainly, by working for yourself you can avoid all of this. You can always tell yourself that you're the best person in the world and nobody is going to disagree with you. I always saw the ladder as a way of suggesting what sort of classes of problems to work on to work more efficiently and effectively, and by working in that direction you were growing as an engineer.