Data Science Interviews During the 2020 Pandemic
I started looking for a job this year because Intuit cut my old position as part of COVID-related layoffs. Consequently, I spent the last three months preparing for and participating in job interviews.
The interview process was different from when I first interviewed as a young data scientist right out of Insight, and even different from my more recent interview experiences in 2017.
Observations
All of the interviews this year followed the structure I outlined in my post on not wasting a candidate’s time, which I appreciated. To summarize, that structure is:
- Prescreen: A resume or recruiter screen of the candidate, often offline.
- Technical Screen: Either a call with a team member or a take-home assignment to assess the candidate’s technical skills.
- On-site Interview Loop: An all-day interview with multiple team members and the hiring manager.
Although all of the companies structured the interviews well, several failed at the second area I emphasize in my post: Communication. One company took an entire month to convey feedback from an interview step while another did not get back to me about my on-site until I had emailed them several times.
Salary Negotiation
The first conversation with every recruiter in 2017 involved talking about present salary and future expectations. In 2020, not a single recruiter asked about compensation until after they had made a verbal offer. This surprised me because waiting to open negotiations until that late in the process offers the candidate an advantage as they now know that the company has strong interest in them. Previously I have tried to delay this conversation as long as possible as part of my negotiation strategy, but this time the recruiters did it for me!
This behavior might be explained by California’s new law which bans using salary history to determine an offer, but it specifically does not ban asking about salary expectations. It might be that the more senior roles I’m interviewing for now are hard enough to find candidates for that the companies don’t want to reject anyone without a chance to get the candidate committed to the role.
Technical Screens
In 2015 and 2017 I had real trouble with the technical screens. Often they were stereotypical engineering interviews where I was asked to do something difficult but irrelevant, like invert a binary search tree. I was able to solve these problems when I had seen them before in my studies or could come up with the “trick” on the fly. I passed about half of my technical screens.
In 2020, my experience was vastly different. Only one screen was even close to “invert this BST”, and that was a mistake where they later admitted that I was given the software engineering technical screen by mistake.
All of the other screens involved reasonable questions that would come up in a data scientist’s daily work, like manipulating a dataset, calculating some features, or implementing really simple algorithms or metrics. With these more applied questions, I passed all of my technical screens!
Virtual On-Sites
In 2017 on-sites were on site! In 2020 they are done via video conferencing. I thought virtual on-sites would be less draining, but I actually felt even more exhausted after them. However, I still felt I was able to connect on a personal level with the interviewers, despite not being in the same place.
Whiteboard Coding
There were fewer coding problems during the on-sites than previously and all of them were done in an online editor instead of on a whiteboard. This worked great!
I found myself looking forward to the coding challenges because, with the improvement of coding on an actual computer, they were a nice break from the other interviews. Just like the technical screens, these questions were all directly applicable to the work I would be doing.
Open-ended Problems and Behavioral Questions
This time there were more open-ended interviews that dug into some problem the business had (for example “How would you help us filter spam?”) or went really deep exploring a project I had worked on previously. Although I was asked some of these questions during my previous years of interviewing they felt much more effective in the virtual format, perhaps because the lack of a whiteboard made it so the interviewer and I had to have a conversation instead of me giving a lecture.
This round of interviews was the first time I was asked behavioral questions. They were present in three of the five on-sites, including one company that had 90 minutes of them!
Results
I applied to seven companies using internal referrals from my network. Here is how I did during each round:
Company | Prescreen | Technical Screen | On-Site | Offer |
---|---|---|---|---|
DocuSign | Pass | Pass | Declined1 | — |
Grand Rounds | Pass | Pass | Reject | — |
Salesforce | Reject | — | — | — |
Square | Pass | Pass | Pass | Accepted |
Stripe | Pass | Pass | Reject | — |
Twitch | Pass | Pass | Pass | Declined |
Pass | Pass | Reject | — |
I am very happy with how well the technical screens went this time around, as mentioned above. I also feel good about the on-site to offer rate, although more offers would always be better of course.
I felt three interviews went really well: Square, Twitch, and Twitter. I thought I connected well with the teams and demonstrated that I had the skills they were looking for. So I was disappointed to not get an offer from Twitter, but excited for the offers from Square and Twitch.
The Stripe interview revealed the position to be less well aligned with my skill set2 and career aspirations than I’d hoped, so I think their decision to not extend an offer was fair.
I generally do not apply to work for startups, for a variety of reasons both personal and financial.3 However, I agreed to interview at Grand Rounds after a friend reached out because I did not want to turn down any opportunities. In the end we all knew it was a bad fit.
So, after all that, I’m excited to get to work at Square and even more excited to be done interviewing during a pandemic!
-
DocuSign and I were unable to schedule an on-site before my other offers would have expired. ↩
-
The role was a little heavier on the “analytics” side of data science than the “building” side which I prefer. ↩
-
The previous article I linked here has been purged from the internet, so I found a replacement by Evan Armstrong. I’ve copied the relevant part below:
Say you have a 2% chance of picking a unicorn and being a member of the founding team. That 2% is honestly way too high for most people, and perhaps a bit low for others, but a good median to anchor on. $10M * 2% = $200K. And realistically you’re only going to get that this tranche of equity every 3–4 years at most, so that’s a risk-adjusted value of $50–$66k.
In contrast, if you were to take a job at a tier 1 tech firm, such as Facebook or Google, as a high-quality engineer your salary can be $200–400k with an additional $100–250K in equity. You will receive the best benefits package known to mankind, with massages, free food, the finest gear money can buy, 401Ks, bonus programs, copious amounts of vacation, and the list goes on. Your total compensation package of salary + equity + benefits will be far higher versus a startup.