My Uber Engineering Intern Experience on the Supply Engine Team

Kate Park
5 min readbeginner
--
View Original

Overview

The article details the author's experience as an engineering intern on the Supply Engine Team at Uber, focusing on backend development for driver partner onboarding processes. It highlights key projects, challenges faced, and valuable lessons learned throughout the internship.

What You'll Learn

1

How to engineer backend systems for consent management in a scalable way

2

Why effective communication across teams is crucial in software development

3

How to troubleshoot Type Errors in Python applications

4

When to implement code reviews and the importance of industry coding standards

Prerequisites & Requirements

  • Basic understanding of backend development concepts
  • Familiarity with Python programming language(optional)

Key Questions Answered

What was the main project during the internship?
The main project involved engineering the backend for generating and storing consent wording that driver partners agree to when partnering with Uber. This project accommodated hundreds of international cities and various services, including UberEATS and UberRUSH.
What challenges did the author face during the internship?
The author faced a significant challenge with a Type Error that took two and a half days to troubleshoot. The issue stemmed from leftover files after using a tool's update feature, highlighting the importance of thorough testing and communication with the team responsible for the tool.
How did the internship experience contribute to the author's growth as an engineer?
The internship provided the author with hands-on experience in software development, exposure to industry coding standards, and the opportunity to work collaboratively with experienced engineers, ultimately enhancing their skills and confidence in the field.
What insights did the author gain about team dynamics at Uber?
The author learned that effective communication across teams is just as important as within them, which is crucial for resolving issues and ensuring project success. This insight was gained while working on troubleshooting and collaborating with different teams.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Engage actively in code reviews to enhance your coding skills and learn from peers.
Participating in code reviews not only helps you improve your own coding practices but also fosters a collaborative environment where knowledge sharing is encouraged.
2
Document your troubleshooting process to streamline future debugging efforts.
Keeping a record of the steps taken to resolve issues can save time and reduce frustration when similar problems arise in the future.
3
Foster open communication with team members to facilitate smoother project workflows.
Establishing clear channels for communication can help address issues more quickly and improve overall team efficiency.

Common Pitfalls

1
Overlooking the importance of thorough testing can lead to significant delays and frustrations.
The author experienced a Type Error that took considerable time to resolve, emphasizing the need for comprehensive testing and validation before deployment.