News for hackers. Stuff that matters.
Re:Design Docs at Google by t8sr on Tuesday May 07, 2024 @03:46AM (#40283315)
You get the behavior you incentivize. In the “early days”, design docs were a tool to agree on a direction and provide context to your coworkers about what you’re doing. Later, as new people joined at an exponential rate, they were told by well meaning managers to write the docs for perf reasons, and things kind of spiraled from there. Google’s culture became a cargo cult of itself.

Some companies I worked at after Google were reluctant to discuss their promotion process in detail, because they saw what happens when people microoptimize for it.

Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @08:25AM (#40284653)
Microoptimizing for what the cargo cult believes gets you promoted is strictly worse than microoptimizing for what actually gets you promoted.
Re:Design Docs at Google by JustLurking2022 on Tuesday May 07, 2024 @09:11AM (#40285023)
At some point, the cargo cult are the promo reviewers and then the two become the same thing.
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @09:36AM (#40285271)
The reviewers presumable have access to the true metrics.
Re:Design Docs at Google by trelane on Tuesday May 07, 2024 @09:48AM (#40285413)
What if I told you these are their "true metrics?"
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @09:54AM (#40285492)
If a company doesn't have consistent metrics for performance reviews uniformly across teams, get out of that company yesterday. That's just a hotbed of nepotism.
Re:Design Docs at Google by lupire on Tuesday May 07, 2024 @11:01AM (#40286425)
Please give an example of a metric for performance review for software engineering.
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @12:26PM (#40287805)
Conceptual examples (not looking to argue about the specific bar):

Senior engineers will:

* Design a significant project which lands with measurable customer impact

* Demonstrate expertise in at least one core skill outside of coding (test infrastructure, SRE, security, accessibility, etc.)

* Demonstrate leadership by either being a TL, owning and leading team pillar efforts (security review, etc.), etc.

* etc.

Mid-level engineers will:

* Own either a small feature end to end or a significant piece of a larger design

* Contribute to at least one non-coding pillar

* etc.

These generally have more areas and can be further granular such as "low-performing midlevel is X, satisfactory is Y, exceeding is Z"

Re:Design Docs at Google by dpe82 on Tuesday May 07, 2024 @01:36PM (#40288916)
Those are requirements, not metrics.
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @04:42PM (#40291212)
With sufficient granularity there is no difference. I can't give exact quotes without violating NDAs but variations on these have been the performance review standard at every major company I've worked at or known people who work at.
Re:Design Docs at Google by tra3 on Tuesday May 07, 2024 @10:47PM (#40293865)
Agreed.

Just proves the point, this person just cargo culted what makes google so famous in recent years. If you only metric is to launch new projects, you’re only gonna launch new projects. Who’s gonna get promoted for maintenance.

Re:Design Docs at Google by Arainach on Wednesday May 08, 2024 @05:48AM (#40296095)
>Conceptual examples (not looking to argue about the specific bar)

Again, not trying to debate what the specific bar should be, just giving examples of the kind of metrics you can use. What's your preferred alternative? Lines of code? Whenever your boss feels like it? Stuff like that is why no one believes a "senior staff superstar" from the hot startup of the week is any good and requires them to do whiteboarding.

Re:Design Docs at Google by mewpmewp2 on Tuesday May 07, 2024 @10:24AM (#40285851)
What do you mean by "true metrics"?
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @10:45AM (#40286149)
The metrics which determine if someone gets promoted. Those decisions are being made by some group, presumably with guidelines. If the process for getting promoted is "this group does whatever they feel like" that company is a disaster and you need to get out.

Thus, there are rules, and they are written down. If they're not visible to normal employees, they guess the rules based on who they see get promoted (cargo cult) while the committee uses the true metrics.

It's not like becoming a manager is a secret cult where you're dropped in and you suddenly have carte blanche to do anything. At established companies there are rules and procedures, and while you will likely have access to more information than individual contributors, you won't just be promoting whoever you feel like without having to go through others.

Re:Design Docs at Google by klabb3 on Tuesday May 07, 2024 @08:54AM (#40284881)
It’s a meh from me - either is bad. If you are in a highly complex and professional field (in the traditional sense of the word) single axis optimization hollows out the whole craft. Engineering is delicate and constant battling of tradeoffs, and decision consequences are often delayed by longer than average tenure, let alone a 6 month perf cycle. The more you McKinsey the process, the more mediocre and incoherent the results.
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @09:37AM (#40285289)
You get what you measure. You can't hire smart motivated people and then be surprised when they figure out to optimize for their rewards.

If you want a team that lands stable customer-loved products, make THAT your performance review. Turns out that's hard to do objectively and consistently.

Re:Design Docs at Google by klabb3 on Tuesday May 07, 2024 @11:16AM (#40286694)
> You can't hire smart motivated people and then be surprised when they figure out to optimize for their rewards.

Never said that. I don’t have a solution. Well I have a partial solution, but not complete:

Reward all team members equally for the performance of the team, or even the company. For instance: the pie is divided into 3 pieces: company, team, and individual performance. Candy is given out based on performance of both.

It doesn’t fix the hackable metrics issue, but when people collaborate the side effects are better than when they think of their own promotions, and worse when they’re competing against their direct peers for a fixed bucket of candy per team. Such incentives are directly opposing collaboration between the very people that need to collaborate the most.

Re:Design Docs at Google by lupire on Tuesday May 07, 2024 @11:03AM (#40286460)
According to your other comment, then, a company that "lands stable customer-loved products" would be a "hotbed of nepotism" that people shouldn't work for.
Re:Design Docs at Google by Arainach on Tuesday May 07, 2024 @12:30PM (#40287880)
Nonsense - you can have documented metrics which are known and tied to performance.

For example:

* Require features to be launched for a period of time rather than in development or shoved out the door a week before perf

* Have metrics for customer satisfaction and oncall pages be incorporated

Etc.

Re:Design Docs at Google by aprdm on Tuesday May 07, 2024 @06:08PM (#40292119)
Nonsense were a lot of your replies in my experience :), this "measure everything" is very much another cargo cult. Software engineering is complex, people are complex, thinking you can come with a true metric and who doesn't have it doesn't know what they're doing is the nonsense in my world view.

Have excited engineers, pay them well, have them work on something that is aligned with their career & deliver value to their customers, they don't really need much more than that. All the rest is simply trying to "processi-ze" what is a human

Re:Design Docs at Google by racional on Tuesday May 07, 2024 @10:58AM (#40286373)
Either way -- 'twould seem that if such a level of microstrategizing is what monopolizes one's attention on a day-to-day basis -- then one is definitely in the wrong place.
Re:Design Docs at Google by tdb7893 on Tuesday May 07, 2024 @10:11AM (#40285674)
When I was at Google I mentored a lot of early career engineers and I always told them to write more docs than they think they need. Sometimes docs will catch problems beforehand but early in the career writing easy docs is a simple way to show independence and competence. It slows down projects but Google is probably gonna cancel that project anyway and my theory was "Google doesn't care about you so caring about it just makes you a chump". It was in most ways a great place to work but it slowly drove me insane.
Re:Design Docs at Google by scottyah on Tuesday May 07, 2024 @11:57AM (#40287351)
This sounds like you are championing the very mindset that has made google crumble?

Write docs that slow things down, don't code/build projects, and do it all in the name of greed and the only justification is that it will get cancelled anyways (probably because no real work was being completed).

Re:Design Docs at Google by larsrc on Tuesday May 07, 2024 @12:26PM (#40287791)
Caveat: Googler here.

One of the things that had been problematic at Google is the creation of many more products than are really needed, leading to the infamous Google Graveyard. One of the reasons I have come to like writing design docs for my ideas is that a lot of the ideas turn out to be crap when they get written out. Quite a few are good enough that they have already been done, or close enough, which my colleagues can then inform me of. This is a very lightweight way of trimming out useless projects.

And no, Reader wasn't useless. Different story.

Re:Design Docs at Google by tdb7893 on Wednesday May 08, 2024 @03:00PM (#40301719)
Docs are very useful. I liked them, especially considering how slow development could be there, It's just that in my experience they incentivized them more than they needed to. For example writing a doc while you are already implementing something only takes like a day but it looks a lot better than a day of coding to people without context. Luckily at least for lower levels they switched to perf evaluators being closer organizationally and the manager being there so at least there was a little context (though often my manager was busy enough that they didn't fully know what I was doing either). There were a lot of specifics essentially check boxes for promo and to a much lesser extent ratings and eventually I decided it was easier to just give them what they want
Re:Design Docs at Google by rvba on Monday May 13, 2024 @09:31AM (#40343159)
The problem is with the culture, that the company does not want a "boring" product that can earn a stable amount of per year (say 100M). It only wants products that grow expotentially to billions.

Google could still keep the boring, but profitable products. Just like Microsoft does (although they bundle them).

But it seems that in google promotions are not made for boring things that work.

Re:Design Docs at Google by tdb7893 on Tuesday May 07, 2024 @12:12PM (#40287581)
I was just a cog in a machine. The mindset didn't come from me but how they setup incentives internally and ran projects. To be clear, I ended up really resenting how it works and the advice was based on my experiences with trying to care (in fact I'm trying to get out of tech entirely). I ended up channeling my care and effort into building up coworkers rather than into the company or it's products and that's how I got through it for a while. Different people had different experiences though (it's a huge company after all), anything I say about my experience is very personal.

Edit: also if Google wanted me to really care about my job more than for self interest that relationship needed to be a two way street. The relationship of the devoted employee and disinterested company is common but to me comes across as a bit pathetic. I did a good job there purely because that's how I enjoy doing my job, if the company collapsed I wouldn't have shed a single tear (that's a lie, I miss the free food)

Re:Design Docs at Google by mewpmewp2 on Tuesday May 07, 2024 @10:21AM (#40285807)
But if they are going to cancel it anyway I would rather at least code and build just to have fun and at least have a prototype rather than doing the boring work. Also I feel like I can't get into right frame of mind of problem solving by writing a doc compared to if I am coding.
Re:Design Docs at Google by tdb7893 on Tuesday May 07, 2024 @12:03PM (#40287458)
If they like coding and didn't want to prioritize career advancement I would tell them to put effort into finding the projects (or parts of projects) they find more interesting to code and make sure they get assigned that. My advice was always personalized. The thing is that for most early career engineers they are already coding enough (and it's not like the code is generally particularly interesting) so most of the time the advice is to do more docs since the lack of docs was hurting them for perf/grad but it varied from individual to individual
Re:Design Docs at Google by rvnx on Tuesday May 07, 2024 @10:27AM (#40285892)
If the project is anyway eventually going to be deprecated and shutdown, maybe it's better to take one of the Google bike and go round the campus drinking one of these tasty granitas from the cafeteria.
Re:Design Docs at Google by tdb7893 on Tuesday May 07, 2024 @12:06PM (#40287499)
The craziest thing to me is that at my location not that many people did the free workout classes. Between those classes and the food I was in the best shape of my life while working there.

I steadily got in better shape as they kept cancelling the projects I worked on and I slowly lost and sort of will to care about my actual job. The quality of my work ended up suffering a lot as I realized just how pointless trying to work there was for me but the pay was too good to want to leave.

Edit: I was unlucky though. I knew some people with more stable projects. I went through 4 cancelled projects in close to 6 years

Re:Design Docs at Google by mewpmewp2 on Tuesday May 07, 2024 @10:36AM (#40286008)
Is there alcohol in it? If so, I would consider, but I would still take the alcohol and code the project as well.