In the latest of several thoughtful blog posts from ex-Googlers about why they left, Dhanji R. Prasanna called out Google's infrastructure as, well, dated.
Prasanna may understandably hold a grudge as one of the many Australian-based team members who worked on the doomed Google Wave collaboration software platform. Yet he said Google is easily the best job he ever had.
His major criticism is that the software running in Google's dozens of data centers is 10 years old, aging and designed for building search engines and crawlers.
Prasanna should know; he helped design the search and indexing pipeline, which supported over 3 million users at one point. He also worked on Wave's Embedding APIs and designed the real-time search front end.
Simply, he's well-qualified to speak intelligently on Google's once vaunted infrastructure. Specifically, he noted:
"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, overengineered 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."
I'm no programmer and can't speak to the qualitative differences of writing software with JSON versus Big Table.
But I do know several bright Wave engineers were severely challenged with trying to build Wave to make it run so speedy and real-time as to achieve what Google wanted it to be: synchronous and real-time, without all of the messaging exchanges bumping into one another. This was no tall task.
To me, the kiss of death Prasanna left about his experience working with Google was this: "Yet, I never once felt productive. I always felt like I was behind, and chasing the tail of some ephemeral milepost of where I ought to be. ... If you're a hacker, Google is not the ideal place for you."
If nothing else, this criticism should serve as a cautionary tale for prospective Google programmers, who are really entrepreneurs masquerading as engineers and want to build something new, cool and important at the company.
It's also another shining example of how Google is no longer leading the world in cutting-edge technologies that massively scale.
Rather, it's leading the world in old, creaky technologies that massively scale, provided you can get them to work for what you're trying to accomplish.
Food for thought as to why lots of programmers are flocking to Facebook, Twitter or some other Silicon Valley startup these days.