By Conor Myhrvold
Over the past six years, Uber’s engineering platform has grown from facilitating several trips in one city to more than five million trips every day in 70 countries around the world. As our business grows, we need to continue to grow our engineering team to expand the app and architecture.
However, finding suitable mobile developers in today’s competitive environment isn’t easy. Our default is to recruit enough current Android and iOS engineers to join for today, wait for tomorrow as the next generation of mobile engineers develops, and repeat. But Uber Engineering’s ambitions and scale are now large enough that we need an active recruiting approach to match.
Uber Engineering’s CodePath Android Class
As part of our effort to expand mobile engineering opportunities in the community, we are partnering with CodePath to offer a free Android program in San Francisco this summer at our office, for twenty-five students. (They’ll be joined by five Uber engineers who will also learn Android.)
Why Android? The world of developing increasingly focuses on the developing world, and while we are still much in need of iOS developers—we have lots of openings—locations like India and China have a widespread adoption of Android. Additionally, the Bay Area holds fewer Android engineers than iOS engineers.
Why CodePath? Their approach minimizes lectures and slides in favor of practical, hands-on experience, which we like. The eight-week course’s weekly lab exercises reinforce concepts, and structured projects challenge students to test mobile skills. CodePath also holds students to the same standards we expect from our engineers, including attendance and submission of high-quality assignments on time. Finally, it’s a class for professionals, aimed toward engineers who have 1+ years of work experience, but who in this case won’t already know Android.
As a student, you’ll build real apps each week, receive feedback from experts, and have existing Uber Android engineers and designers as mentors. The class culminates with a group project where you’ll architect, design, build, and demo a mobile application from scratch. You’ll compete against your peers at the public Demo Day, and judges from Uber will select the best app.
We’re excited to work with CodePath because they recognize that talented developers don’t always have the typical background. By pairing strict quality standards for enrolled students with a gender and color blind selection process, CodePath has achieved diverse representation in classes with a high bar. CodePath has trained thousands of iOS and Android engineers in the San Francisco Bay Area, many of whom are now successful alumni at many of the world’s top technology companies, including Uber. We loved the idea of joining forces and adding to their efforts to date.
In fact, we’ve already benefitted from their work. UberEATS engineer Paulina Ramos took a CodePath class in spring 2015 and and joined our Android team shortly after. Since then, she’s played a key role in developing Uber’s standalone EATS app on Android. More recently, Isis Anchalee, an Uber engineer on the driver experience team, joined as she was finishing her CodePath iOS class this spring.
Interested? Start your application. Know someone else who wants to learn Android development? Spread the word to friends, colleagues, and the community. We hope to see you July 18 at Uber when classes start!
Want more info on what it’s like? Here’s Isis on what led her to CodePath and Uber:
Isis Anchalee, Uber Engineer and CodePath Alum
What was your CodePath experience?
I heard about CodePath because I accidentally started the #ILookLikeAnEngineer movement and was looking to connect with people working in the diversity and inclusion space, and I also wanted to learn about mobile development. The CodePath program blended both and was an intense experience for me, but I ultimately flourished. The class culminates in a major group project that you build and design from scratch. Mine was Echo, a dance journal where dancers can get feedback from a teacher on their dancing. You can send your dance video to your teacher—or other experts—and they can play it and and give you real-time audio and visual feedback on your dancing.
I’m a big dancer, so I actually wanted to use this for myself. And with some adjustments, the app could give feedback for Olympic weightlifting, golf, or any choreographed or physical technique you want feedback on.
What were the most rewarding aspects of the CodePath experience?
Courage. I was the least experienced person in my class and actually had a hard time getting people in my group. Many of my classmates were senior engineers and thought my final project idea was too ambitious, so they were reluctant to commit to it. I figured I’d cross the complexity bridge one feature at a time, and my teammate and I ultimately did, although it was a lot of work.
What would your advice be for breaking into mobile?
The same approach I used: do a program like CodePath! CodePath has great instruction and it’s free. You go from zero to learning a completely different technology and design patterns in just a few months. The CodePath classmate community helps a lot. Instead of learning at your own pace at home, you hold each other accountable, which also sparks a competitive edge.
What happened afterward and what’s your role at Uber?
I put a lot of effort into Echo, and ended up getting first place out of all the final projects. Akash Garg, one of Uber’s mobile engineering directors, was actually one of the Demo Day judges. I started at Uber immediately after CodePath at the end of March 2015. I’m currently doing front-end development on Uber’s driver experience team, working on the mobile messaging service.
What suggestions for applying to CodePath can you offer?
Put in the effort to get the most of out the CodePath experience. For example, you have to build a tip calculator for your application; it’s akin to a homework assignment. CodePath has a handful of mandatory problems and then optional ones for building out this calculator. You have much better chance of being admitted doing all of the optional activities.
CodePath offers free education that’s immediately relevant. There’s obviously a huge need for iOS and Android developers—Android in particular because of its prevalence outside the US. But if you aren’t willing to make personal sacrifices to get these skills, then the CodePath program is probably not right for you.
Balancing the class on top of a full-time job is possible—most of my classmates did this—but you won’t have much time for a life outside of that during the course. My final project ended up becoming my full-time job, since my team only had two people and I had to compensate for not having a third partner.
But, to put my CodePath experience into context, I know there are thousands of other people in the world that would love to have this same opportunity I had. I feel like I need to take advantage of the opportunities presented to me as much as possible. This mentality is what led me to do CodePath, and quite frankly, in general this approach has helped get me to where I am now.