We are seeking a Senior Software Engineer with 5+ years of experience to join our team. You will be responsible for writing code for a large-scale distributed system and managing cached travel content. We are looking for a detail-oriented problem solver who can work independently and collaboratively in a fast-paced environment. This role includes planning, developing, testing, and deploying our Proactive Caching product.
Role: Senior Software Engineer – Cache
Experience: 5+ Years
Education: Bachelor's degree or higher in Computer Science or related technical field experience
We are looking for a Senior Software Engineer, you will be responsible for writing code for a large-scale distributed system, managing and providing unique cached travel content to other internal systems and teams. We are looking for someone who is a natural problem solver, that is detail-oriented and can work both independently and collaboratively in a fast-paced environment. This role will help with planning, developing, testing, and deploying our Proactive Caching product.
Job Requirement:
- Hands on experience in Golang, Java, and C# would also be acceptable
- Experience and understanding of CS fundamentals including data structures, algorithms, and complexity analysis (time and space)
- Experience and understanding relational databases such as Postgres at scale
- Hands on experience and understanding of highly scalable caching/no-SQL offerings like Redis
- Experience and understanding of event processing platforms like Apache Kafka
- Working experience of design and architecture knowledge as well as familiarity with object-oriented analysis and design patterns (OOA/OOD)
- Experience with Restful API development
- Experience working in a UNIX/Linux environment
- Ability to clearly and concisely communicate with technical and non-technical stakeholders across all levels of the organization
Additional experience:
- Experience with Google Cloud Platform/AWS or other cloud providers & cloud native architecture
- Experience with Docker, Container Orchestration tools like Kubernetes
Responsibilities:
- Design, write, review, test, and support code for reliable, high-quality systems at scale serving over 100 million requests per day
- Proactively identify technology opportunities for the company, and push technical ideas, proposals, and plans to the entire organization
- Promote quality code and drive initiatives like test driven development
- Work cross-functionally with product managers and other development teams to deliver high quality products and work towards improving our internal KPIs
- Coordinate and monitor regular releases to production
- Participate in on call support rotation and work with the team through incidents impacting our live systems
- Actively mentor the team through interactive code review and knowledge sharing sessions