For many developers, the most interesting coding projects happen after work. With the day’s checklist conquered, they switch gears to try new technologies and new approaches to solving problems and develop proofs of concept for new features they’re hoping to build.
According to lead iOS engineer Chelsea Carr, getting to do that experimentation during work is one of the best parts of working for Yello.
The recruiting software provider encourages its designers to spend time keeping up with emerging trends. Sometimes, that means approaching the same feature in three different ways to see what sticks. Other times, it means engaging in in-depth Slack discussions on blog posts about new iOS features.
We spoke with Carr and engineering manager Rob Timpone to learn what it’s like to work on one of Chicago’s fastest-growing engineering teams. The two weighed in about the challenges they’re taking on, how the group works together and what Yello looks for in the engineers it hires.
WHAT THEY DO: Yello’s software is used by Fortune 500 companies and growth-stage startups to handle every part of the recruiting process and make it feel more personal.
WHERE THEY DO IT: The Loop.
ON THE ROAD: Yello’s mobile apps make it easier to track and coordinate with hundreds of candidates at career fairs and conferences.
THE STACK: Swift, Java, Ruby on Rails, PHP, Objective-C.
PURPOSE BUILT: The company’s mobile engineering team eschews cross-platform frameworks to write cleaner, more efficient code.
WHAT THEY LOOK FOR: Resilience, creativity and a love for cutting-edge tech.
What is the most interesting challenge Yello’s mobile team is taking on?
Chelsea Carr, lead iOS engineer: Career fairs are notorious for having bad Wi-Fi, and our tablets go offline quite a bit. One of the things we’ve worked hard on is building out a robust offline mode that lets users record candidates and gather information to sync later without the risk of losing it along the way.
Rob Timpone, engineering manager, mobile group: What you don’t want is for old information from the server to overwrite the data on your device. So the trick is to always compare new information on our servers to the information that’s been added on the device while it was offline.
We’ve written a pretty advanced syncing engine based on our own data models to figure out what to send and receive. We’ve also had to get creative about ensuring that all the information is processed and stored on each device in a way that keeps it from getting lost if you kill the app in the middle of a session.
Carr: We’ve also gotten creative about how and when to load data. You want all your data to be available to all users, but you don’t want to get users stuck on loading screens whenever they connect to the internet.
Our mobile team builds everything natively."
Which technologies does your team use, and why?
Timpone: Our mobile team builds everything natively. So our iOS engineers use Xcode and Swift, with some Objective-C for legacy apps. On the Android side, we use Android Studio and Java. Our web apps are written in Ruby on Rails, with some legacy functionality written in PHP.
Why did you decide to focus on native development instead of using cross-platform frameworks?
Timpone: The main thing on our end is that it’s resulted in code that’s easy to work with and debug. You don’t have to fight the framework or the platform because everything has been written by Apple or Google to work with the devices you use. And when you do get stuck, there are really robust developer communities out there.
Carr: Whether to develop natively or cross-platform is definitely controversial in our field. But we’ve come to the conclusion that it’s easier to write and maintain native code — especially given the memory challenges we were talking about earlier.
We’ve come to the conclusion that it’s easier to write and maintain native code."
How did you end up at Yello?
Timpone: Before I came to Yello, I worked at a small financial services company as a portfolio manager and research analyst. As my work got more technical and I started to get into coding, I realized that I really enjoyed it. So I got my master’s in computer science at the University of Chicago. I joined Yello as an iOS engineer four years ago, and now I oversee our mobile group.
Carr: I had a more traditional introduction to the field. I got a degree in computer science and took any technical job I could get my hands on alongside my studies. I worked in California for a while after graduating before moving back to Chicago and ending up at Yello.
What was it about the company that drew you in?
Carr: I’ve always been interested in recruiting, because there’s such a big difference between recruiters. Some of them really know what you do, while others will just email anyone whose resume says anything about computers. Yello helps more recruiters cross over into the first category.
Timpone: I really liked how much flexibility there was to explore different design patterns and architecture decisions. There’s not a lot of red tape, and you have enough room to explore new approaches you think might work. That level of trust means a lot. I also thought I could learn a lot from the people who already worked here.
Four years is a long time in the startup world. What’s been the biggest change on your team since you joined?
Timpone: When I started, there were 30 or 35 of us. Now there’s more than 100. There used to just be a handful of engineers on our team, but now we’ve been able to become more specialized. That has made a huge difference to the kinds of things we can accomplish.
Has that growth opened up opportunities for you?
Carr: We’re given a lot of opportunities to work on some interesting stuff you might not see elsewhere. For instance, we have this crazy algorithm we use to generate forms with dependent fields. If I say an applicant is a student in Michigan, the app can rule out colleges in Utah and California as options for the school field. I got to spearhead our development for that feature on the iOS side and work closely with the Android team on their version as well.
Timpone: For me, it was the opportunity to take on a leadership role. I joined as an entry-level iOS developer and got to see a whole team build up while taking on new management and leadership responsibilities. It was a completely new skill set that I had never been exposed to before.
We're given the freedom to be able to write proofs of concept or look into new technologies, and to do it during working hours."
What is the most exciting part of your day-to-day work?
Carr: We're given the freedom to be able to write proofs of concept or look into new technologies, and to do it during working hours instead of on our own time. But our team is probably my favorite thing. There’s never been a day where I’ve dreaded going to work. I always look forward to it.
Timpone: It's a group of really, really positive, constructive, collaborative people. We all help each other out, and there isn’t an iOS-Android rivalry. Well, maybe a friendly one. But once one team develops a feature for their platform, they often help the other team work through it on their end.
What do you look for in the engineers you hire?
Timpone: We look for people who really want to take on new challenges and get creative with their solutions. A lot of the time there aren’t obvious answers to the challenges we’re taking on, and we may have to try two or three different approaches to see what works best. So you need to be able to write the same feature over and over again without getting discouraged.
We also want people to be passionate about the platform they’re working on and to genuinely enjoy keeping up with new developments. We’re always sharing new blog posts and articles on Slack about new features and cool approaches other companies have taken, and people really weigh in about it in detail. It’s clear that people love what they do — they’re not just going through the motions.
What does your team do together when you’re not working?
Timpone: There are a lot of fun events to look forward to every year. We get really into March Madness, wearing college jerseys and t-shirts and putting games up on TVs around the office. And at our holiday party we hand out the “Recsies,” which are based on the Dundies from The Office. People even give mini acceptance speeches.
Carr: We also celebrate all of our big releases. For our last one, we all went to HQ Beercade to hang out together for the night. It’s always great to hang out with the team because we all get along so well.