The Performance Engineering team aims to deliver a lightning fast experience to all Airbnb users, everywhere. We want to empower and help engineering teams assess and manage the performance of their own applications and services in order to improve the user experience.
Our work consists of:
- Providing leadership in performance engineering across the organization.
- Building tools, libraries, and platforms to manage or improve performance, in development or production.
- Assisting teams with diagnosing and resolving performance issues.
Formed in early 2017, Performance Engineering is a new and growing team. As such, it is a unique opportunity to heavily influence the performance work at Airbnb.
We strongly believe that the team should be cross-disciplinary, and support all platforms used at Airbnb. Your expertise or interest in the JVM, Ruby, node.js, iOS or Android would be extremely valuable.
What you will do:
- Develop self-service tooling to allow service engineering teams to measure performance data, identify optimizations and sources of instability.
- Disseminate performance best practices and support performance work throughout the engineering group.
- Provide expertise to engineering teams.
- Troubleshoot production performance issues.
- Profile iOS or Android applications.
- Improve or rewrite libraries for better performance.
Examples of projects we've shipped:
- Self-service web-based profilers for the JVM and Ruby VM.
- An extension to the Druid data store to aggregate histograms with well-defined error bounds.
- A Ruby gem for Thrift, an order of magnitude more performant than the standard Ruby Thrift implementation
We need you to:
- Understand, and deeply focus on, the real-world benefit your contributions will have on our users.
- Be driven and autonomous. You will work closely with other infrastructure and product teams to identify the most impactful work for our users.
- Be industrious and thorough. You have to lead by example and be willing to go where no engineer has gone before!
- Be curious and have a growth mindset. You're not expected to know everything! We will learn together.
Relevant Skills, experience and knowledge:
- 2+ years industry experience
- Good knowledge of the internals of any major platforms such as JVM, Ruby, node.js, iOS or Android
- Profiling and tuning skills
- Performance benchmarking and diagnostic tools
- Automation frameworks
- Working knowledge of experimental design techniques and statistical analysis
- Site performance tracking and management
- Web development
- Solid coding skills
- Distributed systems
- 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...