After reflecting on the interview process, the following are the major points in summary.
The partnership and engagement with the recruiter is instrumental to the success of the interview process.
The whole process, in sum, is a very efficient process, where there is a clear cut goal to each stage and every round of interview.
The coding interview is an opportunity to showcase seniority and code craftsmanship.
Efforts to team match with interviewee interests is excellent.
This is my feedback in detail
Recruiter phone screen: - July 2nd
I had a preliminary introduction call with the recruiter.
We had a brief discussion of the position that I had applied for.
In this context, I also expressed interest to explore roles in other teams and this aspiration was also welcomed.
As a candidate, I found this to be very positive, welcoming and encouraging.
Telephonic round - July 10th
The format of the interview was effective.
15 minutes of technical discussion around a project, at depth.
40 minutes to solve a technical problem
5 minutes to answer candidate questions
I was able to solve the problem in the allotted time.
The problem did not involve special purpose algorithms or some sort of gotcha.
This is important because I felt that many aspirational and earnest candidates will be able to succeed.
The interviewer was very collaborative and I felt very relaxed during the interview.
He really inspired me when I asked him about the kinds of challenges that he was working on.
Take Home project - July 16th
This part of the process is possibly the biggest opportunity for an interviewee.
As an interviewee, this was an opportunity to demonstrate my commitment to software craftsmanship, by writing SOLID code and unit tests.
The coding challenge is not trivial and if written in a well maintained manner , with 100 percent code coverage,would probably take a couple of days.
I targeted the submission for the next day.
I had to balance out , within the allocated time, the following factors - code structure, readability , code standards, single responsibility, correctness , documentation, assumptions , most complicated unit tests and time.
Candidates should be aware of the benefits of partnering strongly with their recruiter for this stage.
I received feedback on July 21st, which was a quick turnaround time.
The feedback was extremely detailed, which made me feel great as a candidate.
I really loved that each line in the packet was looked at.
This made me feel that DataDog was strongly engaged in the process.
Panel Interviews - Aug 5th:
This part of the interview process is an efficient final loop, consisting of 3-4 interviews.
Hiring manager interview was focused around technical projects at depth, as well as any questions that I had.
So in effect, this interview felt like a team match interview.
As an interviewee, this felt like the organization really wanted to match candidate interests, with opportunities in Datadog.
I used the opportunity to state my deep interest in working with large scale systems and specific technologies such as Go, Kafka, RocksDB etc.
Coding interview :
During the coding interview ,I was able to execute and meet the success criteria, within the allotted time. This round was a little more difficult than the phone screen. But it was not an unrealistic mind bending question. A well prepared candidate will be able to execute, at least to the point of correctness.
System Design round:
During the design round,I was able to execute well.
Debrief feedback - Aug 6th
The debrief feedback was positive and I received an very strong offer for a senior engineer.