Software Engineer, Developer Platform
San Francisco, United States
What is Developer Platform at Airbnb?
Airbnb is the world's largest marketplace for space, and we keep getting bigger every day. With over 100M million nights booked per year and counting, we're constantly tackling challenges in search algorithms, payments, fraud prevention, and growth — all while maintaining a beautiful user experience. To support the rapid growth in our business, we've also rapidly grown our engineering team.
Maximizing the productivity of this ever-growing engineering team---and doing so while staying true to our engineering culture, which emphasizes autonomy and favors good judgment over strict rules---is the job of our Developer Platform team.
Our team builds elegant tools to enable all developers at Airbnb to experience joy while quickly developing, testing, and shipping high-quality code.
One of the ways that our culture manifests itself is in our emphasis on continuous deployment. Every developer at Airbnb can deploy any service they work on at any time. Airbnb has thousands of services, the largest of which has over a hundred developers continuously deploying > 200 changes per day, without a release-management team.
Our team is impactful and high-leverage: we make the entire engineering organization more productive. You will have visibility into every other engineering team and their systems, and you'll engage in helping and mentoring them.
What will you do on devplatform at airbnb?
- You will bring joy to ~1000 developers every day!
- You will contribute to our in-house CI/CD system, the largest distributed system at Airbnb
- You will collaborate with our customers (other Airbnb developers) to understand their needs and ensure our team works on the right things
- You will enhance our cloud-based development environment, which uses Kubernetes and Docker to provide every developer with their own private replica of Airbnb
- You will create our next-generation continuous-integration and continuous delivery systems
- You will write tools to provide fast, stable builds and tests across our entire tech stack
- You will create infrastructure to run end-to-end integration tests
- You will open source your work, describe it in blog posts, and talk about it at conferences
What have we done in the past?
- We built Deployboard [talk, talk], our in-house tool for CI/CD.
- We added support for mixed-language (ObjC / Swift) iOS development to Buck [blog post, now in Buck core]
- We created a platform for fast, deterministic UI tests for Android [blog post, github]
- We built Airlab, a cloud-based developer environment
- We used the latest features in Gradle to enable fast monorepo Java builds (our usage of Gradle's remote build cache was cited during the keynote of Gradle Summit 2017)
- You are passionate about automation, efficiency, and developer happiness!
- You have 6+ years of full-time, industry experience
Nice to haves:
- You love build tools (Gradle, Maven, sbt, Grunt, Gulp, Bazel, Buck, Xcode)
- You are enthused by test-automation (e.g., the testing pyramid, UI feature specs)
- You are familiar with cloud infrastructure (AWS, GCE, Azure, Kubernetes, Docker)
- 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...