One thing I’ve learned since leaving Google


I have a running survey asking readers what topics would they like me to write about. “Things I learned since leaving Google” is a popular topic.

Perhaps the most important thing I’ve learned since I left Google is this: I am a skilled engineer, with strong technical chops and good ‘soft’ skills to help a development team perform well.

You’d think that after 3028 days as a Google engineer, including promotions and formal leadership roles, I would have known this. And yet, I didn’t. Not really.

Here are three things that have given me more confidence than all the years at Google did.

1. Becoming productive in a new stack.

At Google I worked with different programming languages, but most of my toolchain stayed unchanged even as I moved teams. The way to build, deploy and monitor systems was pretty homogenous, no matter what team or language. The code review and system design processes were roughly the same. Ways of thinking and quality standards were more or less interchangeable.

I wasn’t sure how easy or hard would it be for me to adapt to the world of programming outside of Google. I didn’t even have a GitHub account! As I interviewed for a new job, I kept warning my prospective employers, “I don’t know anything about your stack or your toolchain. I will have to learn it all from scratch.”

In the first couple of weeks at Science Exchange I took a URL shortener application all the way from idea to a launched product (available only internally). To accomplish this I had to learn a new programming language (Ruby) and a new framework (Rails), a new way to deploy applications (Heroku), and a new code review and submission process (GitHub pull requests).

I learned that my skills are more transferrable than I had imagined. And learning new things outside of Google is easier than inside Google: there is actual documentation to be found.

2. Being appreciated for my non-technical skills.

When I left Google I had formal responsibilities for technical leadership as well as people management. And yet, I never felt that Google valued my skills in these ‘soft’ areas.

Google’s promotion process focuses on ‘what complex system have you launched for me lately’. It was a poor fit for someone like me. I am as much a builder of things as I am a patient gardener of teams. Google would have me choose one or the other. (I also think that this is a sub-optimal way to incentivize engineers in general. But that’s a subject for another post.)

In the past months I’ve participated in conversations about topics that are not directly related to building software, and yet are vital for the success of an engineering team. I have seen the value of the perspective I bring to these conversations, both indirectly (via increased team happiness) and directly (via direct feedback).

I’ve learned that people outside Google have a bigger need for and a keener appreciation of soft skills. And a smaller team means being able to see the results of your contributions more directly.

3. Getting job offers.

This might sounds silly, but it was a powerful experience for me. You see, before February this year, only one company had ever extended me a full-time job offer.

So it was rather revelatory to see that interesting people building interesting things wanted me to join them.

Having Google on my resume helped to get people interested in talking to me. But then I would talk to a company and they express interest in talking more, conduct formal interviews and even extend an offer.

I learned that I have valuable skills that people want to pay for.


Despite these eye-opening, confidence-boosting events, there is still a little voice inside of me that wants to claim that it was all a coincidence. That I am ok, but maybe not that good. That I shouldn’t go around talking about these things (bragging! you are bragging!). That nobody cares about me writing this. That saying these things out loud will come back to hurt me.

I continue my life-long project to learn to ignore my itty bitty shitty committee.