Overall, the interview process was fast, mildly chaotic, and not transparent about what they're looking for.
tldr: I was given a certain job description and set of expectations with the role, then not hired due to criteria that was wildly different and never communicated to me. There's clearly either hiring incompetence, weird internal team in-fighting, and/or they just don't know what they want. Either way, I highly advise against applying here. (Also look at all the other tech candidates they ghosted.)
Process:
Typical recruiter screen, hiring manager round, homework, then virtual on-site.
Most people were friendly, and I do appreciate the proactive communication from the recruiter.
The homework content was typical for a data science interview. SQL, EDA, metrics, and a basic model. Except that they told me they expected it back within a week, so I asked to get the homework assignment on a Tuesday. This way, I could think about it after work, knock it out over the weekend, then review it Monday before submitting the assignment. Instead, they sent it back on a Monday, asking for it to be returned Thursday. Wildly inconsiderate of my schedule and didn't keep their word, but things happen and I was foolish enough to ignore the red flag and proceed.
They did mention that they switched around the team structure during an offsite that took place between interview rounds. This meant I had my panel interview for a different senior DS role than what I applied for. Since they seemed transparent, the other role was interesting, and I really liked the hiring manager, I didn't have a problem with this.
I passed the homework but there was zero feedback or even mention of the homework beyond that. When setting up the panel interview, the material they sent over focused entirely on behavioral questions, but I also prepared for technical discussions by reviewing my homework along with past/present projects. However, they surprised me with a live coding SQL screen with simpler questions but zero time to prepare and almost nothing behavioral involved. I gave them the benefit of the doubt that this was an innocent miscommunication in a post-offsite shuffle. While clearly a pointless waste of an interview, I rolled with it anyway.
In the other interview discussions, it was clear that this role would involve less machine learning engineering than my current role (senior DS with a heavy MLE component), since they have MLE specific teams. The hiring manager's supervisor even expressed a bit of concern about that--specifically would I be okay with not writing production code and/or optimizing models in production. And he also said it was obvious I could do the job I was interviewing for from a technical perspective.
However, they ended up passing on me because I failed the surprise SQL live coding. Apparently the delimiter between a mid-level and a senior level is the ability to code in intermediate SQL with no warning and from memory in a high stress situation, regardless of your code quality in a homework. Literally the recruiter said I'm not a senior due to that specific screen, regardless of my homework and regardless of passing everything else. I was very explicit in letting them know that while I use SQL regularly to pull data, I do most of my transformations and all of my analysis in python. Had anyone been transparent with me about this and how they level data scientists, I would have immediately backed out of the process.
The recruiter then asked if I would consider a mid-level role in the future. Perhaps this is some sort of down-leveling scheme to pay less for a senior DS, perhaps this is the result of team infighting/drama, perhaps they just don't know what they want and don't respect candidates enough to not waste their time. They had a respectful, transparent choice to hit the pause button if they don’t know what they want, and chose not to do that. Either way, no, I don't want to be considered for a mid-level position, or any position with this team for that matter.
To be clear, I'm not disappointed I didn't get an offer, I'm upset they weren't transparent like they say they are and wasted my time. In fact, I'm relieved to have dodged a bullet instead of leaving my good job for whatever hot mess this job would have been. For an HR tech company who says they pride themselves on transparency, this experience has been a shocking dose of Glassdoor reality. Perhaps they'll get it together, but please don't take their word on it.