Staff Software Engineer, Payments
Airbnb was born in 2007 when two Hosts welcomed three guests to their San Francisco home, and has since grown to over 4 million Hosts who have welcomed more than 1 billion guest arrivals in almost every country across the globe. Every day, Hosts offer unique stays and experiences that make it possible for guests to connect with communities in a more authentic way.
The Community you will join
Payments is key for any healthy marketplace, and is just as central to our product at Airbnb. The Payments team at Airbnb is responsible for everything related to settling money in Airbnb’s global marketplace. We build technology that powers Airbnb’s massive daily transaction volume to collect payments from guests, distribute payouts to hosts and everything in between. Our goal is to make the Payment experience on Airbnb as delightful, magical, intuitive, and easy as possible.
If you were to join, you’ll have the opportunity to build out our next generation of Payments Platform that powers all lines of Airbnb's businesses and serves the guests/hosts community around the world. We’re responsible for the whole stack from infrastructural work that comes with scaling a global payments company, to core services processing payments, to building out the payments experiences the user sees. You’ll have the opportunity to work on very technically challenging work, as you balance moving fast with the robustness and quality that working on payments demands.
We’re looking for talented engineers who are interested in building our Payments Platform that provides for our existing and future businesses. Come join us if you want to be challenged and learn the business and skills that working on payments offers!
Meet the people, learn about the challenges, and read more about what we do at Payments here.
The difference you will make
Business Platform & Solutions (BPS) is a payments engineering org with the vision to make payments easy and delightful for everyone. We are a full stack geo-distributed team focusing on building extensible platforms and scalable solutions to empower Airbnb businesses, communities, and payments innovations both globally and locally. We are looking for a self-motivated tech lead who is interested in working in a highly dynamic environment by collaborating with cross-functional and cross-site teams. As a staff engineer, you are in charge of coming up with payments system architecture and creative solutions at scale using skills including multi-tenant architecture, distributed system, data processing pipelines, real-time system and payments technologies. The team is transforming how payments enable business as a platform in a multi-year effort, we have the following major technical challenges:
- Business Launchpad: business integration and onboarding to the payments system is complex, causing multiple pain points to both business/platform teams as well as payments teams: 1) complicated integration touchpoints; 2) large efforts with long development periods; 3) business customizations compromise core payments systems quality and maintainability, etc. We’re building this business platform to significantly simplify the business <> payments integrations and provide seamless onboarding experience to all businesses. It’s one of the most critical architecture domains in the payments systems.
- Multi Item Checkout Platform: our current architecture is limited to a single item checkout and payments. Multi-item checkout platform (MICP) is the underlying platform capability that enables multiple offerings on the checkout flow and provides guests with an optimized end-to-end purchase experience. In addition, MICP also provides hosts the ability to upsell value added services and enables Airbnb to offer additional products. MICP fundamentally changes the core paradigm from a single checkout limited architecture to a multi-item checkout platform that offers scalability and flexibility and provides significant value for our communities.
- Unified Payments Data: Payments systems and data are very complex. Payments data are scattered among tens of services. The Payments system lacks an aggregation layer to construct the data ready to be consumed by clients. Each client needs to fetch data from multiple payments services and duplicate the aggregation logic on their own. It is challenging for clients to discover the right source-of-truth. In addition, Payments data models are highly normalized, getting aggregated data would require joining multiple db tables and is very expensive. Payments Unified Data Read provides a unified architecture for clients to efficiently and performantly access payments data through unified interface and read optimized store. Read more in this blog post: https://medium.com/airbnb-engineering/unified-payments-data-read-at-airbnb-e613e7af1a39
- Regional Foundation: payments requirements coming from different regional markets (e.g. add a local payment method, compliant with local regulatory needs) are usually unique and complicated that span across many different underlying domains. Regional foundation is a layer of abstraction systems encapsulating region-specific requirements in each payments domain to solve regional market challenges. It establishes a solid foundation to quickly fulfill growing demand of regional requests, makes payments extensible and agnostic to regional variants, and empower quick payments prototype and innovation in local communities.
A typical day
As a Staff Software Engineer on the Business Platform & Solutions team, you will:
- Interface the team with businesses and platforms for architecture design
- Lead the team to design and build our major technology transformation (see challenges above)
- Craft pragmatic solutions and be the bar raiser for quality and extensibility
- Amplify team impact through leadership and mentorship
- 8+ years of industry experience, including backend and full stack development
- Extensive architecture and design experience with large scale payments system
- Proficient in any of the following programming languages: C/C++, Java, C#, Python/Django, Ruby/Ruby on Rails
- Problem solving: Ability to evaluate technical approaches and tradeoffs
- Communication: Ability to clearly and effectively communicate with stakeholders verbally and in writing
- Breadth of knowledge in payments domain would be a plus
- Strong project scoping and project management skills
- Ability to mentor and develop other engineers
- BS in Computer Science or equivalent work-related experience
How we’ll take care of you
The starting base pay for this role is between $190,000 and $245,000. The actual base pay is dependent upon many factors, such as: training, transferable skills, work experience, business needs and market demands. The base pay range is subject to change and may be modified in the future. This role may also be eligible for bonus, equity, benefits, and Employee Travel Credits.
This position is US - Remote Eligible. The role may include occasional work at an Airbnb office or attendance at offsites, as agreed to with your manager. Airbnb,Inc. can employ in states where we have registered entities. Currently, employees can not be located in: Alaska, Indiana, Nebraska, North Dakota, Ohio, South Dakota, Wisconsin, Alabama, Mississippi, Oklahoma, Delaware and Rhode Island. This list is continuously evolving and being updated, please check back with us if the state you live in is on the exclusion list. If your position is employed by another Airbnb entity, your recruiter will inform you what states you are eligible to work from.
Our commitment to inclusion and belonging
Airbnb is committed to working with the best and brightest people from the broadest talent pool possible. We believe a diversity of ideas fosters innovation and engagement, and allows us to attract the best people, and to develop the best products, services and solutions. All qualified individuals are encouraged to apply. If you need assistance, or a reasonable accommodation during the application and recruiting process, please contact us at: firstname.lastname@example.org.