Skip to content

Senior Software Development Engineer – Media Solutions
Company | Expedia |
---|
Location | Seattle, WA, USA |
---|
Salary | $173000 – $242500 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s, Master’s |
---|
Experience Level | Senior, Expert or higher |
---|
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, or a related field; a Master’s degree is a plus
- 7+ years of experience in software engineering, with a focus on designing and building scalable systems
- Participation in at least 2 multi-quarter projects as part of a decentralized team
- Formal mentorship of at least 3 individuals, and end-to-end technical design leadership for at least 3 projects
- Contributions to the engineering community via blog posts, open-source work, tech talks, or similar
- Ability to identify business problems at the team and project levels, designing solutions that are easily testable and observable
- Strong understanding of how team goals align with larger business objectives
- Ad Technology expertise
- In-depth knowledge of Ad Tech platforms, tools, and processes
- Familiarity with ad servers, Demand-Side Platforms (DSPs), Supply-Side Platforms (SSPs), and real-time bidding (RTB) platforms
- Strong experience in Kotlin or other JVM-based languages (e.g., Java) for building scalable systems
- Hands-on production experience with Redis, Elasticsearch, and Apache Kafka
- Understanding of microservices architecture and event-driven design patterns
- Proficiency in React for building modern, responsive web applications
- Strong grasp of RESTful APIs, system design principles, and data flow between frontend and backend services
- Cloud and DevOps skills
- Experience with AWS, GCP, or Azure, plus containerization tools (Docker, Kubernetes)
- Familiarity with CI/CD pipelines and test automation for both frontend and backend systems
- Excellent communication skills for cross-team collaboration and stakeholder alignment
- Ability to influence technical decisions and drive best practices within the team
- Background in building or optimizing search orchestration systems or large-scale distributed systems
- Familiarity with personalization or recommendation engines
- Experience with performance monitoring and observability tools (e.g. DataDog)
- Experience in optimizing front-end performance, managing state effectively, and enhancing overall user experience.
Responsibilities
- Architect and Implement High-Throughput Backend Services: Design and implement scalable, high-performance backend services in Kotlin to handle millions of search queries and orchestrate multiple data sources
- Manage Real-Time Data Flows: Work with Redis, Elasticsearch, and Apache Kafka to optimize search relevance, ensure low-latency performance, and handle real-time data processing
- Leverage Large-Scale Data Lakes: Produce and consume data at scale, ensuring efficient storage, retrieval, and processing within Data Lake environments
- Develop APIs: Implement APIs to integrate with various services, enabling smooth communication between the front-end and backend systems
- Ensure Reliability and Scalability: Contribute to system architecture, implement fault tolerance, and leverage efficient data processing techniques to deliver robust and scalable solutions
- Build Engaging User-Facing Interfaces: Create and maintain user-friendly interfaces with React, collaborating with designers to ensure responsive layouts and a seamless user experience
- Optimize Front-End Performance: Manage application state effectively, reduce load times, and enhance UX for smooth interaction and high performance
- Cross-Functional Collaboration: Partner with product managers, designers, and other engineers to drive features from concept to production, ensuring timely and high-quality deliveries
- Implement CI/CD Pipelines: Set up and maintain continuous integration and continuous deployment processes to facilitate quick, reliable releases and high code quality
- Troubleshoot and Resolve: Investigate and fix issues in both backend and frontend systems to minimize downtime and maximize user satisfaction
- Mentor and Guide: Support junior engineers through code reviews, best practices, and technical mentorship to foster growth and maintain development standards
- Drive System Architecture: Ensure that the overall architecture—spanning backend services and frontend applications—is optimized for scale, performance, and reliability
- Stay Current: Keep pace with emerging technologies and advocate for their adoption where they can add value to the business or development process.
Preferred Qualifications
- Master’s degree is a plus