Software Engineer • Current Employee
Pros: + We're at the point where we can rip out startup-y code and take the time to do it right.
+ You can make genuinely impactful code changes, even as an intern or very junior employee. There basically aren't pie-in-the-sky projects that will never see the light of day (cough Google), but we aren't flying by the seats of our pants either. It's a good balance. Your work will hit production and tens of thousands of people (minimum) will touch or be touched by your code paths.
+ Lots of cool distributed systems primitives in the pipeline. You know how we tell startups, "don't do that, it's overkill, just use Postgres"? It's not overkill anymore. A chance to work on, shape the direction of, and consume lots of cool distributed systems stuff that's actually needed.
+ Mandatory and genuinely helpful code review everywhere. Good source control hygiene, aggressive linters, high standards. Codebases that aren't deprecated tend to be of very high quality.
+ You're not allowed to wait for another team to implement something. Git clone their repo, write it yourself, and put it up for code review. We are aggressively allergic to turf wars.
+ Management is rational and data-driven.
+ People are positive, friendly, and smart.
+ The office is really nice. Breakfast, lunch, and dinner, snacks, coffee, etc. All the Apple hardware you could ask for. A vending machine that dispenses mice, keyboards, trackpads, power adapters, etc. with a tap of your ID.
+ It's not 9-5, but the hours are less insane as far as SV goes. People with families to go home to aren't made to feel unwelcome. Office fills up around 9:30 and goes quiet around 7. Depends on your team though.
+ Free Uber credit is the best perk. The city is insanely more usable when you can Uber everywhere without feeling guilty about spending money.
Cons: - Developer tooling is not quite mature, particularly with regard to dev-prod parity, staging, and integration testing. It can be a little scary sometimes.
Understandable with our rate of growth, though.
- A good bit of NIH syndrome with regard to developer tooling and infrastructure. Related to #1. You will usually *not* be able to Google your problem, and internal documentation is hit-and-miss, but you can probably find the author on HipChat and get them to sort you out.
- Speaking of, HipChat. Ew.