This is a Q&A with Bryan Yan, currently a software engineer at Salesforce, about his experiences going through various software and machine learning interviews. Bryan graduated with a Stats & Machine Learning major and computer science minor from Carnegie Mellon University and during his search for his first full-time position he went through various software engineering and machine learning interviews.
AdaptiLab: Thanks for doing this Q&A with us, Bryan. Could you provide our audience with some context into your background and current position?
Bryan: Sure. I graduated from Carnegie Mellon in 2018 with a degree in Stats & ML, along with a minor in computer science and software engineering. Since graduating, I’ve been working full-time at Salesforce in San Francisco. During my time in college, I did internships at Clarifai, Roku, Twitter, and Salesforce.
AdaptiLab: That’s a lot of internships done during your time in college. What sort of work did you do at your internships?
Bryan: So at Clarifai I was part of their Developer Evangelist program, where I helped them build various tech demos and gave tech talks using Ruby on Rails, Flask, and the Clarifai API. At Roku I worked a lot with AWS services such as Elastic Beanstalk and Lambda to create product crawlers and automated deployment services. At Twitter and Salesforce I began working a lot more with data and analytics, including A/B experimentation and data visualizations, which is also what I’m currently working on full-time at Salesforce.
AdaptiLab: Was that one of the reasons you chose to stay at Salesforce full-time, the opportunity to continue working with the same team from your internship?
Bryan: That definitely was a factor, yeah. I built a lot of good relationships at Salesforce, both in my team and outside my team, so being able to maintain those relationships was a benefit to staying at Salesforce. Also, not having to go through a rigorous job hunt that most graduating seniors normally have to do in college was a huge weight off my shoulders.
AdaptiLab: So did you just accept the Salesforce return offer immediately after your internship, without doing interviews with other companies?
Bryan: I did a few initial interviews with some companies but I really wasn’t trying to go through super long interview processes. There’s normally like a good 3–5 technical interviews before the onsite when you’re interviewing for full-time straight out of college. I just didn’t have the time to go through all those interviews, especially given that I already had a full-time offer from Salesforce.
AdaptiLab: Did you only interview for software engineering roles, or did you also interview for some data/ML roles?
Bryan: Mostly software engineering roles. I think maybe one or two of the roles were technically “Data Engineer” but I couldn’t tell the difference from the interviews.
AdaptiLab: Were you open to interviewing for machine learning roles, given your degree was in Stats & ML, or were there other factors that prevented you from interviewing for those roles?
Bryan: I was definitely open to exploring those roles. I think for a lot of the ML Engineer roles companies will require a lot more industry experience in ML, whereas I’d only had some research experience in ML at Carnegie Mellon. There were actually a few software engineering positions that I interviewed for which included ML projects, but the interview processes for those were the same.
AdaptiLab: Can you expand on the types of interview processes you went through? Any particular likes or dislikes?
Bryan: For the most part, all of them were really similar. There’s an initial phone call with a recruiter then a few technical interviews with engineers at the company, normally done over like Google Hangouts with a text editor for code. A lot of the questions asked during these interviews are similar or identical to ones found on LeetCode (a platform used by candidates to practice for technical interviews), so it’s pretty easy to prepare for them. As a candidate, I’d probably prefer questions that are more relevant to the position, but having conducted interviews from the other side for the past couple years I know that there’s not really much time during the day to prepare good questions. Other than that, and maybe having fewer technical interviews, there’s not much else I’d change about the interview processes I went through.
AdaptiLab: Any final advice or thoughts for companies looking to hire new grad or entry-level engineers?
Bryan: Start from internships, since converting from internship to full-time is a lot easier than hiring directly from college. If you don’t have the chance to convert from internships, then try to make the interview process as streamlined as possible for candidates. Most college seniors are probably applying to dozens of companies at a time, and they won’t want to go through hiring processes that have a lot of rounds of technical interviews before the onsite.