11th January 2016 was my first day at work in Skyscanner. 26th July 2018 was the last day.
Back then, I thought that Skyscanner is a company that does only flights price comparison. What so difficult about it right? Little did I know, a simple concept like that consists of various complex and large systems behind the scene, in the collaboration of multiple teams to return just a single page of results for the travelers. From the product perspective, you have the following example:
1. you have the UI that allows a user to put in their travel plan
2. you have the route service to determine which agents or airlines serve the specified origin and destination
3. you have the pricing service engine to check and return the prices for each itinerary, from each agent and airlines
4. you have the crawlers that consume partner’s (airlines or travel agents) API if the price needs to be refreshed (my first assignment in Skyscanner was to scrape Rayani Airline from Malaysia, which already closed shop :sweatsmile: )
5. you have geo services that understand KUL is the airport code for Kuala Lumpur, MY is the country shortcode for Malaysia
6. you have the redirect service that sends the user down to the relevant site to finish the booking, for some partners it will be done within the Skyscanner platform (known as Direct Booking)
7. not to mention about price caching, monitoring and metrics that gets logged as well
all this happened only on the search result page (we called it Dayview) for flights, and I haven’t talked about: Hotels, Car Hire, Ads, B2B (white labels, API, widget, referral), Partner Analytics etc. etc. And these are just the products! You have all the people working in commercials, marketing, growth and of course engineering to work together to produce these amazing suite of products to the travelers and the partners.
Personally, I definitely learned a lot in the past 2 and a half years to be a better software engineer (hopefully!) in general. Before I joined, I were merely just a programmer/coder, didn’t really know about:
1. Version control
2. Continuous integration and deployment
4. Unit testing & integration testing
5. Utilization of cloud services
6. Monitoring and metrics logging
which I am glad that working as a software engineer in Skyscanner teaches me all these. Of course, I also had the chance to learn better usage and best practices of all the programming languages (Python, Java and JS (Node and React)), and also had the opportunity to do data processing and analytics as well.
It was actually quite emotional when I stepped out of the office, after waving goodbye to friends and colleagues who have been through the hardship together. It’s now time for me to move on to pursue something I would like to challenge myself to, which is to start up a company on my own. I am joining a startup accelerator programme – Entrepreneur First (ef), but I will leave that for the next post 🙂
It was a tough decision for me to move on, but I believed it will be something I wouldn’t regret in the future. Thank you to all my friends in Skyscanner for the kind words, and thank you for shaping who I am today. I look forward to seeing all the exciting features and goals that have been planned for the future!
For now, I will be throwing myself into the startup world 🙂