Booking Holdings Romania - Software Engineer (Account Security)

Angajator: Booking Holdings
Domeniu:
  • Internet - eCommerce
  • IT Hardware
  • IT Software
  • Tip job: full-time
    Nivel job: 1 - 5 ani experienta
    Orase:
  • BUCURESTI
  • Actualizat la: 28.04.2024
    Remote work: Hybrid

    Booking Holdings Romania is a Center of Excellence based in Bucharest, Romania and was created to support the increasing business demands of the Booking Holdings Brands. The Center of Excellence provides access to specialized and highly skilled talent, leading industry best practices, and collaboration opportunities across all of our Brands. As part of our Booking Holdings Romania team, you will have the opportunity to be a part of the world's leading provider of online travel, with a mission of making it easier for everyone to experience the world through six-primary consumer facing brands: Booking.com, Priceline, Agoda, KAYAK, OpenTable and Rentalcars.com.

    Role description

    A software engineer owns the execution of technical elements in the Booking.com tech stack, products and processes. They are responsible for the implementation of technical solutions based on business requirements, they can estimate the effort and impact of the items they work on, and show a high quality of craft in what they deliver. A software engineer within Account Security helps build software to protect the world's largest travel platform against attacks to its account & authorization system.

    A software engineer understands the quality of test automation is as important as the production code and spends time refactoring both to ensure ease of change enabling a sustainable pace of development. A software engineer is expected to work together with colleagues in other job roles to design, prioritize and implement technical tasks. Because the required technical skills and commercial knowledge can vary from one business unit to another, a software engineer can focus on multiple types of work from product features to infrastructure automation, frameworks, tooling or services.

    Key Job Responsibilities and Duties

    • Rapidly develop next-generation scalable, flexible, and high-performance systems
    • Represent Booking.com values, both within the company and in the external community
    • Plan for reliability by designing systems to work across our multiple data centers
    • Advocate for a collaborative working environment - turn "my ideas" into "our ideas"
    • Solve issues with on-site and internal systems, prioritizing based on customer impact
    • Act as an intermediary for problems, with both technical and non-technical audiences
    • Write readable and reusable code by applying standard patterns and using standard libraries
    • Participating in code and design reviews to maintain our high development standards
    • Apply good engineering and security practices for the systems you build
    • Owning the end to end software development lifecycle like automated software testing, continuous deployment, release management.
    • Contribute to the growth of Booking.com through interviewing, on-boarding, or other recruitment efforts

    Building software applications

    • Is able to build software applications by using relevant development languages and applying knowledge of systems, services and tools appropriate for the business area
    • Is able to write readable and reusable code by applying standard patterns and using standard libraries
    • Is able to refactor and simplify code by introducing design patterns when necessary
    • Is able to ensure the quality of the application by following standard testing techniques and methods that adhere to the test strategy
    • Is able to maintain data security, integrity and quality by effectively following company standards and best practices
    • 1+ years of Java development experience is preferred.
    • Experience with frameworks such as; Spring, DropWizard or JEE is preferred
    • Good grip on the JVM internals is a nice to have
    • Experience with debugging and troubleshooting Java services is a nice to have
    • Experience with other languages like Go, Python, Clojure etc is a plus
    • Experience working with Distributed Service Oriented Architecture patterns
    • Demonstrable experience with MySQL and PostgreSQL or similar relational databases
    • Experience working with NoSQL databases like Cassandra, HBase etc.

    End to End System Ownership

    • Has sufficient knowledge to own a service end to end by actively monitoring application health and performance, setting and monitoring relevant metrics and act accordingly when violated
    • Has sufficient knowledge to reduce business continuity risks and bus factor by applying state-of-the-art practices and tools, and writing the appropriate documentation such as runbooks and OpDocs
    • Has sufficient knowledge to reduce risk and obtain customer feedback by using continuous delivery and experimentation frameworks
    • Has sufficient knowledge to independently manage an application or service by working through deployment and operations in production

    Technical Incident Management

    • Is able to address and resolve live production issues by mitigating the customer impact within SLA
    • Is able to improve the overall reliability of systems by producing long term solutions through root cause analysis
    • Is able to keep track of incidents by contributing to postmortem processes and logging live issues

    Architectural Guidance

    • Has basic knowledge to advise product teams towards a technical solution that meets the functional, nonfunctional & architectural requirements by challenging the rationale for an application design and providing context in the wider architectural landscape
    • Has basic knowledge to set a clear direction for a technical capability by evaluating and aligning the target architecture improvements, reframing architectural designs and decisions for varied stakeholder

    Software Systems Design

    • Has sufficient knowledge to evaluate possible architecture solutions by taking into account cost, business requirements, technology requirements and emerging technologies
    • Has sufficient knowledge to describe the implications of changing an existing system or adding a new system to a specific area, by having a broad, high-level understanding of the infrastructure and architecture of our systems
    • Has sufficient knowledge to help grow the business and/or accelerate software development by applying engineering techniques (e.g. prototyping, spiking and vendor evaluation) and standards
    • Has sufficient knowledge to meet business needs by designing solutions that meet current requirements and are adaptable for future enhancements

    Critical Thinking

    • Is able to systematically identify patterns and underlying issues in complex situations, and to find solutions by applying logical and analytical thinking.
    • Is able to constructively evaluate and develop ideas, plans and solutions by reviewing them, objectively taking into account external knowledge, initiating 'SMART' improvements and articulating their rationale.

    Continuous Quality and Process Improvement

    • Has sufficient knowledge to identify opportunities for process, system and structural improvements (i.e performance gains) by examining and evaluating current process flows, methods and standards.
    • Has sufficient knowledge to design and implement relevant improvements by defining adapted/new process flows, standards, and practices that enable business performance.

    Effective Communication

    • Is responsible to deliver clear, well-structured, and meaningful information to a target audience by using suitable communication mediums and language tailored to the audience
    • Is responsible to achieve mutually agreeable solutions by staying adaptable, communicating ideas in clear coherent language and practising active listening
    • Is responsible to ask relevant (follow-up) questions to properly engage with the speaker and really understand what they are saying, by applying listening and reflection techniques

    Role Qualifications and Requirements

    • 3+ years of platform engineering experience
    • Bachelor's degree in Computer Science, Computer or Electrical Engineering, Mathematics, or a related field or 3-5 years of progressively responsible experience in the specialty as equivalent
    • Strong programming skills
    • Strong business and technical vision
    • A deep understanding of software development in a team, and a track record of hands-on developing and shipping software
    • Strong interpersonal skills
    • Strong work ethic; self-directed and resourceful
    • Solution oriented and result driven
    • Proactive, flexible and capable of working independently as well as working in a team
    • Excellent verbal and written communication skills
    • Analytical skills and data-driven mindset

    Benefits & Perks

    • Contributing to a high scale, complex, world renowned company and seeing real-time impact of your work on millions of travelers worldwide
    • Working in a fast-paced and performance driven culture
    • Competitive compensation and benefits package and some great added perks of working at Booking

    Booking Holdings is proud to be an equal opportunity workplace and is an affirmative action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. We strive to move well beyond traditional equal opportunity and work to create an environment that allows everyone to thrive.

    Pre-Employment Screening:

    If your application is successful, your personal data may be used for a pre-employment screening check by a third party as permitted by applicable law. Depending on the vacancy and applicable law, a pre-employment screening may include employment history, education and other information (such as media information) that may be necessary for determining your qualifications and suitability for the position.