Out of the Classroom: A Snapshot of Uber’s Summer 2018 Interns
August 14, 2018 / GlobalUber’s engineering intern program gives college students a chance to find out how their studies can be put to practical use in an industry setting. Working under the guidance of a mentor, interns at Uber embed within a team and are assigned a project with a scope that fits within the 12 to 16 weeks of their internship.
Over 200 engineering interns from universities all over North America and a diverse array of backgrounds participated in the summer 2018 program. They developed projects among departments throughout Uber, including Uber Eats, Safety, AI Labs, Data Science, and Uber Freight. Along with their coding work, they joined their teams and other interns for fun events and activities.
We interviewed a few of this year’s intern class to find out about the projects they worked on and what they learned during their time here.
Vishal Anand, Marketplace Team
How did you get your Uber internship?
Having worked at an investment bank and some fortune 500 firms before pursuing my master’s in computer science at Columbia University, I applied to around four firms for internships. An alum from IIT Guwahati (my undergrad alma-mater) referred me at Uber, which had the smoothest interview process: they communicated within two hours of my first interview and hired me within a day of my second interview. I could see Uber moves really quickly and decided to join!
What drives you?
Being pragmatic is my golden rule. Perseverance is good, as long as it accounts for the reality out there. To quote Master Yoda from Star Wars: “Do or do not, there is no try.”
As a machine learning intern, the power to understand society’s needs to better price Uber’s product offerings drives me to keep working on newer deep learning models and solve even more differentials. Tough problems and smart people makes it more gratifying.
What other activities did you get to do as an Uber intern?
The first day I joined my team, we went canoeing, had dinner, and celebrated the internship’s beginning. At Uber, there were multiple avenues to network and learn from colleagues, guest speakers, multiple study-groups, and projects. Outside of the team, there were intern events, as we explored California’s famed spots and food. This was quite an experience.
How did you get into computer science?
My mom was a software engineer, so I wanted nothing to do with it when I went to college. I enrolled as a marketing major, but while I loved marketing, I realized that it didn’t challenge me in the same way that STEM did. So, when I went to college, I also enrolled in what most people considered to be the most difficult major at my university: computer science. I had no previous technical knowledge, and with only a marketing background, I stood out in the class. However, after my first course I never looked back. A year later I was hired to teach the lab for that same course! While being far along in my marketing degree, I decided to keep both and double major. Together, they provide me with communication skills and business knowledge, while giving me the tools necessary to understand and write code.
What did you learn about the working world from Uber?
I would say that the culture of Uber is more relaxed than my classes. I’ve also realized that the support system is large. When you need help you have hundreds of people there for you. As opposed to school, no one is competing–we are all working together to succeed. Another thing I realized is that everyone is still learning, and it’s okay if you don’t know something, you learn it and move on.
Where do you see yourself in the future?
I’m really not sure! I hadn’t looked into technical writing until I applied for this position and realized that I really enjoy it. I also enjoy UX engineering, UX research, and data science, so I could see those pursuits in the future as well.
Yuchen Cao, Core Infrastructure Team
What did you learn about the working world from Uber?
My internship at Uber taught me a lot about software development in an industry setting. In college, I only work on single, well-defined projects. At Uber, I have to consider the whole design phase. Also, I have to consider each feature carefully so as not to break existing functions. When I look at the project code, I better understand why we want to write it, and why we want to write in a certain way. Also, I have the opportunity to identify and communicate potential improvements to my team regardless of my role and have these ideas taken seriously.
What projects did you work on during your internship?
For my main project, I helped build the staging environment for services used by our team. In order to avoid software conflicts in the production environment, I built a service that helps us ensure core services work well in the development environment through integration and load tests.
I finished my main project quickly and was able to work on improving its linter tool, which checks for errors in new services. I added a lot of features to this tool, releasing 10 versions in the process.
What was most rewarding about your internship project?
I learned Git usage from my mentor and I helped some of my friends fix Git conflicts. For coding, I learned that I should consider the overall design of a project, and how I can look for improvements, as opposed to just doing what I am told.
What projects did you work on during your internship?
I worked on three research projects for Uber Freight. The first project was to identify factors and situations that would improve adoption of our automated carrier pricing algorithm across account management and other ops teams; the second project involved discovering how carrier sales managers prioritized loads, so that our engineers could create better designs of the freight loadboard; and the third project was an exploration of how to improve visibility and usefulness of Uber Freight’s marketplace health metrics.
How did you get into research?
During my undergraduate days at Stanford, I was a mechanical engineering major but did an honors thesis in education, on the topic of learning in makerspaces. I absolutely loved the process of charting my own research path, asking questions that scholars didn’t have answers to, and setting out to do fieldwork to collect data to answer my questions. I’ve continued research in my doctorate at Columbia University in the Instructional Technology and Media program, and I’m constantly exploring various qualitative and quantitative research methodologies.
What was most rewarding about your internship project?
It’s incredibly rewarding to watch my research findings become implemented in product design iterations, data science models, and, finally, the engineering build and product launch. This observation solidified the fact that research is important and necessary to the pipeline! At Uber Freight, it was a huge learning curve for me in the first two weeks to learn about how freight works, because I’ve never been in the freight industry before, let alone conducted research on freight-related stakeholders and topics. I’m fortunate to have very helpful colleagues and mentors who were able to guide me along this learning journey.
Alex Chen, Automation Platform Team
I was born and raised in Houston, Texas, and I’m going into my third year at the University of Texas, Austin (UT Austin) this fall, majoring in computer science and minoring in business. I really enjoy coding and improving my knowledge of computer science in and out of my classes, but I also participate in a number of extracurricular activities. I serve as the vice president and Intramural Ultimate Frisbee Captain for the Society of Asian Scientists and Engineers at UT Austin. I also lead the organization’s volunteering efforts, focusing on teaching and fostering excitement toward computer science and engineering among elementary to middle school students from underrepresented minority backgrounds. Additionally, I enjoy powerlifting, the sport of moving heavy weights up and down for fun, am a member of the Longhorn Powerlifting Team and have competed at USA Powerlifting Collegiate Nationals.
What was most challenging about your internship project?
Based in Uber’s Seattle office, I worked on a service that manages shared resources, letting Uber employees claim an environment, such as a conference room, for a specific time by interacting with a chatbot. The most challenging thing about my project, which was also the most rewarding, was the amount of ownership and responsibility I had over it. Given just a problem and a basic idea of a solution, I was expected to move the project from start to finish. The process included researching the problem space, considering alternative solutions, developing a design, getting feedback from teammates and engineers from other teams, and further revising the design. I spoke with engineers from half a dozen teams around Uber before jumping into writing code. When I did begin implementation, I felt responsible for my project’s quality, so I took extra care with my code, unit tests, and code coverage, getting input from stakeholders, and keeping code clean and maintainable. This responsibility was quite intimidating to me at first and forced me out of my comfort zone, but in the end helped me learn a lot and improve as a software engineer.
What other activities did you get to do as an Uber intern?
I got to learn more about different aspects of Uber by visiting the Seattle Uber Greenlight Hub as well as the Operations office. I grew really close to my team through events, including a great barbecue at my mentor’s house. I got to know each and every one of the summer interns at my site through numerous intern-focused events, including coffee/ice cream runs, escape rooms, trivia lunches, volunteering, explorations around Seattle, and going to a Mariner’s game, which all made us a pretty close-knit group. Finally, I was able to meet a large portion of the amazing engineers here at the Seattle office through board game nights, tea times, and a super fun scavenger hunt around Seattle for our whole site (which my team actually won!).
Tell us about yourself.
I am a rising senior at Stanford University, majoring in computer science with a systems concentration. My favorite course to date was on operating systems because of the deep dive it offered on topics like process scheduling and virtual memory through implementing the file system, thread scheduler, and virtual memory system. During the school year, I split my time between working as a course assistant for another course, Principles of Computer Systems, and performing with Stanford’s resident Japanese drumming ensemble, Stanford Taiko. In the rare moments I’m not doing either of these activities, I like to read books, try new recipes, and listen to podcasts.
How did you get into computer science?
My journey into computer science was a surprising one. During high school, I was always more focused on the arts and humanities, and most of the university courses and summer programs I took while in high school covered subjects like modern art, theater, and literary theory. I never wrote a line of code until midway through my freshman year at Stanford. When I arrived at Stanford, I started with an interdisciplinary concentration in philosophy and computer science, changed to computer science with an emphasis in human-computer interaction, and finally went all-in to study computer systems. When I tell my childhood friends what I’m doing these days, I’m met with strong surprise (you’re studying computer science???), but to me, my drift steadily STEM-wards has always felt like an unusual, but intuitive continuation. In my engineering as in my writing, there is an emphasis on precision, clarity, and coherence. I find that my insights from either discipline help inform my work in the other.
What project did you work on during your internship?
I worked on a full-stack project to build an auditing platform for our driver identity verification service. Uber currently uses facial recognition technology to validate whether a driver is who they claim to be before they go online with the driver app. From writing the initial design document, to building the data pipeline, to crafting the front-end UI, working on this project has exposed me to many areas of Uber’s tech stack and expanded my understanding of what it means to be an engineer. The platform which I built will enable human auditors to collect information on this service’s performance, giving us greater confidence in its effectiveness and empowering Uber to continue raising the bar on safety.
Tell us about yourself.
Originally from Los Angeles, I pursued a bachelor’s degree in computer science with a minor in management science and engineering from Stanford. I conferred both degrees last June and will be returning to Stanford in the fall to finish my master’s degree in computer science.
Aside from school, I am the director of Stanford’s contemporary dance group. I was a competitive dancer for twelve years or so, training in classical ballet, contemporary, jazz, hip-hop. Given that dance was my first passion, I find any opportunity I can at Stanford to keep it in my life.
From a philanthropic angle, I am passionate about closing the gap between the kinds of opportunities afforded to students from private school versus public school education systems. I am a teaching assistant volunteer through the Microsoft Philanthropies’ TEALS program, teaching computer science to students at Woodside High School, about fifteen minutes away from Stanford’s campus. This has undoubtedly been one of the most rewarding applications of my academia and background in computer science.
What drives you?
Definitely a good challenge. I do not know if I have some weird, sadistic instinct to thank for this, but I always find myself gravitating towards the most difficult opportunities. For example, within Stanford’s computer science major, undergraduate and graduate students must select some specialization, and I chose artificial intelligence (and then also added a secondary concentration in systems) because they were notorious for their courses’ rigor.
Similarly, when I was an incoming Uber intern, we were sent a survey to rank our preferences for what teams and projects we wanted to work on. Each team was coupled with a paragraph-long description of the kinds of problems they were tackling. My number one choice was the team that specifically said their work was challenging and required continuous innovation on their product. I was thrilled when I later learned that I had been matched with the Michelangelo team, Uber’s internal machine learning platform.
What project did you work on during your internship?
I like to think of my internship as the Uber tapas experience. I did not have a project carved out for me and so I had a large hand in molding my internship into what I wanted it to be. I began doing some front-end work for the first two weeks or so, then jumped to the REST API layer underneath for the next four weeks. For the rest of the summer, I worked on a deep learning sub-team within Michelangelo developing command line tools for Uber’s Advanced Technology Group.
Peter Seger, Customer Obsession Team
I was born and raised in Portland, Oregon, but have since moved to Gothenburg, Sweden where my parents now live. I attend Olin College of Engineering, just outside of Boston, where I am majoring in computer engineering. At school, I am on the leadership team for our Formula SAE Electric build team where we design and build an electric Formula One-style race car from scratch each year. I previously led the firmware team, but am now the marketing manager. I also play on our ultimate frisbee team, which I love!
How did you get your Uber internship?
My sister, a senior product manager at Uber, had told me about the awesome, complex projects she’s worked on over the past three and a half years. Of course, she could not secure me the position, but when I was looking for an internship, Uber stood out to me because of the real world problems that they tackle. I really enjoyed the two technical interviews for this internship because they used real world problems that someone might face at Uber, and I worked through them with my interviewer in a collaborative way. They were actually really fun!
What was most rewarding about your internship project?
On the Customer Obsession team, I worked on an entirely new project focused on delivering an intent-based experience for users of Uber Help. As part of this project, I built a new service that ingests how users navigate the website and feeds anonymized data to a machine learning model. This model ranks help content in a manner that makes it easier for users to find answers.
I was really lucky to have an awesome and supportive team that encouraged me to pick such a vague and ambiguous project. I was given full reign over designing the architecture of my new service as well as how it would interact with other services in the Uber tech stack. This was an insanely daunting task since I had never worked with 90 percent of the tools and services and didn’t even know what most of them did. I had a steep learning curve in this aspect, but once I learned everything I needed to know, I developed a really good understanding of the complex interactions between Uber’s services and what’s possible with them.
Vinh Tran, Rider Team
What drives you?
What’s great about being a software engineer is that I can work in any industry: transportation, healthcare, education, etc. I’m majoring in computer science at Georgia Tech, and I spend my free time helping friends study computer science and tutoring middle school students in math. Being a first-generation college student, I always want to give my best efforts to make my family proud. My definition of success is not how much I achieve for myself, but how much I can help others along the way.
What did you learn about the working world from Uber?
In school the emphasis is on giving the right answers and less about collaboration. At Uber, collaboration is a must for any engineering team to succeed. The problems I get in class assignments already have a solution. At Uber, most of the problems don’t have a solution yet. As engineers, we have the responsibility of solving these technical problems. Most of the time, there is no perfect solution to a given problem.
What was most challenging about your internship project?
At the start of my internship, my mentor presented me with the requirements for the project that I was going to build. At first glance, I didn’t think the project would be too difficult to complete, but then I was faced with the problem of making it work at Uber scale. For anything that I designed, I needed to keep in mind the number of riders (75 million per month!) on the Uber platform. It was eye-opening to think about how to design a system to serve that scale. This project was also my first time writing a software design document, and I truly value that experience. The design document made me more effective by forcing me to think through the project and gather feedback from others. After collaborating with my team and other teams, we came up with an optimal design for my project.
Ingrid Wu, Marketplace Team
I’m currently study computer science and business administration at the University of California, Berkeley (Go Bears!). Aside from computer science, I am passionate about cultural studies and photography. I hail from Houston, Texas, but but prior to college, I lived in China and France.
What project did you work on during your internship?
As an intern on the Marketplace Engineering team, my project was focused on improving the integrity and consistency of earnings pricing mechanisms for drivers. The project was twofold: first, I focused on increasing the efficiency of heatmap rendering on Android by implementing a heatmap from raw data containing the geographic concentration of ride requests per hexagon in a hex map. Then, I built an integrity pipeline with analytics events to ensure that driver earnings matched the amount displayed in the app.
What was most rewarding about your internship project? What was most challenging?
The feeling of seeing my work rollout is unparalleled. Knowing that what I build will eventually help connect drivers and riders, improving the whole market, feels amazing. The most challenging part of my internship–aside from the technical problems–was gaining the courage to reach out to people outside of my team for help and code reviews. I was pretty worried about stepping out of line at the beginning of my internship, but I soon found that Uber encourages engineers to work out solutions without regard to hierarchy.
Yao Yao, Documents Team
Throughout the summer I worked on the Documents team, which collects, processes, and stores regulatory documents that driver and delivery-partners need to file with Uber as part of the driver onboarding process. I built a scalable machine learning framework for detecting documents with a high compliance risk based on factors such as document blur and glare. In order to implement risk detection, I also worked closely with data scientists on constructing machine learning algorithms using both natural language processing and computer vision features.
What was most rewarding about your internship project? What was most
challenging?
The fact that my project contributes to user safety makes it rewarding for me. Before someone can become an Uber driver-partner, they submit legal documents, such as a driver’s license, which are then verified internally. Ensuring that our driver-partners meet all legal requirements to drive contributes to safety. Part of our risk engine’s job is to leverage machine learning to help our employees with the task of verifying documents. The mission of my project fits perfectly with my vision of how artificial intelligence should assist rather than replace humans. And I want everyone to feel secure when riding with Uber, whether on a Saturday morning to explore a new brunch place or coming home exhausted after work.
Although the mission was satisfying, this project proved challenging, in that I not only had to design, write, and test my code, but I also had to learn a wide spectrum of topics, such as mastering version control, monitoring metrics, familiarizing myself with Kafka, and creating a thrift interface to enable RPC endpoints. Fortunately, much of the heavy-lifting is accomplished by internal products at Uber, such as scraping data with querybuilder and training machine learning models with Michelangelo. These tools let me focus on building quality software.
What did you learn about the working world from Uber?
Compared to my studies at Carnegie Mellon, where I’m working on a master’s in computer science, one thing I’ve found is that communication plays a much more important role in industry. You are working on sophisticated projects that are critical for the company’s business, and require a high level of engineering collaboration. Sometimes these collaborations span across multiple teams or stakeholders, such as data science, product operations, and external teams. Being able to articulate architectural and design choices during meetings and code reviews was challenging, yet one of my most rewarding takeaways from my time at Uber.
Interested in an internship at Uber? This year’s term may be over, but check our website next month to find out how to apply.
Subscribe to our newsletter to keep up with the latest innovations from Uber Engineering.
Wayne Cunningham
Wayne Cunningham, senior editor for Uber Tech Brand, has enjoyed a long career in technology journalism. Wayne has always covered cutting edge topics, from the early days of the web to the threat of spyware to self-driving cars. In his spare time he writes fiction, having published two novels, and indulges in film photography.
Posted by Wayne Cunningham
Related articles
Meet the 2020 Safety Engineering Interns: COVID Edition
October 29, 2020 / Global
Most popular
Moving STRIPES: innovating student transportation at Mizzou
Case study: how the University of Kentucky transformed Wildcab with Uber
How Uber Eats fuels the University of Miami Hurricanes off the field
How Uber Uses Ray® to Optimize the Rides Business
Products
Company