Designing and implementing distributed systems . The role is very hands-on and requires expertise in designing significant parts of the production services and systems, implementing core features in collaboration with other team members, formulating well-thought out rollout and testing plans, and participating in team’s on call.
Maintaining and debugging existing systems . This could involve fixing bugs, improving test coverage, improving performance, contributing to production excellence, adding new features, code reviews and creating dashboards for better observability into the systems.
Providing technical support to other engineers and developers. This could involve answering questions, debugging code, or helping to troubleshoot problems. Partner with stakeholders to understand their feature requests, design, implement and ship them as per expectations.
Staying up-to-date on the latest trends and evolutions. This could involve reading blogs, taking courses, reading research articles, and thinking about the ideal system state, and which technologies are best suited to enable us to move to that state.
Collaborating within and broadly across the Airbnb tech community. Working with other engineers on Airbnb wide initiatives, collaborating with external teams - partners and stakeholders, and ensuring that team success makes Airbnb platform and community successful.
Your Expertise:
Bachelor’s and/or Master’s degree, preferably in CS, or equivalent experience
5+ years of industry experience
Experience working on distributed systems and evaluating trade-offs
Proficiency in Java, micro-services, observability systems, debugging distributed and multi-threaded systems
Proficiency in technical communication - writing design docs, presenting in design reviews, writing effective post-mortems, etc.
Effectiveness in collaborating within and outside the team via code reviews and architecture discussions
Motivated to contribute to a positive team culture and building belonging together