Zheng Mu's CPT Project 2018

From CSclasswiki
Jump to: navigation, search

Program Introduction

During summer 2018, I worked as an Software Engineer Intern at Google Mountain View office. The Software Engineer(SWE) internship is a 12-14 week program. Software Engineering internships are available throughout the globe to undergraduate and graduate/PhD students, with rolling application dates (depending on location). SWE interns have a broad set of technical skills, enabling them to tackle some of technology's greatest challenges.

I was an Engineer Practicum intern at Google last year, and I got a good review from both of my hosts, so I got my return offer directly without doing extra interviews.

After team match, I got matched to Feedback team under ads.

Project

Background

Google Feedback is a system for gathering and processing user feedbacks about Google products. I integrated Feedback storage with an internal issue tracking tool and switched the existing storage to Spanner table as a unified storage.


Project Description

My project involves setting up backend infrastructure that allows real time status updates for Google Feedback team.

I created Spanner schema for back-end storage of issues. This part involves setting up new schema file for Spanner, creating I/O logic inside storage layer, integrating with existing system, and fully testing the newly added functions.

I integrated Feedback storage with an internal issue tracking tool, which sends a notification to its subscribers whenever an issue is updated in Issue platform. My work involves creating subscriptions that point to this issue tracking tool, implementing asynchronous message handler, adding Guice bindings to the subscriber, and adding metrics to monitor the performance of this new implementation.


Languages and Tools

  • Java

Reflection

My project was completed and achieved a pretty good result. The freshness delay on Feedback platform is decreased from 1-2 hours to less than 30 second. This is the first time I have ever worked on backend, and I enjoyed more working on backend than frontend compared with my previous internship experience. After this internship, I decided to come back to Google as a full time software engineer after graduation, and I will prioritize backend or full stack in terms of team choice.