EXPEDIA GROUP TECHNOLOGY — SOFTWARE

My Summer at Expedia Group

A summer of networking, learning, and growing

Simar Vig
Expedia Group Technology

--

Screenshot of interns in a teleconference
Intern talent showcase!

I vividly remember receiving an email from Expedia Group™ (EG), back in September 2020, offering me the opportunity to join them as a Software Development Engineer Intern over the summer of 2021. To say that I was excited to launch my career with the world’s leading online travel company would be an understatement.

While the world was in the midst of the COVID-19 pandemic, I, like many other interns, started my journey at EG virtually. However, Expedia had the most insightful intern program planned for us. On my first day on the job, I received the warmest welcome and got the chance to interact with my fellow interns. We were given an overview of the intern program and were introduced to the various EG brands and divisions that work tirelessly to power travel. The induction focused on helping us transition into the corporate world, get a better understanding of Expedia’s guiding principles, and gain familiarity with EG tools so that we were equipped to extract the most use out of them.

Throughout the internship, we had various workshops and were provided with resources to acquaint us with topics such as human-centered design and API-First approach, and how these were being implemented by the various teams across Expedia. It was fun to delve deeper into these topics because they presented a new approach to problem-solving. We had a session on business acumen that aimed to give us a glimpse of the business side of things at EG. As an engineer, I was really excited to learn about the monetary aspect of this business.

As part of the intern program, Expedia had designed a Learning Series and a Leadership Series. The Learning Series included a session on personal branding which helped me gain better self-understanding in terms of my professional strengths and shortcomings, values, passions, and ambitions, and a session on mental health, where we learned strategies to look after ourselves during times of change and stress and how to build effective communication with our colleagues while working remotely. We also attended a session on allyship, wherein we had an insightful discussion on inclusion and diversity. I believe it was a great initiative by Expedia to share a variety of resources on allyship so that we were ready to work and contribute in a diverse environment and capable of dealing with unconscious bias.

The Leadership Series included a session with Expedia’s Travel Leadership Team. We got the opportunity to interact with senior leaders and know what their journey at Expedia had been like. We got a glimpse into what their day-to-day responsibilities look like and the requisite skill set to lead a team effectively, especially through the pandemic. We got to learn how teams across Expedia brands have been utilizing this time to develop easy-to-integrate technology and innovative solutions. All such sessions were kept as interactive as possible. We also got the chance to send in our questions and interact with our CEO Peter Kern!

My team — the Stay Experience team

For the 8 weeks that I spent at Expedia, I was part of the Stay Experience team which is responsible for building post-booking capabilities for EG lodging brands such as Brand Expedia, Hotels.com, Vrbo, etc.

I was introduced to my manager, my buddy, and my fellow intern with whom I was going to work during the internship, on the very first day. We had a Zoom call wherein they gave us the most cordial welcome, walked us through our project, and introduced us to some of the amazing work done by our team. They made sure that we were comfortable every step of the internship!

I had an incredible experience working with the Stay UI team under the guidance of my manager and my buddy. I was encouraged to fearlessly share my ideas, raise concerns, and seek help. I had daily stand-ups regarding my project wherein we had to update each other on recent developments and plan out our next steps. This helped me stay on track in terms of the project that I was working on and clarify any doubt that I had. Meetings like these introduced me to new concepts like performing a spike, creating a design document based on it, poker planning, etc. It was enlightening to know how a sprint is planned and how stories are groomed, estimated, and prioritized.

I had a weekly one-on-one sync-up with my manager to discuss my progress, the challenges that I faced, and how I overcame them. I enjoyed these sessions supremely and looked forward to them because they allowed me to ask questions related to the various tech stacks that the team was employing and discuss my overall growth.

Everyone in the team was extremely helpful and willing to lend a hand whenever I got stuck while implementing my project. All I had to do was float my query on the team channel and I was readily invited to a call to help me resolve my issue.

In one of the sessions of the Leadership Series with the senior leaders of Expedia, I got to know how my team worked to implement self-cancellation service for Vrbo’s customers in response to the COVID-19 crisis and I remember thinking to myself how great it was to be a part of a team that was using the time of lockdown to innovate and perfect its product.

My project

My project encompassed modifying some of the React components of Vrbo’s traveler-facing web application according to the atomic design pattern.

To abide by the atomic design pattern and promote the reusability of components, the organisms had to be made independent and generic. They had to be responsible for making calls for themselves and their constituent molecules and atoms to handle the following:

  1. Data fetch
  2. Ongoing experiments
  3. Translations
  4. Analytics events

The inspiration behind implementing the atomic design pattern

  • Breaking down components into atoms makes it easier to identify what part of the web application can be reused to form another molecule or organism. E.g., a developer need not create multiple components for generating a similar UI. They can use an existing atom/molecule and tweak it to suit their purpose.
  • By creating independent atoms, molecules, or organisms, we are consequently creating boilerplate code for components that can be used across Expedia Group brands. Thus, the reuse of code is facilitated.
  • Navigating code can be daunting, especially for a project this vast. However, the code for a website designed atomically becomes easier to traverse. The folder structure becomes more meaningful, as the atoms/molecules are now grouped, and it becomes easier to map the UI to the code.
  • Since all the code of a particular section of the website is contained within independent atoms/molecules/organisms, it becomes easier to update it.

I worked on implementing the atoms, molecules, and organisms for the section of the website that showcased the amenities that a particular property offered. Since I had previously worked on smaller React projects, I was somewhat familiar with the front-end library. However, while working on this project, I got intimidated by the intricacies of React.

Our regular meetings provided an opportunity to identify code where there was a scope of optimization in terms of using hooks, better state management, etc. I also got to dabble with unit testing by writing test cases for these components in React Testing Library (RTL). RTL was the chosen testing library because it allows us to write maintainable test cases for React components that work with actual DOM nodes rather than dealing with instances of rendered components. It facilitates querying in a manner that replicates how the user will navigate the software and avoids implementation details.

A peek into my project work

atoms > molecules > organisms > templates > pages
Mapping of atomic design elements to an onscreen user experience

My takeaways

This 8-week internship was my stepping stone into the corporate world, and I could not have asked for a better experience. My takeaways from this internship have been multifarious. Apart from getting the opportunity to work on and learn technologies such as React, React Testing Library (RTL), GraphQL, A/B Testing, Git, etc., it feels fulfilling to have worked on a live project and contributed to Vrbo’s website. Having gained hands-on experience in front-end engineering, I feel more confident about working on these tech stacks. From the multiple code reviews that I received, I learned how to write code by following the industry’s best coding practices. I now possess a better understanding of the entire lifecycle of agile development.

Despite the internship being remote, I got ample opportunity to network with some of the most talented people. I learned what a day in the life of a software engineer looks like and how to proactively collaborate within a team to deliver results.

These past few weeks have given me the chance to polish my communication and interpersonal skills. I have learned how to manage my time actively and efficiently from my mentors. I have become more adaptable and have learned how to competently function in a team. With all the skills that I have had the privilege of picking up from this experience, I believe I am one step closer to mastering the art of collaboration. I have had the most wholesome experience of working at Expedia Group. I have greatly enjoyed the organizational culture that the leadership has endeavored to create.

Shoutout to the entire Stay Experience team for helping me navigate my first corporate experience.

Thank you to the Expedia Early Careers Team, for the seamless virtual onboarding experience and the amazing workshops.

My time at Expedia Group as an SDE intern has helped me grow professionally and personally. I will always cherish this experience!

Learn more about technology at Expedia Group

--

--