SnapTravel Engineering Internship Experience26 Apr 2019
Over the last four months, I worked as a Software Engineering intern at SnapTravel, and had the opportunity to develop my knowledge of data pipelines, software design, and deployment, all while getting to make a difference in a fast-paced startup environment. I worked on their data engineering team and had the chance to build several data pipelines and make improvements to the data infrastructure. This blog post outlines my internship experience in terms of impact, mentorship, and culture.
SnapTravel is an online conversational hotel booking service that users can interact with using Facebook Messenger, WhatsApp, SMS, or Slack. It was founded in 2016, and has been featured at Facebook’s F8 conference, and is also part of Steph Curry’s startup investment portfolio.
Hitting the Ground Running
Prior to starting, my mentor emailed me with a short list of topics to familiarize myself with the data engineering stack which included Python, Bash, SQL, Docker, and Apache Airflow. The email also included great resources and tutorials which I used over the course of the term to learn more about any part of the stack.
On my first day, I learned more about my role and was introduced to some of the other members on the SnapTravel team. I quickly noticed the culture at SnapTravel was built on helping one-another, and found that I was rarely blocked on items related to internal context. Once I was setup, I was also assigned some JIRAs to help familiarize myself with the codebase and developer workflow, and was ready to start pushing code to production within my first week.
The SnapTravel onboarding experience also includes “101-sessions” with each of the departments within the company (e.g. finance, growth, product). I found these to be extremely helpful for building context about the nature of work at the company, and the various opportunities that existed. Personally, I was completely new to the travel industry, however, after these sessions, I found myself a lot more familiar with the marketplace at a high-level.
Another large part of my experience was learning and growing based on guidance from my mentor. During my first meeting with my mentor, we discussed what sorts of technologies and business context I was looking to gain exposure to. For instance, I wanted to learn more about marketing data and growth within the company, and was given the chance to develop data pipelines to ingest and transform data to serve to our growth team. I have always had an interest in marketing, and this was a great way to see how rapidly-scaling startups leverage data to make marketing decisions.
During the course of the term, I had regular one-on-ones with my mentor where we worked together on identifying strong points and next steps. I found these meetings extremely helpful for keeping me on track and quickly addressing any concerns. Lastly, we would decide on some action items to work on in the future to help me grow. For example, after one of our meetings, I worked on improving my understanding of On-line Analytical Processing (OLAP) vs On-line Transaction Processing (OLTP).
Making an Impact
Things move fast at SnapTravel and as a result, I had the chance to make a difference in multiple ways over the course of the term. At SnapTravel, pipelines are orchestrated using Airflow, an open-source Python-based tool, and I had the chance to create several pipelines from end-to-end, and learned a lot more about the factors to consider when dealing with big data. For example, how to deal with bad/missing data from the source, or when infrastructure imposes constraints on the feasibility of transformations.
I also worked on establishing the service-level agreement framework for the data team. This was an especially interesting project because I learned more about the needs of data consumers and their requirements. The project also introduced me to the fundamentals of infrastructure monitoring and how to improve reliability.
Fun Team Events
Within the four months I was there, there were plenty of fun team events as well. Our weekly team lunches had a different cuisine each week, and would be a great way to connect with fellow colleagues. The team lunches would also sometimes serve as lunch & learns, and were a great way to learn from subject matter experts within the company. We also had a few team outings such as a games night and bowling.
Overall, I had an amazing time at SnapTravel, and would highly recommend the internship to anyone else who gets the chance.