Daniel's Internship at Uber
June 15 - September 18
About Me
Journey to the West
East
Born in Baltimore, MD
Live in Herndon, VA
Midwest
Study in Chicago, IL
University of Chicago
3rd year, Computer science major
West
Work in San Francisco, CA
Confusion
Applied as a backend engineer
Mentor is a mobile engineer
Team needs a front end engineer...
First Time Frontend Engineer
- First time developing with JavaScript
- First time using React/Flux
- First time doing code reviews
My Project at Uber
Yangtze - Virtual Onboarding for Drivers in China
Problem
- Slow (many server calls)
- Many steps
- Optimized for desktop web
Solution
- Fast (single page application)
- 3 simple steps
- Optimized for mobile web
Results
- Rolled out to 6 cities with many more to come
- Users spend ~30% less time on the onboarding flow
- Vault input rate improved ~100%
Coding
(6/22 - 8/13 1:00 PM)
while(new Date() < new Date(2015, 8, 13, 13)) {
Daniel.code();
}
Create training page
Create activation page
Help with error handling of form
~30% of Yangtze codebase
Refactoring & Bug Fixing
(8/13 1:01PM - forever)
Hyper Growth of Memory Usage
Debugging the Memory Leak
- Examine memory usage with top while curling the url
- Comment out code
- Discover memory leak in server side rendering
- Look into client side code
- Dispatcher singleton
- Registering dispatch on server side
- Move register from getInitialState() to componentDidMount()
Testing Compatability Across Browsers and Devices
Watching First Yangtze User
- Frontend is cool
- JavaScript is interesting
- React/Flux is awesome
- Uber is great
Han Lee (Mentor)
Shaohua Zhou ("Mentor")
Yangtze Team
Jia Zhou, Rachel Lin, Jack Yang
Guangyu Dong, Yison Song, Weisi Duan
Yefei Peng, Wen Sun, Kai Wu, Yuan Lu
Wenjin Zhou, Yameng Li, Yi Hao, Matt Moore
Yunjing Zhang, Wenqi Shao
Han Qin (Manager)
China Growth Team
Thanks for the Great Summer!
Daniel's Internship at Uber
June 15 - September 18
As told by Daniel Ni