Interviewing at Gitlab

Feedback from GitLab!

A week after requesting feedback, which went unacknowledged for a week, I had a GitLabber reach out to me by telephone to better provide the feedback of the interviewing team. Interestingly, during that week, I had a GitLab Recruiting Manager tell me there was a problem with the tech demo, to which the Hiring Manager quickly replied with something about there not being a problem — it was a competitive position.

There was feedback provided by the team that was negative. The hiring manager lied. So much for the intent of the GitLab Handbook….

Since I didn’t receive it in writing I will do my best to transcribe it.

I lost points for demonstrating Infrastructure as Code (IaC) discipline

One part of feedback provided was that “The goals of the tech demo were misunderstood — there was already an existing instance of GitLab installed”.

IaC, summarized, is our ability to plan and implement infrastructure using the same disciplines developers have been able to use. We have the ability to use a tool like terraform to describe our expected state of any infrastructure, deploy it, test it, iterate upon it, update, and redeploy “from scratch” as desired. Operations should be reproducible and idempotent.

I brought a pre-existing GitLab installation to the tech demo to allow for questions about HA, DR, Cloud SQL, and other topics about how GitLab would be installed. I proved that I was able to destroy it, iterate on it as necessary, and redeploy it.

I can’t help but feel like I brought professional expectations that exceeded goals. It is unimaginable that an Implementation Engineer at a company like GitLab would be confused by this. It is unimaginable that an implementation team would not have these explicit goals in mind to deliver to customers.

I lost points for not answering questions clearly

From the recollections above, the majority of questions were exactly as written and I don’t remember any single question that felt valid (“Show me in code where you load that file [terraform.tfvars]” is not valid). I would gladly take the time to explain how “HSTS, or HTTP Strict Transport Security, prevents main-in-the-middle attacks between the browser and server by explicitly preventing downgrades from HTTPS to unprotected HTTP” to a customer. With a cusotmer, we would have the opportunity to “table this” or “do additional research” if there were unanswered questions or concerns. We could research it together. An Implementation Engineer at GitLab should be intimate with this subject, especially one who has ever used the nginx ingress controller in Kubernetes which is included with the GitLab Cloud Native Helm Chart.

For the interviewer to declare the installation was broken because of HSTS presents no opportunity for inferring anything other than complete unfamiliarity between the interviewer and HSTS. Again, this is not something I would ever have been able to imagine.

A tech demo is not an appropriate place for an impromptu lesson on LetsEncrypt, ACME Challenges, and HSTS, but had I known that is what was necessary……… I am completely willing to teach Gitlab Engineers what HSTS is and how it relates to the installation of Gitlab given the opportunity. It is critical to the opreation of Gitlab and should be very clearly understood by anyone installing it for customers.

I was not asked questions about the Service Networking API or how it benefited the installation. I was not asked about High Availability. I was not asked why I had chosen things like a Cloud SQL instance and/or Kubernetes over VMs with PostgreSQL and Omnibus. I was not asked to explain HSTS.

I lost points for not asking questions

This one is very surprising.

The questions I did ask were around if installing from the Cloud Native Helm Chart wasn’t very common. I asked what other tech demos looked like. I asked if what I had done made sense. “Not very common”, “Yeah”, “Sure”, “Uh-huh”, “Ansible” were the answers. There was no conversation offered by the interviewers about the tech demo or overall presentation. With the unwillingness of the interviewers to discuss the actual tech demo… I kind of assumed we were done.

According to the listing for this position I was supposed to have another interview that wasn’t a tech demo (if I remember correctly, the tech demo was actually a “may” and not a “will”). I assumed that would be a more appropriate place for questions about GitLab values, how “fun” it is to work there, what contributions that person(s) had made to the Handbook, and other topics.

read original article here