My Internships at Optimizely
By: Ryan Smith
Tags: Software Engineering, Optimizely, San Francisco, Data Engineering, Internships

I’ve been very lucky to be an intern at Optimizely for two summers now, as part of their talented Business Systems Engineering team. This team’s mission is to enable Optimizely to take action on its own internal data. Considering Optimizely’s mission is to let our customers take action on their data, it only makes sense that we have methods to make data-driven decisions ourselves. The Business System team builds rock-solid performant data pipelines that take messy, raw data streams and transform them into a neat homogeneous OLAP schema in the Data Warehouse.

You might think, why does Optimizely need a Data Warehouse or a Business Systems team? As a startup, it makes sense that we purchase or subscribe to a product like Zendesk, a helpdesk system, rather than hire a team of engineers to build our own. Optimizely uses a myriad of these products, but this creates a problem: useful data about our customers is siloed inside these products. There is no easy way to gain insights about our customers across all the systems we use. Furthermore, most external systems we subscribe to do not have the functionality to write complicated queries that an analyst would need to perform. A Data Warehouse allows us to elegantly solve both of these problems. Being data-driven is so important to us, that there are TVs around the office with charts which are powered by the Data Warehouse.

Optimizely Engineering is insistent that interns become part of the team as another engineer, not simply an “intern.” This is unlike most other places, where an intern is assigned work to do in isolation. Intern work at Optimizely is code reviewed just like every other engineer, and is (hopefully) eventually pushed into production. Interns follow the same engineering processes at Optimizely that full-time engineers follow. I worked on several exciting and high impact projects during my tenure here.

One of the most impactful projects I completed was overhauling the Zendesk Data Pipeline. Historically, this pipeline caused a great deal of grief to the team with frequent failures affecting the ability to monitor Success service stats in real time. I re-wrote it using a clean object-oriented structure, new API endpoints, and extending the functionality to track SLAs from our Success staff. Tracking these over time is critical to Optimizely’s Customer Success team, especially as the company prepares to roll out an exciting new initiative in the near future.

Another project I worked on was implementing a RESTful API called SpeedFeed that is being used to interview full-time candidates, in a take-home assignment. The SpeedFeed API assignment more closely represents the daily work of a data engineer compared to a traditional phone screen. This project enabled our hiring team to evaluate the interview candidates in a brand new way!

I also worked on building several new data pipelines. Two of these included Google Cloud and Amazon Web Service costing, that allow Optimizely to track hosting costs at a granular level. Another one was for Docebo, our e-course management system, that allows analysts to answer a plethora of important questions about customer engagement with our education platform.

Optimizely also enables engineer creativity to be showcased during Hackathons. I worked on two small projects during a special intern hackday. The first project came from an insight I gained using the Data Warehouse. I determined, by using the Levenshtein string distance function, that many customers likely misspelled their email addresses when signing up for Optimizely. To solve this, we integrated with Mailcheck.js, which offers suggestions for email misspellings. A second project involved increasing the security of our product, by integrating with Castle.io, which detects suspicious login activity. We know a security incident can end the whole company, which is why we try to be as proactive as possible, for example, by adding 2-Step Verification.

Overall, I had an excellent two summers interning at Optimizely. There are plenty of fun activities available in the Bay Area. Summer intern trips included an SF Giants Game, miniature golf, escape the room, group volunteering activities and weekend hiking excursions. I strongly recommend any great, aspiring software engineer to intern here at Optimizely. Optinauts have a bright future ahead, with a world-class engineering team coming up with brilliant solutions that delight our customers. If this sounds interesting to you, check out our careers page.

Optimizely Interns at a San Francisco Giants Game