Disclaimer: Sanjeev says (and I agree) that if you internalize all this, it will make you less likely to succeed at a startup! Being able to do well at a big company and being able to do well at a startup are completely different things!
Tip #1: Never believe anything management tells you. They don't lie deliberately but frequently things change very quickly, so what's true one day is not true the next. I knew someone who gave up a tech lead position because he was told his group would have no manager, and therefore he was doing all that extra work for nothing. Within a couple of quarters after he gave it up, management made the new tech lead the manager, because things had changed.
Keep in mind that management wants things that are good for Google. You care about what's good for you. The former does not automatically lead to the latter. In particular:
- Interviewing. It absolutely does not help your career one bit, even though it's absolutely critical for Google in the long term. It's not rewarded, considered during the promotion process, and it burns a lot of time. Put it off as long as possible. And don't even bother with hiring committees. That's even more of a time sink.
- Mentoring other googlers. Just like interviewing, it is under-valued and not considered real work when performance reviews come up. Even worse is rescuing someone on a PIP. Unless you're a manager, don't even spend time on that. If you succeed in rescuing that person, he did it himself. If you fail, you've wasted a ton of time. Only managers can get any credit from this, so decline any requests to help.
- Changing projects. This helps Google by spreading knowledge around. The reward system, however does not reward this. The way to get promoted is to stay at one project for a long time, not to switch projects every 18 months, as management might sometimes tell you. (Note: if you want to switch projects, the best time is right after a promotion)
- 20% time. Depending on your manager, it could absolutely hurt your career. triple check to make sure your manager does not take a negative view on this. I liked my 20% time, but I was well aware of the trade-off for my career I was making.
- Don't subscribe to misc. Mailing lists are a big time sink. I never felt hurt by not reading misc, misc-mv, or eng-misc.
- Set a limit on the number of tech talks/fun talks per week that you should go to. Try to stay under that number. I'll admit I didn't always succeed.
- the best projects, and your choice of projects
- faster promotions and more money
- "secret" founder's awards (they're not very secret because people brag to me about them)
- respect from your peers (comes along with the promotions)
The big picture: Google rewards hard work, but much more importantly, high profile projects. Never sacrifice a chance to work on those high profile projects versus equally important but unsexy maintenance tasks that will get no respect from promotion committees. Google does not reward the maintenance work, no matter how important it is (Exception: War-room firefighting. Google loves those, and loves heroic performances from people in war-rooms). In particular, if you're stuck doing SRE work but you're a SWE, you need to negotiate your way out of that. In any organization, there are work horses, show horses, and horses' asses. Most people have no trouble figuring out how not to be the 3rd. But it's far better to be a show horse than a work horse. You get all the rewards with less effort. It is rare that the Raymond Chens of the world get rewarded for the effort they put in. (Yes, and Microsoft at its best was smart enough to do so)
Finally, if you get fed up of working for a big company, consider joining a startup.
[Update: Looks like there's actually a high quality translation of this page in Chinese]