To an outside observer, Google (GOOG) seems to be firing on all cylinders. Costs are under control, there are tremendous upside opportunities, and the incremental cost of pursuing them is minimal.
But all is not entirely as it seems. And in a startling blog post, former Googler Dhanji R. Prasanna describes them. The biggest problem, he writes, is that Google's basic architecture is obsolete.
Protocol Buffers, BigTable and MapReduce are ancient, creaking dinosaurs compared to MessagePack, JSON, and Hadoop. And new projects like GWT, Closure and MegaStore are sluggish, over-engineered Leviathans compared to fast, elegant tools like jQuery and mongoDB -- designed by engineers in a vacuum, rather than by developers who have need of tools.
This should not be a surprise. Updating important tools is like trying to rebuild a freeway during the 5 o'clock rush hour. Since Google has offices worldwide, it's always 5 o'clock somewhere. But the problem could be dealt with easily were it not for the second problem, the company's internal incentives:
The nature of a large company like Google is such that they reward consistent, focused performance in one area ... It means that staking out a territory and defending it is far more important than doing what it takes to get a project to its goal. It means that working on Search, APIs, UI, performance, scalability and getting each one of those pieces across the line by any means necessary is actually bad for your career.
Engineers who simply staked out one component in the codebase, and rejected patches so they could maintain complete control over design and implementation details had much greater rewards ... territorialism is incentivized.
Translating from Google-ese to English, incentives are focused on getting projects out the door, and not enough recognition is going to maintaining the internal code base. People are encouraged to “own” code or projects, and not enough focus is placed on keeping the place running right. Only what is done by insiders is trusted.
Again, easy to fix. Change the incentives, hire a “Tiger Team” of top people from outside to help upgrade the tools, and give them recognition equal to or greater than those creating products.
The problem is that this may hurt the bottom line in the short run, not help it. At a time when new CEO Larry Page, who helped develop some of that obsolete code, is being hammered for “over-investment,” here I'm saying he needs to look inside, shake things up, and get the plumbing working again.
Before you add a new wing to the house you need to make sure the systems in the old house are up to code. Make sure your internal process creates incentives not just for what an individual controls, but for managing the whole as well. And 10 years in real time is 100 years in Internet time. Page's graying “executive style” hair is going to get grayer.