Job description
Are you an established technology leader who is passionate about building robust, scalable, and performant applications that will help millions of people plan their travels and create memories for a lifetime? Come join the Expedia Group Connectivity team! We are working on building the next-generation partner connectivity platform to connect with various supply partners and redefine the travel industry. The partner connectivity platform supports millions of users every year in finding suitable travel products using technologies such as Java, Kotlin, Spring, MSSQL, DynamoDB, Redis, etc. We encourage experimentation with new technologies while maintaining a healthy balance between short-term and long-term goals. We deeply care about building a great experience to delight our customers. Our goal is to enhance every traveler's experience and make it better!
What you’ll do:
Extend outside of direct organization and collaborate with peers across a senior-level organization
Lead a community of practice and bring people together for shared learning
Partner with the business to have a clear understanding of how your own technology stack is tied to business outcomes and our bottom line
Successfully conduct day-to-day work and solve complex issues in your own specific technical engineering area
Share domain and industry knowledge between cross-functional teams
Serve as a guide to others by sharing and helping junior associates in their duties
Recognize the ability to fill in for peer engineering management as need arises
Possess knowledge of features and facilities for integration, and communication among applications, databases, and technology platforms to bring together different components and form a fully functional solution to a business problem
Creatively test and maintain software applications and related programs and procedures by using a variety of software development tools following the design requirements of the customer
Act as a spokesperson for software design best practices
Research and recommend frameworks and architectural/code design patterns
Identify areas of improvement within the code and suggest solutions
Advocate for operational excellence (such as unit testing, establishing SLAs, and programming for resiliency and scalability)
Advise on technical limitations of software design for products and provide alternative solutions
Facilitate collaboration with different stakeholders with varied perspectives to develop effective solutions to issues
Strive for optimum organizational efficiency by applying systems thinking across boundaries and making recommendations about policies/ processes
Take whole systems approach to analyze issues and implement holistic solutions by ensuring that linkages between structure, people, process, and technology are made
Spot outmoded methods of operation with current systems and design plans for disrupting them in a non-disruptive manner
Report on the status of difficult or high-level projects to local tech leadership via written or oral means. Ensure documentation is complete
Who you are:
Bachelor's or Master's degree in a related technical field; or equivalent related professional experience
At least 8+ years experience for a Bachelor's and 6+ years for a Master's degree
Experience working in at least in 2 multi-quarter projects as a part of a decentralized team and project
Experience formally mentoring at least 3 individuals and driving technical design end to end for at least 3 projects
Experience contributing to the engineering community through blog posts, open-source contributions, tech talks, etc.
Ability to identify business problems at the project level and team level and design solutions that are easily testable and observable
Strong understanding of how team goals fit a business need
Strong in multiple technologies or languages and is an expert in a given domain
Able to justify technology choices to technical and non-technical observers making well-defined technology choices
Creation of team project systems
Guiding integrations across teams within business units
Able to understand highly complex systems and design moderately complex systems
Ability to identify and advocate for project quality via testing, monitoring, and alerting at the project level
Ability to establish operational excellence metrics at the team level
Identifies and advocates for project quality via testing, monitoring, and alerting at the project level
Has a strong understanding of testing and monitoring tools and technologies
Establishes operational excellence metrics at the team level
Guides others in the design of software that is easily testable and observable