Mmm…whoa, it’s been almost three months since I’ve started working for the G. It has gone by surprisingly quickly; I suppose having to learn a bunch of new systems helps move the clock hand.
Having been at startups for the past two years, it’s a bit of a shock to go back to a corporate environment, especially one as different as Google’s. On one hand, the big-company benefits are mostly as good as the recruiter’s pitch – nice having decent food, a well-stocked kitchen, generous medical insurance and matching 401k again. The other hand is dealing with the sheer scale of a twenty-thousand employee-company, where every meeting requires a conference call across five different time zones and everybody is a stranger in the office.
As for the work itself, well – not everybody gets to work on the sexy, world-renown projects that make the news and make millions in revenue (1). There’s certainly a lot of backend systems and tools that never even see the light of day outside the Google campus, but to the management’s credit they do seem to give credit where it’s due, even if the product itself isn’t the most compelling or successful.
That said, working in a “small team” of 50+ engineers on a product makes for a few changes in coding dynamics, specifically, spending extra effort to maintain Google’s reputation of stability and reliability. The amount of effort it takes to make any small change – from conception to coding to code review to checkin – is probably 3x as long as it takes for a comparable change at the aforementioned startups. Sure, it’s a fairly intense process vetted by experienced engineers, but the part of me that just wants to gets things done really wishes to delete our tremendous set of unit tests.
- in that case though, it’d be millions in productivity lost (↩)