Principal Software Engineer, Back End (Remote)

Full Time
11 months ago

About Agoda 

Agoda is an online travel booking platform for accommodations, flights, and more. We build and deploy cutting-edge technology that connects travelers with more than 3.6 million accommodations globally. Based in Asia and part of Booking Holdings, our 6,000+ employees representing 90+ nationalities foster a work environment rich in diversity, creativity, and collaboration. We innovate through a culture of experimentation and ownership, enhancing the ability for our customers to experience the world.

About the Job 

Note: Agoda’s hybrid workplace includes a few select remote roles and in-office roles. By applying to this position you will have an opportunity to share your preferred working location from the following:

In-office locations: Gurugram, India; Bangkok, Thailand.

Remote location(s): Bangalore, India; Pune, India; Tokyo, Japan; Taipei, Taiwan; Melbourne, Australia; Manila, Philippines

 

Get to Know Our Team  

In Agoda’s Back End Engineering department, we build the scalable, fault-tolerant systems and APIs that host our core business logic. Our systems cover all major areas of our business: inventory and pricing, product information, customer data, communications, partner data, booking systems, payments, FinTech and more. These mission-critical systems change frequently with dozens of releases per day, so we must employ state-of-the-art CI/CD and testing techniques in order to make sure everything works without any downtime. We also ensure that our systems are self-healing, responding gracefully to extreme loads or unexpected input. In order to accomplish this, we use state-of-the-art languages like Scala and Go, data technologies like Kafka and Spark, and agile development practices. Most importantly though, we hire great people from all around the world and empower them to be successful. Whether it’s building new projects like Flights and Packages or reimagining our existing business, you’ll make a big impact as part of the Back End Engineering team.  

 

The Opportunity  

You might call yourself “full stack” or “back end” or you might consider yourself an authority in a certain field, but you have a keen interest in how the different systems work together.  

We’d love to hear from you if you are skilled in any of the technologies we work with (note – we are not looking for you to have them all). We are interested in speaking to persons of any level from individuals just starting their IT careers to experts in their field, although this particular position is better suitable to veteran engineers, with expertise in certain technologies, and especially those that had lead projects, initiatives and/or teams.  

 

In This Role, You’ll Get to  

  • Think and own the full life cycle of our products, not just a single piece of code – from business requirements, technology selection, coding standards, agile development, unit and application testing, to CI/CD and proper monitoring  
  • Design, develop and maintain platforms across the back end area  
  • Improve scalability, stability, and efficiency of our existing systems  
  • Write great code and help others write great code  
  • Collaborate with other teams and departments  

 

What You’ll Need to Succeed  

  • 12+ years’ experience under your belt developing performance-critical applications that run in a production environment using Scala, Java, C# or Kotlin 
  • Experience in leading projects, initiatives and/or teams, with full ownership of the systems involved  
  • Data platforms like SQL, Cassandra or Hadoop. You understand that different applications have different data requirements  
  • Good understanding of algorithms and data structures  
  • Strong coding ability  
  • You are passionate about the craft of software development and constantly work to improve your knowledge and skills  
  • Excellent verbal and written English communication skills  

 

It’s Great If You Have  

  • Experience with Scrum/Agile development methodologies  
  • Experience building large-scale distributed products from scratch 
  • Core engineering infrastructure tools like Git for source control, Gitlab CI/CD for Continuous Integration docker and kubernetes for deployments 
  • Hands-on experience working with technology like queueing systems (Kafka, RabbitMQ, ActiveMQ, MSMQ), Spark, Hadoop, NoSQL (Cassandra, MongoDB, CouchBase), Play framework, Akka library   

  #Tokyo  #LI-Remote 

Equal Opportunity Employer 

At Agoda, we pride ourselves on being a company represented by people of all different backgrounds and orientations. We prioritize attracting diverse talent and cultivating an inclusive environment that encourages collaboration and innovation. Employment at Agoda is based solely on a person’s merit and qualifications. We are committed to providing equal employment opportunity regardless of sex, age, race, color, national origin, religion, marital status, pregnancy, sexual orientation, gender identity, disability, citizenship, veteran or military status, and other legally protected characteristics.

We will keep your application on file so that we can consider you for future vacancies and you can always ask to have your details removed from the file. For more details please read our privacy policy.

To all recruitment agencies: Agoda does not accept third party resumes. Please do not send resumes to our jobs alias, Agoda employees or any other organization location. Agoda is not responsible for any fees related to unsolicited resumes.