googleplex

I am now ex-Google. In this post, I’ll reflect on my time as a HTML5/Chrome Developer Advocate at Google, why I decided to move on, and what I’ll be doing next. In a follow-up post, I’ll do a bit of a roundup of my main activities while at Google. This is a long one as other priorities meant I didn’t get around to blogging much about Google while I was actually there!

Where to next? Nowhere, of a sort. I’m staying right here in London and not jumping to any company at this time. I have a ton of itches to scratch, so I’m looking forward to doing some hacking and building apps. I’ll be drinking the HTML5 kool-aid I’ve dished out in ample quantities.

Life at Google

I joined Google in April, 2010, and it really is an amazing place to be. I’ve worked in a lot of different environments, from startups to SMEs, to large enterprises, and across several industry sectors…and Google really does stand out as uniquely awesome, for the following reasons:

  • The people. Of course, you always hear about all the industry rockstars, but the remarkable thing is those conspicuous by their absence. If you’ve worked in a big company, you’ll know what I’m talking about. There’s always that guy (or girl). Only one of them if you’re lucky, but one is all it takes to doom projects and drive away talent. That guy (or girl), who might not even be a developer and might not even work in your department, but will still be there to do silly things and block all manner of progress, maybe in the name of mortgage-driven development or maybe because they have a solid theory about sticking beans in their nose. The absence of those people from Google is the really noticeable difference, not the rockstars. (Rockstars are not exclusive to Google after all.) To quote Joe Kraus from In the Plex, “There were no bozos”. But more than that, the baseline is set high and defended wide.

    Having conducted numerous job interviews, I saw first-hand how the company is relentless in maintaining its quality threshold; from my observations Google takes a “talent collector” attitude. It’s patient and would rather accumulate a talent pool over time than make any compromises. Every company likes to pay “people are our best asset” lip service, but Google takes it really, really seriously.

    Most importantly, we’re not just talking about technical ability, but a company culture of helpfulness and enthusiasm, and this includes non-engineering functions too. Certainly people are busy, so they won’t always go along with your plan…but when there is inaction, it’s not borne of malice but resource constraints. It’s not the zero-sum, cut-throat, mentality you sometimes see in mature industries, where there’s an expectation that one worker’s promotion is another’s stagnation.

  • The ambition. In a previous role, a phrase I heard constantly was “we’re not trying to boil the ocean”. This was a valid way of keeping things real, but also a good way to progressively evaporate the dreamer in each of us. In contrast, “boiling the ocean” is etched into Google’s DNA. Google+ is the latest example, another is Chrome, the product I worked most closely with, another is Android, etc.
  • The openness. Internally, Google is incredibly open about upcoming projects and company strategy generally. It has both the culture and the technology to pull this off. Culture-wise, there’s an attitude that people should be free to test and even work with other projects; as Dion once pointed out, openness is the real genius behind 20% time and the part many companies miss when they pontificate about “driving innovation” and “inspiring creativity”. Using Buzz internally was tremendously rewarding; companies who have used tools like Yammer can probably relate, though I think Buzz is more amenable to these kinds of conversations (lacking 140-char limits and supporting comments against status updates).
  • FOOD! And the massages, etc. But especially the food! “Free” is not actually the main benefit. It’s simply the option to go grab a healthy (or less healthy, but the point is that you have a choice) meal quickly with your colleagues. That it’s at work means it’s convenient and that it’s free means there’s no counting or payment process to slow things down. Not that it hurts the bottom line either :).

So why would I leave all that? I’ll explain more further down …

Life in Developer Relations

I’m proud and fortunate to have have been part of Google’s ever-growing Developer Relations organisation. Here’s Don Dodge’s description of the team: “Thirteen of them have authored books, at least four of them have software patents to their name, and most of them have made significant contributions to Open Source projects. Several others have contributed to industry standards, and sit on standards boards.”

Working in developer relations gave me a chance to be paid to do things I’d done in my spare time: participate in conferences, blog, play with interesting new tech, etc. It let me meet and be inspired by many developers around the world. And it also gave me a chance to reflect on the growing discipline of developer relations and the broader topic of Developer Experience.

speaking

Overall, companies are realising that if they want to provide APIs and platforms, it takes more than a marketing department to win developers over and support them in their efforts. Microsoft has been a pioneer here with its “Developers, Developers, Developers” mantra (there was actually a profound point in there!) and Apple too with its evangelists; but Google has more recently played a key role in grounding this role more on the engineering side and framing the role as an “advocate” of the external developer rather than an evangelist of the platform.

Life in HTML5 and Chrome

The growth of HTML5 and Chrome have both been astounding in the time I’ve been working in this role. (Naturally I accept full, unconditional, personal responsibility.) We saw Chrome jump from 70M actives to 160M between IO 2010 and IO 2011. And the web feels like a different place.

The APIs we now enjoy as web developers are plentiful and continue en masse - CSS3, WebGL, IndexedDB all in several major browsers. Installable web apps. Mobile HTML5 en masse. At the same time, it’s not a foregone conclusion that “the web has won”. There’s the risk of fragmentation as browsers plow ahead with different features. It’s being handled nicely through stnadards process, but the risk is always there. And while there’s not much life in desktop platforms, the native mobile platforms are rolling along very nicely, thankyou very much. Mobile HTML5 has come a long way, but the gap remains.

Just as interesting, the fundamental development platform has shifted. We’re seeing an excellent shift towards a superior developer experience. The HTML/CSS/JS trio is becoming HTML++/CSS++/JS++ through a new breed of language enhancements which don’t so much replace them as augment them. Sugar … it’s sweet! Jade/Stylus/CoffeeScript is the stack preferred by the exciting new SocketStream framework and will continue to flourish until the browsers themselves start to simplify things, through intiatives like JS.Next.

And then there’s the Nodequake …

5ive

Life After Google

There’s a lot of logical career moves from here, but since life is short, logic is overrated. The main reason I decided to move on is I have a massive urge to do some dedicated hacking time. There are apps in my head, they need to come out.

I was certainly able to have some fun coding while at Google, with some bite-size apps even being used in production.

But I was at a fork in the road. I’d be struggling to cultivate a serious app, with a serious server side and serious users, in 20% time. Yes, 20% time really does exist and I saw some people achieve good things with it. But 20% is an upper bound, and for the kind of apps I want to be working on, I’ll want to be spending 120% time on them to get them going. Also, some apps I want to make would be seen as downright mundane, or quirky to the point of weird, but are still apps that I want to transplant from my head to my web server. If for no other reason than I want to use them myself.

From a technology perspective, I really want into Node too. I’ve been dreaming about server-side JavaScript for a long time and looking forward to using it in anger now that Node took it mainstream.

My immediate goal, though, is to fix up a few existing sites, e.g. make WebWait mobile-friendly and make ListOfTweets cleaner, persistent, and social. I have a few apps on similar scale in mind beyond that, and can’t wait to make them happen! Of course, I’ll be happy to get feedback, so please let me know if you want early access. Of course, stay tuned on this blog for more info.

And Thanks

Thanks go to my colleagues, partner companies, and the developer communities I’ve been able to work with throughout my time at Google, as well as those who invited me to apply for a role I didn’t really know existed (you know who you are!). Please keep in touch.

And thanks for reading. As mentioned above, I’ll write up a roundup of my time at Google in a followup post.

(This post is slightly late; my final week was the week before last. But a few hours after handing over my card and a big pile of tech on that Friday afternoon, I was bound for the excellent south coast of Turkey, where limited bandwidth and way too much sunshine prevented me from mentioning this earlier.)