Backend Software Engineer, Reliability
San Francisco, United States
Reliability Engineers (REs) are responsible for the overall performance and reliability of Airbnb's infrastructure and products. We believe that every engineering team at Airbnb is responsible for running and operating the software that they build. REs provide support to product and infrastructure teams by providing tools, processes and expertise to make services easy to operate and as reliable as possible. RE at Airbnb is a critical role to ensure that our services are properly instrumented and able to scale with our growing business.
What makes Reliability Engineering different at Airbnb?
- We emphasize building tools over manual processes. We create, not operate. Things should go from repeatable to automated quickly.
- We're rooted in open source (http://airbnb.io/) and give as much back to the community as possible with both new and contributions to existing projects.
- Our job is to focus on building reliable infrastructure and tools for our product teams so that they can focus on solving user problems and new features, not reinventing platforms.
- SREs don't sit on the other side of the tossing fence -- we're a first class engineering citizen and help lead our infrastructure focus
What are some examples of Reliability Engineering work at Airbnb?
- Drive service reliability by developing tooling that enables metric visibility using SLIs, SLOs, and SLAs.
- Developing Production Readiness standards to ensure service reliability
- Work with product engineering teams on design and implementation choices of large scale distributed systems
- Automate as much as humanly possible and always configure as code
- Bring ideas to life (i.e. production) to help make the lives of engineers better
- Predict our future failures and work proactively to mitigate them
- Advocate and implement reliable design patterns (circuit breakers, graceful degradation, etc.)
- Partner with the broader Airbnb organization to learn from incidents through a blameless postmortem process
Some examples of Reliability Engineering projects are:
- Working on our next generation internal platform for efficiently automating our AWS infrastructure for ease of use by our product engineers
- Automating our alerts configuration tool for Datadog to work with dynamic thresholds
- Developing tooling to automate the Production Readiness checks
- Optica, a tool for keeping track of nodes in an infrastructure
The following experience is relevant to us:
- Experience bringing software to production at high scale
- The knack for writing, clean, readable, maintainable code
- An eye for automation and instrumentation
- The ability to decompose complex systems and find failure scenarios
- Great communication skills
- Knowledge of public cloud platforms (AWS, Google Cloud Platform, etc)
- Contributions to open source software
- Competitive salaries
- Quarterly employee travel coupon
- Paid time off
- Medical, dental, & vision insurance
- Life insurance and disability benefits
- Fitness Discounts
- Flexible Spending Accounts
- Apple equipment
- Commuter Subsidies
- Community Involvement (4 hours per month to give back to the community)
- Company sponsored tech talks and happy hours
- Much more...