In the brutal competition to find and recruit the best programming talent, Uber hopes it has found a way to attract and test a wide range of job of candidates from around the globe.
It’s called UberBot.
Simply put, UberBot is a coding game that challenges players to solve actual problems facing Uber’s engineering team. UberBot was built in collaboration with CodeFights, a San Francisco-based startup that launched earlier this year to create a gamified coding platform.
If the effort is successful, it could open up a whole new system for identifying potential job candidates based more on merit than on which college someone attended or their personal networks.
“The thinking was, ‘Wouldn’t it be cool if you could compete against the bot and see how’d you do against Uber engineers?’ ” explained Tigran Sloyan, the chief executive of CodeFights. “Where you went to school or where you work doesn’t necessarily correlate to your programming talent. This really gets to what matters: Can you code or not?”
Back in April, CodeFights raised a seed round of $2.5 million for its coding platform. On CodeFights, programmers create free accounts and then play in challenges against each other, or against bots built by the company. There’s leaderboards, points, and other features that track the players’ skill levels over time.
As CodeFights was building out bots, the company began talking with Uber about the idea of creating a branded gaming challenge. CodeFights worked closely with Uber engineers to design the challenge.
There’s an extensive explanation of the philosophy that went into building the UberBot here.
But in essence, Uber wanted the UberBot to look and feel like the coders were dealing with real problems the company faces each day. So each UberBot challenge mixes writing code and reviewing existing code for mistakes. Players must complete three to five tasks in up to 10 minutes.
After the initial version of the UberBot was built, Uber engineers spent several weeks playing against the bot in an attempt to test and train it, so that as the challenges evolved, they would be fun, but also just difficult enough to provide useful insight into the talent of players.
As Uber explained in a recent blog post: “When you codefight against the UberBot, you’ll solve some of the core challenges we face in growing our business, such as finding the optimal route for a car, or how to best match riders for uberPOOL.”
For winners of the challenges, a little window pops up and congratulates them, and invites them to submit more information directly to Uber regarding potential job openings.
In addition to testing skills, CodeFights also can help Uber select for candidates who are already inclined to be interested in the types of problems the company faces.
As for CodeFights, these kind of branded challenges are the sort of product that could lead to an actual business model, along with some educational potential. To find programmers from non-traditional sources, companies are turning to Big Data and others sorts of tools to find hidden gems.
If CodeFights can become a source for strong hires, that’s bound to hold enormous economic value for companies from a wide range of industries in need of technical talent.
“At the end of the day, even technical interviews are still subjective,” Sloyan said. “Who’s to say that at some point this can’t replace the interview?”