Get to Know: Bharadwaj Ramachandran, Software Engineer
Hear from summer-turned-fulltime software engineer Bharadwaj Ramachandran (CMU ’17) about why he chose Thumbtack, the projects he contributed to this summer, and how Thumbtack’s size enabled him to interact with everyone, from designers to founders.
What does Thumbtack do?
Thumbtack is a marketplace for customers to request professional services — from electricians, to DJs, to caterers. It removes the stress of cold calling businesses from Yelp or Angie’s List by giving you a tailored list of professionals who are willing and able to complete your project.
Why did you choose Thumbtack for your internship?
For me it was about the industry, and the data Thumbtack works with. There are so many small businesses that are out there on their own — they haven’t really digitized, or maybe they just created a Squarespace site. But if they can join a larger marketplace, that creates huge opportunities for them. Thumbtack has collected data on small business that no one has ever worked with before, and I think there are some holes in the American service economy that we’re helping fill. That intrigued me.
“Thumbtack has collected data on small business that no one has ever worked with before. That intrigued me.”
Another factor was how much Thumbtack cares about its engineers, including interns, fully understanding the product we work on. I studied a bit of economics in college, but that was all theory — I knew almost nothing about how a marketplace functions before I came to Thumbtack. Now I’m working with really interesting numbers, and I think we’re looking at problems in new ways.
Tell us about your role on the team, and how your project came together.
I worked on the team that optimizes machine-learning algorithms. I studied machine learning in college, so it was a good fit for me.
The team was about 16 people when I started. I remember early on, my teammates told me, “You’re an intern here, but really, you’re an engineer just like the rest of us. We’ll help you learn as much as we can, but we’re confident in your abilities.” They gave me a list of problems and told me to pick the ones I wanted to fix. That was my second day.
“My teammates told me, ‘You’re an engineer just like the rest of us…we’re confident in your abilities.’”
So I was like, “Hey, I noticed you’ve been getting complaints about location filtering. You’re really smart, so where do you think I should start to fix that?” And we just dove in. It was great — I was able to design a solution end to end.
The feature I worked on lets businesses decide specifically where they want to work. Before, they could only set a maximum distance they were willing to travel. But say you’re a lawyer who lives the border of New York and New Jersey, but you’re only licensed to work in New York. Or you live in San Francisco and want jobs within 10 miles, but you want to exclude Oakland because it takes two hours to cross the Bay Bridge. We wanted to help people filter for those restrictions.
What surprised you about the project?
A big adjustment for me was scale. Coming from school, it kind of shocked me. I’d be planning something in my head one way, and then someone would ask, “Yeah, but will that work when a million people are logged in?” That’s something that feels abstract in the classroom, until you face it in the real world. You have to be creative with the parameters you set for your algorithms and keep your focus on the intended effect, because there are so many factors in a marketplace. It’s not just about data storage and how fast it runs, it’s about making your customers happy and meeting business goals.
I got to talk with people on basically every team at Thumbtack. I had to make sure my writing made sense to the designers, and I recruited other engineers to help me with things I wasn’t sure how to do. There was a lot of creativity and collaboration within the team, and I was really glad I got to work on a project that made that kind of impact.
Can you describe some of the technical challenges you worked on?
A lot of machine learning goes into matching customer requests to the right businesses. Before my project, we were working with just one number for each business — a radius from the business’ location. At first, I tried making a simple zip code filter. That solved some problems but since Thumbtack has so many businesses, it meant storing a lot of data. When you add a feature like this, it can get complex, fast. We looked into all sorts of tactics to gain efficiency. What about groups of zip codes? Can we split cities into zones? Some ideas worked, some didn’t.
Another big challenge is how you roll out a feature for a service that’s continually running. There was no room for downtime. One of the best pieces of advice I received was that 30 percent of your effort is writing code. The other 70 percent is finding a solution that scales, making sure your tests are deployed correctly, and not breaking anything else. That doesn’t sound as cool as building new features, but it really is a huge chunk of the process.
Understanding the stack was challenging for me too, because Thumbtack has a huge number of layers. We use several languages that I hadn’t worked in before — Go, Scala, and PHP. I wrote in all three, for everything from setting up servers on the backend to implementing the frontend.
What was mentorship like during your internship?
My mentor, Nick, was great. He was a few years out of college, so he remembered what it was like to be a new engineer. He helped break down my ideas into smaller tasks, and he could figure out things that I’d be good at and enjoy, even before I did sometimes. We also talked specifically about being a young engineer at Thumbtack versus other companies. Xing — my team lead — used to work at Google, and he was really open and honest about his experiences in both places. He told me Google teaches you good building habits, but at some point, it felt like his tires were spinning, and that’s why he moved to Thumbtack. You can take on a lot of responsibility here while you’re still early in your career, and he talked about what that opportunity means in the long term.
“You can take on a lot of responsibility here while you’re still early in your career.”
Nick and I met every week, and I also met every week with my team lead, to discuss how the internship was going. I got to know the founders a little bit too. It’s not a very big office, and everyone eats together, so sometimes I’d sit with them. Even though I was just an intern in my second week, they were happy to talk about what I was working on and tell me what they thought. That they would spend the whole hour talking to one intern — I thought that was pretty incredible.
What advice would you give students hoping to become software engineers?
You have the opportunity to chart your own course. I always had help and support, but there was no point where I had to say, “Hey, can I do this?” It was always, “Hey, I did this.”
If there’s something you want to learn at Thumbtack, you’re going to be pointed toward a project, not assigned reading from a book. It’s a hands-on experience. Half the things I did during my internship, I’d never learned in school. At the end of the summer, I realized, “Wow, I learned three programming languages in three months, and I used all three of them to write something pretty big that actually worked.” It kind of hit me, “Oh, that’s pretty cool.”
Where are you now?
Back at Thumbtack! I received an offer to return full-time, which I accepted. I moved to the Bay Area after graduating from Carnegie Mellon this summer, and started full-time in July.
Interested in learning more?
Check out our internships or get in touch at college-recruiting@thumbtack.com.