This is Part 1 of a series on my experience working at Baseten as a new grad engineer where I cover job hunting, the interview process, and how I decided to join Baseten. Stay tuned for Part 2, where I’ll share what I’ve worked on and what I’ve learned in my first four months on the job.
Hello BaseFriends! (Yes, I coined that phrase and yes, I’m trying to integrate it in Baseten's marketing 🤞🏽) Writing this brings me joy because it reminds me of what I’ve accomplished. I graduated in the midst of a pandemic and I’m working at a tech company in the heart of Silicon Valley. I write this sitting in Baseten's San Francisco office just feet away from our co-founders amidst a comforting buzz of keyboard clicking and problem-solving. I feel pretty cool. In order to capture the story of how I got to the beating pulse of the tech industry, let’s go back in time, to a little more than a year ago in Champaign, Illinois 🌽
My introduction to Baseten
I studied Computer Science at the University of Illinois at Urbana-Champaign. During college I interned at the New York Times, MongoDB, and then Confluent. Confluent was the most startup-y of my three internship experiences (Series E at the time) and it opened my eyes to how much I could learn and grow at an earlier stage company. Confluent is also where I had the most impact—I got to fully scope and execute an entire project and felt like I had a role to play in shaping some of their technology. Heading into my senior year, I knew I wanted to further this impact by finding a full-time role at an even earlier stage (pre-Series C) startup.
I began by looking through top-tier investment firms’ portfolios and reaching out to recruiters at these firms. A friend also encouraged me to apply to an annual career fair hosted by Baseten's lead investor. Though I didn’t know it at the time, this kicked off my journey to joining Baseten!
Early in the fall of my senior year, I attended the career fair remotely (in fact, my entire new grad recruiting process was virtual due to the pandemic). Baseten was still a stealth company at this point, so there wasn’t much information available on the company, beyond the fact that it was the fastest way to build machine learning-powered applications. Still, this was enough to pique my interest. I joined Baseten's virtual room and because it wasn’t packed full of people, immediately got to start talking to the CTO.
Baseten's CTO pitched the product and its applications to me. They also answered all my questions about the state of the product and company very candidly. The problem Baseten was solving resonated with me right away—a research group I was part of had just reached the point where we needed to figure out how to put our machine learning model into production. I left feeling excited about Baseten ✨
The interview process
I emailed Baseten's CTO after the career fair and we scheduled some time for a product demo to give me a more tangible understanding of the product. It still looked like a work in progress, but seeing how early the product was and how much development was yet to be done was thrilling.
After the product demo, I was sent a coding take-home challenge that was time-boxed to about an hour. This problem was ML-related and relevant, something I hadn’t been asked to do by other companies already, and refreshingly, not straight from LeetCode. A few days later, I had a technical coding interview with the first engineering hire to join Baseten's three co-founders. Over the course of an hour, I worked through a technical problem designed to gauge some of my systems design skills, but rooted in coding fundamentals like data structures.
Lastly, I got scheduled for a half-day of interviews with the rest of the team. This round of interviews would normally happen on-site but I interviewed over Zoom because of the pandemic:
- Technical coding interview with an engineer - We worked through a data modeling question and a coding question. I chose to do all of my technical interviews in Python because I was most comfortable with that language.
- Design and product sense interview with a designer - We covered my previous experiences working with designers and other team members beyond fellow engineers.
- Technical coding interview with an engineer - We talked through my research experience and then worked on an ML-related coding problem.
- Goals and priorities interview with the CEO - We discussed my internship experience at Confluent, my professional goals, and what excited me about Baseten.
Throughout all of the interviews, I was able to ask lots of questions about the work environment, interesting projects people were working on, and why they’d chosen to join Baseten. Compared to interviews with other companies, the non-technical interviews with the designer and the CEO really stood out. I felt like Baseten wanted me to think about higher level strategy, cared about my ability to communicate, and listened to my ideas. By the end of the interview process, I had talked to all six Baseten employees. As I later considered whether to join such a small team, it was reassuring to have had meaningful conversations with every single person I would be working with.
Within a few days of my last round of interviews, I received an email from Baseten’s CTO offering me a full-time role! I appreciated the quick turnaround time. BaseTen also understood that I was still early in the recruiting process, had other offers in the works, and would need some time. I had a big decision ahead of me 🤯
Along with many conversations with mentors, friends, and family members who were willing to be a thought-partner to a very decision-averse individual (me 😅), I made a chart comparing my opportunities. Here’s what this looked like for Baseten:
One of the most significant reasons why I ultimately accepted the Baseten offer was that I knew I wanted to start my own company in the future. Getting a front-row seat and finding out whether I enjoy working at a really small startup would be a great step in that direction. Baseten offered a unique opportunity to join a company this early stage as a new grad. While joining such an early stage company would be risky, I knew I’d learn a lot in the fast-paced environment and realized I was willing to risk it for the biscuit 🍪
Talking directly to the partner at the venture capital firm that led an investment in Baseten informed my decision as well. They told me that they advise the companies they work with not to hire new grads unless the company really knows how to manage new grads. They highlighted the backgrounds of Baseten’s co-founders and early hires, describing them as an experienced team that has collectively worked at basically every stage of a company. The partner helped me understand why they see so much potential in Baseten within the ML ecosystem. Finally, they encouraged me to define some goals for the role I’d like to have and the type of company I’d like to work at in the future, and accept the offer that would get me as close as possible to those goals right now. I’d highly recommend getting an investor’s perspective when evaluating companies. There’s nothing like being reassured about a company’s trajectory, straight from the source.
After two months, several followup conversations with Baseten’s CTO (they even sent me a list of things I could be working on upon my request), and a lot of soul-searching, I landed on Baseten. And four months into the job, I couldn’t be happier with my decision. More on that in my next blog post (Part 2) 🧡
Recruiting, from the other side 😎
Within a few weeks of starting at Baseten, I was able to get involved in our recruiting process. Now, I’m a part of the interview loop for most technical candidates, including all new grads interviewing at Baseten.
I started by shadowing systems design and coding interviews with my much more experienced coworkers. This was a great way for me to start learning how to interview and evaluate candidates objectively. Despite only shadowing interviews, my perspective has always been listened to in the interview debriefs. Getting to help shape the makeup of our team is very validating.
Bringing things full circle, this year I’ve gotten to represent Baseten at the same annual career fair where I first got introduced to Baseten. I’ve also been able to chat with new grads currently evaluating offers from Baseten. It’s rewarding to be able to candidly share my experience and perspective as a fellow new grad, something that was missing when I was deciding whether to join Baseten as the first new grad hire.
Choosing the right horizontal scaling setup for high-traffic models
Horizontal scaling via replicas with load balancing is an important technique for handling high traffic to an ML model. Let’s examine three tips for understanding how to properly replicate your instances to save users time without wasting your money.