I applied online and after about one week, I received an email with the following steps:
Code assignment. It was pretty easy; they give you five hours, but it took less time to do a good job.
Three days after I submitted the code assignment, I received another email: an NDA to sign off, and a link to book the next interview. There were four interviews the same day (the whole interview day took about five hours), two technical and two behavioral. The interviewers were nice, and I greatly enjoyed this step. It was a little hard to find a day, as it's only possible on Tuesdays for the EU, and I had to reschedule twice.
The day after the four interviews, I got an email from the recruiter. This was the first time I felt it was a person; the other emails were automated or at least "copy/pasted." The recruiter told me that everything was fine and that they would contact me in a couple of days to coordinate the last interview with a hiring manager.
After a couple of weeks, I hadn't been contacted, so I emailed the recruiter. Two days after my email, they answered that they were still looking for "the best team for me."
One and a half weeks after that, I received an email from another recruiter with a link to book a new meeting. They told me that after this meeting (which was a kind of informal chat, not a formal interview), I should contact a third recruiter to book one last meeting to discuss the final steps in the process (whatever that means...).
The meeting with the hiring manager was okay. I liked the team to which I was technically assigned, but after one and a half months, I hadn't been contacted anymore. During this period, I sent two emails, one of which was never answered. The second was responded to by a new recruiter, who apologized for the delay and told me that they would contact me again in one week.
After one more month and some follow-up emails, I had a very informal Zoom meeting with another recruiter. She told me they wouldn't hire me because they had closed many open positions until further notice. In the meantime, I rejected two offers because of this one, and I lost a lot of time and energy. I feel sad and angry, but mainly disappointed because I thought GitHub was a serious company.
Takeaways:
They asked some technical questions related to the coding exercise I had to do, some behavioral ones (not complicated at all), and finally, system design and PR review.
The PR was in Ruby, but I think it's not important to master the language to do a good review. The goal is to know how you approach a PR and which aspects you evaluate.
The following metrics were computed from 1 interview experience for the GitHub Senior Software Engineer role in Sweden.
GitHub's interview process for their Senior Software Engineer roles in Sweden is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for GitHub's Senior Software Engineer interview process in Sweden.