The Opportunity:
Principal Software Engineer plays a pivotal role in our technology organization, collaborating closely with individual contributors and senior leadership. Our Principal engineers are heavily involved in the hiring and mentoring process and the go-to experts who design and implement new systems and components. We are seeking individuals who are passionate about taking on greater responsibilities and driving significant architectural changes at Agoda. It’s expected that our Principal Software Engineers will lead Agoda forward technically by adopting new technologies and setting higher standards.
In this Role, you’ll get to:
1. Maintain ownership and responsibility of mission critical systems
2. Be hands on – build high volume platforms using cutting-edge technologies like React and GraphQL
3. Mentor and coach other software engineers
4. Be a major contributor to our agile and scrum practices
5. Design and lead crucial technical projects and initiatives cross teams and departments
6. Stay on the leading edge of technical know-how, industry trends and drive technical innovations
What you’ll Need to Succeed:
7. 12+ years of experience building large-scale web applications
8. Bachelor’s degree with a preference for Computer Science degree; a master’s degree is preferred. Alternatively, a minimum of 10 years of experience in the relevant field is acceptable
9. Working experience with agile, analytics, A/B testing and/or feature flags, Continuous Delivery, Trunk-based Development
10. You love new technologies and approaches and want to use the best tools available. We want people who can help us continually evolve our stack.
11. Great communication and coordination skills
12. Excellent analytical thinking and problem-solving skills
13. You have a good command of the English language.
It’s Great if you have:
14. Knowledge in physical architecture at scale, building resilient, no single point of failures, highly available solutions
15. Knowledge in one or more of the following: NoSQL technologies (Cassandra, ScyllaDB, ElasticSearch, Redis, DynamoDB, etc), Queueing system experience (Kafka, RabbitMQ, SQS, Azure Service Bus, etc.)
16. Working Experience with Containers and Dockerization, also K8S is a plus
17. Knowledge and hands on experience in CI/CD solutions would be a plus
18. Strong experience in all aspects of client-side performance optimization
19. Extremely proficient in modern coding and design practices. For example, Clean Code, SOLID principals, and TDD
20. Experience in multiple front-end platforms including iOS, Android, Web, and API services
21. Have worked on an app or internet company that is at scale with large numbers of users and transactions per second
22. Have experience in a data driven company with experience analyzing and working with Big Data
23. Lead teams and greenfield projects solving large system problems
24. Worked on global projects serving world markets with distributed data centers and localization of the front end and data