Is this the reason for endless stream of half-backed APIs, arch components, etc.?

Very insightful comment from Hacker News:

Warning: Personal opinion ahead

To understand why this keeps happening, you need to understand the product and engineering culture at Google. As a group, Google engineers and PMs are obsessed with promotion. At the heart of every conversation about system design or product proposal lies an unspoken (and sometimes spoken) question: will working on this get me promoted?

The criteria for promotion at Google, especially at the higher levels like SWE III -> Senior and especially at Senior -> Staff and above, explicitly talk about impact on the organization and the business. This has consequences for the kind of teams people try to join and kind of work they choose to do. Maintenance engineering is so not-rewarded that it's become an inside joke. Any team that isn't launching products starts bleeding staff, any project that isn't going to make a big splash is going to be neglected, and any design that doesn't "demonstrate technical complexity" will be either rejected or trumped up.

This is as important in the product management, people management, and general leadership roles as in engineering. The incentive throughout is to create a product, launch it, apply for promotion, and move on to bigger and better things as soon as possible. In my time at Google I saw organization after organization pay lip service to rewarding maintenance and "preferring landings over launches" and “improving product excellence” but (at least in my experience) nothing stuck.

Usually an organization starts with a top-down direction and the rest of the company is compensated for executing it. Not at Google. The "let a thousand flowers bloom" approach that developed from the early days of twenty percent time and total engineering independence has created a disorganized mess of a company. Multiply the individual incentives fifty thousand times and you get a company that throws stuff at the wall to see if it sticks, and if it doesn't kills it immediately.


This is also why GMail, YouTube, Search, GCP, Android, and others aren’t going anywhere. They’re making money, they’re core to the business, and there’s plenty of opportunity to work on them and get promoted. They all also share one thing in common: deep down they’re frontends for search or advertising (GCP and Apps are an exception because they make money on their own). Measuring and proving impact on search numbers is a well-known promo narrative at Google, so those products are a safe bet for employees and users. Streaming game services, not so much.

I always wondered why Google releases so many crappy APIs and frameworks for Android at a steady pace, but can't give us what we need.

For example:

It took them 9(!) years to support fonts specification in XML (eventually released alongside an entire framework for downloadable and shareable fonts that no one needed) AndroidStudio's quality couldn't be improved without Project Marble Soft keyboard hasn't been refactored into something more usable despite innumerous complaints.

and much more.

The above description seems to explain the situation pretty good. Crappy frameworks that waste everyone's resources get you promoted, but fixing soft keyboard isn't. Fixing many small bugs in AndroidStudio isn't impressive, but Project Marble sounds cool.

Here is an idea: call it Keyboard Architecture Component and get it fixed -> promotion!

submitted by /u/VasiliyZukanov [link] [comments]

Read more:

Leave a Reply

Your email address will not be published. Required fields are marked *