Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Communication @ 3
Design Patterns
Experimentation
Java
Leadership @ 3
Python
Security
Software Development @ 3
Technical Leadership @ 3
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
A Software Engineer II owns the end-to-end execution of technical elements in the Booking.com technology stack, products, and processes.
The role is responsible for implementing complex technical solutions based on business requirements, accurately estimating or forecasting effort and impact, and delivering high-quality work. Software Engineers II collaborate with colleagues in other roles to design, prioritize, and implement complex technical tasks. They also coach and mentor more junior engineers and act as thought leaders within their teams to ensure best practices are followed.
Depending on the business unit, the role may cover product features, infrastructure automation, frameworks, tooling, or services.
Responsibilities
Building Software Applications
- Build software applications using relevant development languages and knowledge of systems, services, and tools appropriate for the business area.
- Write readable and reusable code using standard patterns and libraries.
- Refactor and simplify code by introducing design patterns when necessary.
- Ensure application quality by following standard testing techniques and methods that adhere to the test strategy.
- Maintain data security, integrity, and quality by following company standards and best practices.
End-to-End System Ownership
- Own services end to end by monitoring application health and performance, setting and monitoring relevant metrics, and acting when metrics are violated.
- Reduce business continuity risks and bus factor by applying state-of-the-art practices and tools and writing documentation such as runbooks and OpDocs.
- Reduce risk and obtain customer feedback using continuous delivery and experimentation frameworks.
- Independently manage applications or services through deployment and production operations.
Technical Incident Management
- Address and resolve live production issues while mitigating customer impact within SLA.
- Improve system reliability through root cause analysis and long-term solutions.
- Contribute to postmortem processes and log live issues.
Architectural Guidance
- Advise product teams on technical solutions that meet functional, nonfunctional, and architectural requirements.
- Challenge application design rationale and provide context within the wider architectural landscape.
- Set direction for technical capabilities by evaluating and aligning target architecture improvements and reframing architectural designs and decisions for varied stakeholders.
Software Systems Design
- Evaluate architecture solutions while considering cost, business requirements, technology requirements, and emerging technologies.
- Describe the implications of changing or adding systems through a broad, high-level understanding of infrastructure and architecture.
- Help grow the business and accelerate software development by applying engineering techniques such as prototyping, spiking, and vendor evaluation.
- Design solutions that meet current requirements and remain adaptable for future enhancements.
Additional Responsibilities
- Apply logical and analytical thinking to identify patterns and underlying issues in complex situations.
- Objectively review and develop ideas, plans, and solutions, initiating SMART improvements and articulating their rationale.
- Identify opportunities for process, system, and structural improvements, including performance gains.
- Design and implement improved process flows, standards, and practices that enable business performance.
- Deliver clear, well-structured, and meaningful information using communication methods and language appropriate for the audience.
- Achieve mutually agreeable solutions through adaptability, clear communication, and active listening.
- Ask relevant follow-up questions to properly engage with speakers and understand their points.
Requirements
- Proficiency in building software applications.
- Experience with end-to-end system ownership.
- Experience in software systems design.
- Familiarity with architectural guidance.
- Experience in technical incident management.
- Experience in technical leadership.
- Experience with effective communication.
- Experience in continuous quality improvement.
- Proficiency in critical thinking.
Technologies
- Java, or
- C#, or
- Python
Similar jobs
Staff Software Engineer - Ingestion Platform
Reddit · United States
USD 217,000-303,900 per year
Staff Workday Integration Engineer, Tech Foundations
Airbnb · United States
USD 180,000-225,000 per year
Principal Site Reliability Engineer
Nvidia · Santa Clara, United States
USD 248,000-396,800 per year
Senior Software Engineer, Tech Foundations
Airbnb · San Francisco, United States
USD 196,000-227,000 per year
Distinguished Engineer, Agentic SDLC & Non-Linear Productivity
GitLab · Canada, United Kingdom, Poland, United States
USD 250,000-349,000 per year
Senior Product Security Lead – NVIDIA Jetson
Nvidia · Santa Clara, United States
USD 224,000-356,500 per year
Principal Software Engineer – Infrastructure
Nvidia · Santa Clara, United States
USD 248,000-391,000 per year
Senior Platform AI Engineer
Nvidia · Santa Clara, United States
USD 184,000-356,500 per year