On March 4th, 2022 was my last day at Google.
It was an amazing 11+ years working with some of the most inspiring and talented colleagues one could imagine.
As my final role, I was leading Google Search for Desktop computers. I still cannot believe they let me run the literal search engine. In fact, this was my first time leading a major consumer product after years of being focused on infrastructure, and to my own surprise, I was actually kind of good at it.
Of all the code that I wrote, my favorite change was probably the introduction of SUPER_UNCOMPILED mode for JavaScript delivery during development. Prior to this, Google engineers would wait to compile their JS and debug unobfuscated but compiled code losing files, line numbers, etc. I managed to fix this before source maps were a thing, yet retaining 100% compatibility with the semantics of the compiled code.
I later built a JS framework called Wiz which is now powering Search, GMail, Photos, Drive, Meet, and many other consumer UIs. In hindsight, I should have open-sourced it, but at the time, I didn’t realize how relatively powerful and unique it was, and by now it badly needs an overhaul relative to modern framework developer experience.
I got incredibly lucky with Wiz. Wiz was designed to be small and nimble specifically for G+ on Desktop with the goal of making it faster without slowing it down too much from the added page weight of a new framework. Turns out we never really used Wiz for that, but it was perfect for mobile web UIs on underpowered devices at the time leading to its broad adoption.
As the next thing, me and my team built a similarly widely adopted end-to-end frontend framework and serving system for Google’s internal microservice platform. I contributed its UI-and-data-component abstraction, but the main kudos goes to @shubhie for really opening our eyes to the power of using application-level linting for scaled software engineering.
Taking this idea, I ended up making a little thing called AMP. Let’s just say I learned a lot from it, and I think we ended up very successfully taking those lessons and applying them to the Page Experience ranking system based on Core Web Vitals–helping make the web much faster in the process.
From this I moved on to work on the Search Engine proper. I just cannot emphasize enough what a humbling experience it has been to work with the absolute top of the world class on this problem space. This is especially true for incredible data science and quantitative UXR teams which uplevel the professionalism and excellence of the product operations to levels I had never witnessed before, and which deeply influence how I will work in the future. Also, I got to turn off Internet Explorer for the biggest website on the planet, so that was cool. :)
The time at Google has been an incredible learning experience that I’ll be forever grateful for, and I’ll dearly miss my amazing colleagues. Throughout my career I’ve tried to follow a thread of finding invariants that eliminate the trade-offs between making it easy to write programs, yet achieving excellent user experience. I’ve learned a lot and there is still so much more to do in this space.
That was 11 years in a few 100 words. Was it a good time? Yes. Should you work at Google? Yes, I’d recommend it. But for me it is time to try something new!.
Published