The interview process involved the following stages:
Leveling is determined throughout the process.
Overall, the process itself seemed good, and I was very excited about it. The take-home assessment felt practical and was enjoyable to complete, even though it could easily take longer than the suggested two hours. I also appreciated the structure of combining a take-home test with pair-programming and code review sessions.
The behavioral interviews with the Engineering Managers were standard.
The real issues were as follows:
The live pair-programming session was very poorly set up on their side. The recruiter provided incorrect instructions for environment setup. The interviewer mentioned they had dropped Docker and were using a different setup. Consequently, I spent most of the interview time troubleshooting the environment and trying different approaches with the interviewer until "Plan B" was finally ready. This distraction impacted my performance. Furthermore, the "Plan B" environment prevented me from properly testing my code, as it relied on a public and unstable endpoint.
The code review session was conducted in Ruby/Rails, despite me clearly stating my language preferences multiple times. The Pull Request submitted for review lacked any context, leaving me with only ten minutes to read the Ruby on Rails code, infer the necessary context, and provide review comments. This was all within a language and opinionated framework I had no prior experience with, and the position was not specifically a Ruby role. As a result, I did not perform well.
Finally, the recruiter sent a follow-up email stating, "Thank you for speaking with INTERVIEWER NAME(S) about GitHub’s..."
All in all, the process from GitHub was very unprofessional and sloppy.
Questions around API endpoints, JSON object manipulation, and caching.
The following metrics were computed from 44 interview experiences for the GitHub Software Engineer role in United States.
GitHub's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for GitHub's Software Engineer interview process in United States.