Stacy Falaleeva's CPT Project 2019

From CSclasswiki
Revision as of 15:44, 2 December 2019 by Falaleeva (talk | contribs) (Reflection)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Program Introduction

This past summer I was one of the software engineering interns at TripAdvisor at their HQ in Needham, MA. The internship program lasted 12 weeks and provided a lot of opportunities to for interns to learn and meet people. The company is divided into 5 business units, and I got to work in the Experiences & Rentals. Specifically, I was part of the pricing and availability team on the supplier side, meaning maintaining the part of the website only available to experience hosts.

Every day the team had "stand-ups" - meetings where engineers would report on their progress and what they were planning to work on next, and product managers would share important info on the project from other stakeholders. I had a manager that I would personally meet with once a week to discuss how I was doing and ask for any help I needed.

Project

The main project I got to work on was adding a new feature of Introductory Offers for newly created products. All suppliers previously had an opportunity to add a "special offer" to their product, meaning offer a discount to travelers for a specific date range. The product then would show up on the website/app with an old price crossed out and new discounted price showing up instead, accompanied by a "Special offer" banner. However, to prevent sellers from increasing the price before offering a discount to make the product look like a better deal, there are legal regulations in place that a product must keep the same price for the past 30 days before starting a discount. Thus it was impossible to offer a discount on newly created products.

Introductory offer feature was meant to allow new products to add discounts, instead preventing the supplier from changing prices for 30 days after the end of their offer (to comply with the federal regulations). Other than myself, there were 2 full-time engineers, product manager intern and a UI designer working on this project. I worked on the prompt framework that would check which of the suppliers' products passed validation and could potentially run an introductory offer, show appropriate dynamic prompts to the supplier encouraging them to take advantage of the new feature, and allow them to preview what their product would look like to the travelers if they were to run a promotion.

I learned React to create the web components, and styled them using Sass (almost like normal CSS but has a couple additional cool features). Back-end code that would validate products was written in Java. For testing the front-end components I used Jest, and for unit testing different validation cases I used Mockito framework.

Reflection

During this internship I got to apply a lot of skills I learned in my CS classes at Smith. For example, during the interview process knowledge of Data Structure (CS 212) and Algorithms (CS 252) came in very handy. Web development skills from Advanced Programming Techniques and Computer Graphics classes were very useful while working on the front-end components for my project. I also utilized all the debugging experience I've gained over the years in various classes to solve smaller bugs in my own code and code written by other people.