Postmortem of my 9 year journey at Google
I started writing this retrospective during my last week at Google, I have already wrapped up everything, had my goodbyes. In the spirit of SRE (as an ex-SRE), I thought it would be fun to write a little retrospective in the form of a postmortem.
Introduction
I joined Google young and relatively inexperienced and had spent about 9 years there.
I started my journey in software at 19 (first internship) and then continued working part and full time while continuing my degree in Applied Physics. I got disillusioned with working in physics during the course of my degree, software turned out to be a more promising career path.
At some point I got head hunted by a Google sourcer. That resulted in an internship in London when I was 22, later I joined full time in Dublin. I worked in several teams around three products: Bigtable, Persistent Disk and GCE VMs (virtual machines). I include a detailed timeline at the bottom of this post.
What did I expect from joining Google?
After I got a taste of Google during my London internship, I was excited for more. What appealed to me was the level of engineering, how sophisticated and interesting the technology was and the level of engineers.
My only experience until then was with small software houses and startups in Poland, but Google… Google had some of the best tech in the world, and I had an opportunity to work with it and learn it. That was making me very excited.
Google impressed me. I didn’t see myself bored easily, I could stay in for longer, maybe even 5 years and I would still continue learning. Other things that appealed to me were the pay, the perks and fun international community.
From the big picture perspective, I wanted to start my own company, but a detour at Google could give me skills, fun and money to be better positioned to that in the future. I took the plunge.
So, how was it?
Overall, it was incredible. There were ups and downs. Heartwarming moments, joy of teamwork, satisfaction, as well as lots of stresses and frustrations.
It was a mutually beneficial exchange, I poured my energy, soul and cognitive resources and I got form it:
- tons of money
- engineering skills, low and high level, great systems understanding and world class skills in handling crises and debugging
- leadership and management skills
- satisfaction from being part of a cool company
- cool offsites and business travels
- lifestyle perks, including things like pool in the office, world class gym, all sort of sport classes, weekly massages, tasty and/or healthy meals, healthcare on site
- great community and relationships
At some point the exchange became less attractive to me. There were several factors:
- reached/exceeded my financial goals
- fascination with Google tech waned:
- industry somewhat caught up
- reality of actual work not being that mind blowing
- my interests saturated/shifted
- desire to start my own company (yes, I can wait, but not for decades!)
- company became less fun/cool
- budget cuts (less business travel, no mind blowing offsites anymore)
- layoffs
- Head Count shifting to cheap locations aggressively - less opportunity for me to grow my organization locally
- lots of overheads related to security/regulations
- many hard engineering challenges due to complex systems and relationships between teams slowing the velocity
- cognitive load - this was less of a factor in my last role, but bigger problem in the previous one. Google tech has lots of complexity and nuance, it’s pretty typical that an industry hire employee might need a year to fully ramp up which is pretty crazy
- opportunities for personal growth somewhat unclear
- there were no dramatic shifts in sight, just more of the same (which is also valuable, I just didn’t want coast)
- tapped out career-wise: L6 ICs are pretty rare - it already is a top tier of seniority in engineering, I was not really interested in L7 as L7 is more of a political role than the engineering one on the individual track, and on the management track there was no headcount in sight… if I had an opportunity to become a manager of managers and run a big org under myself I would stay longer
- shape of the technical work was not aligned with my interest in what I would like to be growing at.
Lessons learned
It’s hard to compress 9 years of learning into a bunch of bullet points. I learned technical skills, I learned soft skills, I became a better and a wiser person and a leader.
And in the spirit of being a (somewhat) anxious overachiever, I consistently felt that I could be doing better along the way - always motivating me to strive and learn.
What went well
- I got promoted quickly
- I ended at L6 which is highly regarded and well compensated
- I always had lots of autonomy
- I could always push back for work life balance (reasonable hours and workload)
- inspiring, motivated and smart coworkers
- earn more money that I could have imagined
- used a lot of perks that enabled very healthy lifestyle
- lots of fun travels for work (business and offsites)
- grew as an engineer and as a leader
- drastically improved my soft skills
- made a lot of work friends
- learned about lots of cool technologies
- had an opportunity to create my own team from scratch
- working 60% or 80% were fantastic for my lifestyle and building relationships outside of work
- learned a lot of tools for dealing with (chronic) stress
What went poorly
- I have overstayed as SRE - Dublin didn’t have much options and I didn’t move to a different site (inertia, personal reasons, etc)
- oncall was stressing me out and disrupting my sleep,
- not the best fit for my personality which is more optimistic and creative - this led to feeling of misalignment, I felt somewhat unfulfilled at - work in terms of type of work and projects and compensated outside of work with side projects
- 24/7 nature of the organization was making it hard to disconnect
- USA centric culture, if you are not in USA at Google and don’t have a big presence in a location it’s a bit like swimming upstream, it’s easy to feel isolated, sidelined or on the flipside overwhelmed with late meetings
- Promised HC not landing - e.g. I was promised further expansion twice, which later was scratched and then promised again in a bit different form…
- senior level managers overwhelmed and not providing support/feedback or pretty much any oversight (there were moments when things felt a bit like a wild west)
- there were many periods when I felt like I was overwhelmed with meetings/repetitive work/underresourced team, but at the same time not having good engineering/or management growth opportunities
- cognitive load at Google is very high - there is a countless number of systems and technologies that it’s useful to have in mind and can affect your system in one way or another (this is especially bad in SRE)
Where did I get lucky?
- Google stock did very well, additionally with my rapid career trajectory, I did very well too 🙂
- The people I hired turned out to be really solid
- I somehow figured things out - building a track record of being high performer even though some things were definitely stretch opportunities
- I made good financial decisions, could have been luckier, but the decisions had good thought process
- I made amazing connections
What could I have done differently?
- Move out of SRE earlier since from the beginning I knew it wasn’t what I wanted
- Move to a different site - it’s easy to cling to a thing that is already good, there is a cost of switching as well, but I undervalued exploration historically
- Take more advantage of education reimbursements (e.g. take more stanford online courses)
Action items
A typical postmortem would present a table of categorized action items. But I’m not here to mobilize anyone…
The next thing for me is a sabbatical consisting of at least 6 months on exploring, relaxing, learning new things and expanding my idea of what I could be doing next.
I have a tendency to underexplore and I love being productive with a clear objective, so a sabbatical is a psychological challenge. I will be writing more on the topic so stay tuned!
Timeline
Summer 2015 - App Engine SRE Intern (London)
- Cloud Bigtable SRE Era (Dublin)
- joined as an L3 engineer
- got promoted to L4 within 9 months
- Cloud bigtable TL role
- got promoted to L5 within 1.5 year
Persistent Disk SRE Era
- joined as an L5
- wondered around until landed in a work group related to project that later became hyperdisk
- the US sister team disbanned and to be recreated in Seattle
- became a defacto SRE TL of hyperdisk and created a team for it
- promoted to L6
- became a manager of Persitent Disk IO SRE
- Persistent Disk SRE issues with burnout and attrition (SRE hiring issues, rapid dev org growth 40→200, etc)
GCE Fleet Maintenance Dev Era
- joined as an L6 IC SWE
- director who hired me became a VP and dumped me on some other manager that was overloaded
- took over a struggling internal project and made it successful and recruited a team around it in Dublin
- transitioned from IC to a manager of 4 and then 6
- started a 2nd team under a different senior manager
- defragged the 2nd team because of the lack of head count, reinvented the main team charter