高级软件工程师,原生移动应用
Senior Software Engineer, Native Mobile
Airbnb 诞生于 2007 年,当时两位房东欢迎三位客人来到他们的旧金山住宅,如今已发展为超过 500 万房东,他们在全球几乎所有国家接待了超过 20 亿次宾客入住。每天,房东们提供独特的住宿和体验,让宾客能够以更真实的方式与社区建立联系。
你将加入的社区:
Guest & Host Technology 构建连接全球人们的端到端体验:从第一次搜索到旅行成为回忆的那一刻。因为这个体验原生运行在 iOS 和 Android 上,中间没有跨平台框架,我们正在寻找能够在两个平台上流畅切换的工程师,以确保架构、性能和产品质量在所有宾客和房东出现的地方保持一致。
你将带来的不同:
我们正在寻找一位高级软件工程师,能够作为真正的双平台原生工程师运作——具备在 iOS 和 Android 上扎实且当前的熟练能力。你将负责两个应用中的功能全流程,并将成为被信任做出 Swift 和 Kotlin 上都适用的架构决策的人之一。
你将在两个平台上编写生产代码,同时还需要超越单个功能进行思考:指出我们的两个原生代码库之间的偏差,指出共享契约(如我们的 GraphQL 客户端层)需要演进的地方,并帮助经验较少的工程师进入双平台工作。
典型的一天:
- 在我们的 iOS(Swift)和 Android(Kotlin)原生代码库中设计并发布功能,通常是同一项目,在两个平台上并行发布
- 与设计和产品团队合作,将一个产品规范转化为两种平台风格的实现,而不是将一个平台的 UI 端口到另一个平台
- 维护适用于两个平台的架构、性能和应用大小标准
- 参与共享客户端契约(模式、日志、测试框架)的讨论,这些契约被两个应用所使用,并在可能使平台之间产生分歧时提出警告
- 通过配对和代码审查帮助其他工程师进入双平台工作
- 参与技术评审和架构讨论,你的判断需要涵盖两个平台,而不仅仅是一个
你的专长:
- 6 年以上专业软件工程经验,具有在原生 iOS(Swift、UIKit/SwiftUI)和原生 Android 上深入、当前、实际操作的经验
查看英文原文
Airbnb was born in 2007 when two hosts welcomed three guests to their San Francisco home, and has since grown to over 5 million hosts who have welcomed over 2 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:
Guest & Host Technology builds the end-to-end experience that connects people around the world: from the first search to the moment a trip becomes a memory. Because that experience lives natively on iOS and Android, with no cross-platform framework in between, we're looking for engineers who move fluidly across both platforms to keep architecture, performance, and product quality coherent everywhere our guests and hosts show up.
The Difference You Will Make:
We're looking for a Senior Software Engineer who can operate as a true dual-platform native engineer — someone with solid, current fluency in both iOS and Android. You'll own features end-to-end across both apps, and you'll be one of the people trusted to make architectural calls that need to hold up identically on Swift and Kotlin.
You'll write production code on both platforms, and you'll also be expected to think beyond any single feature: flagging where our two native codebases are drifting apart, where a shared contract (like our GraphQL client layer) needs to evolve, and helping less experienced engineers ramp into dual-platform work.
A Typical Day:
- Design and ship features across our iOS (Swift) and Android (Kotlin) native codebases, often the same initiative, shipped in parallel on both platforms
- Partner with design and product to translate one product spec into two platform-idiomatic implementations, rather than porting one platform's UI onto the other
- Uphold architecture, performance, and app-size standards that apply equally to both platforms
- Weigh in on shared client contracts (schema, logging, testing frameworks) consumed by both apps, and flag when a change would let the platforms drift apart
- Help other engineers ramp into dual-platform work through pairing and code review
- Participate in technical reviews and architecture discussions where your judgment is expected to span both platforms, not just one
Your Expertise:
- 6+ years of professional software engineering experience, with deep, current, hands-on expertise in both native iOS (Swift, UIKit/SwiftUI) and native Android (Kotlin, Jetpack Compose), not legacy exposure to one platform and active work on the other
- A track record of independently shipping medium-to-large complexity features on either platform without ramp-up, and the ability to read, debug, and reason about the other platform's code even where you're less deep
- Solid opinions on mobile architecture, backed by experience keeping two independent native codebases coherent at scale
- Comfort owning a feature end-to-end with real ambiguity, and identifying when a decision needs to be escalated versus made independently
- Experience partnering closely with design and product to translate ambiguous requirements into concrete, platform-appropriate implementations
- A pragmatic view on cross-platform tooling — you understand why fully native matters here, and you're not looking for a role where you can lean on React Native or Flutter instead of doing the harder, more durable work
Your Location:
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. While the position is Remote Eligible, you must live in a state where Airbnb, Inc. has a registered entity. Click here for the up-to-date list of excluded states. This list is continuously evolving, so 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 & Belonging:
Airbnb is committed to working with the broadest talent pool possible. We believe diverse ideas foster innovation and engagement, and allow us to attract creatively-led people, and to develop the best products, services and solutions. All qualified individuals are encouraged to apply.
We strive to also provide a disability inclusive application and interview process. If you are a candidate with a disability and require reasonable accommodation in order to submit an application, please contact us at: reasonableaccommodations@airbnb.com. Please include your full name, the role you’re applying for and the accommodation necessary to assist you with the recruiting process.
We ask that you only reach out to us if you are a candidate whose disability prevents you from being able to complete our online application.
Equal Employment Opportunity:
Airbnb values diversity & belonging and is proud to be an Equal Employment Opportunity employer. All individuals seeking employment at Airbnb are considered without regard to race, color, religion, national origin, age, gender, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, gender expression, sexual orientation, or any other legally protected characteristic.
How We'll Take Care of You:
Our job titles may span more than one career level. 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.
Pay Range
$196,000—$227,000 USD
Reasonable Accommodations: We are committed to providing reasonable accommodations throughout the recruitment process for applicants with disabilities. If you need assistance, or an accommodation, please let your recruiter know once you are contacted about a role.
A Note on Recruiting Scams: Scammers sometimes pose as Airbnb recruiters to get money or personal information from candidates. A few things that will always be true for Airbnb’s hiring process: our open roles are posted on Airbnb’s Career’s Page at careers.airbnb.com, and our recruiters correspond only from @airbnb.com or @ext.airbnb.com email addresses. Our recruiters will never ask for your Social Security number, bank account details, passport, or payment app information while you are interviewing. We’ll also never ask you to pay a fee, send money, deposit or cash a check, or purchase work-related equipment (such as a company laptop) during the interview process. We encourage candidates to remain vigilant of these recruiting scams and not share sensitive information if you do not believe an individual is actually affiliated with Airbnb.