Software Engineer II (For Independent Contractors)

EUR 50-100 per hour
MIDDLE
✅ Hybrid ✅ On-site
✅ Contract / Freelance

Tech Stack

Communication @ 3 Design Patterns Experimentation Java Leadership @ 3 Python Security Software Development @ 3 Technical Leadership @ 3

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