The Mighty Bear Engineering interview process
Clarissa Goh, our Chief of Staff, wrote a great piece on How to land your dream games job and Benjamin Chevalier, our Art Director, shared the Things you should know about applying to be a Game Artist based on his experience on both sides of the hiring process.
I wanted to share the Mighty Bear interview process from the Engineering perspective.
We have been working on an interview process with these goals in mind:
- Move through the interview process fast
- Represent how work is done in the studio
- Consider how the candidates that join will contribute to the studio culture
Once a candidate’s resume has been reviewed, the whole process takes about 3 weeks for us to make a call to hire or not. We don’t muck about. This helps to keep the context of the interviews fresh but also doesn’t waste our candidates time.
Representing what work is actually like during the test is important for us. We move fast! In under 4 years, I have released more games at Mighty Bear Games than at the rest of my career. How we achieved this is explained in this article I wrote on How we developed Butter Royale in 6 months. We want to get the game out for feedback from our players as soon as possible. We give enough information to get people ramped up and get out of their way for them to do the work. Successful candidates communicate well, are able to prioritise and take feedback in these conditions.
Here is some feedback that we have given to candidates that have applied:
- Keep the resume to ONE page — This bears repeating. We review many applications a day and keeping things concise lets us digest and remember the information better.
- Put your most relevant experiences first — When applying to a mobile games studio, this usually means a game project that you have worked on recently.
- Add links that provide context to the project like videos or screenshots. Even better, provide a way for us to play the game!
- Add your personal Github page to your resume. — We love delving into commits and how the projects have changed over time. Do try to add personal game projects and not just assignments done in school.
- If you are into problem solving and algorithms, one interesting thing we have seen candidates provide is a HackerRank profile.
Interview step 1: Meet & Greet
Thank you for your interest in Mighty Bear Games! I am Fadzuli the CTO at Mighty Bear Games. I see that you are an Alumni at Carnegie Mellon University. I graduated there in 2009 and looking back, it was my first introduction to what a great start-up culture should look like.
I would love to share more with you about what we do here at Mighty Bear and hear about your roles, what you liked and what you are looking to get out of your next position. Happy to set up a call or grab coffee. Let me know what works for you!
This is an example of an actual email being sent to a candidate. We try to set the tone to be casual and communicate that we will be both sharing about Mighty Bear and the role as well as having a conversation with them about themselves. We usually prefer to meet face-to-face for coffee but for candidates that are overseas or because of the pandemic, we do this via video calls.
I spend some time at the start of the interview to introduce myself, give a brief history of the company, where it is at right now, what we want to achieve in the near future and explain the role and what the expectations are.
At this stage, I am expecting the candidate to be prepared and have done research on us. We share a lot about the company and our approach on game development and running a game studio on medium and social media. I want to have a conversation with the candidate on their thoughts about what we shared.
Throughout my career I have been in many interviews myself. I have been in one where the sole purpose was to check if I speak English. In others, I wasn’t too sure if the interviewer was listening because they hardly made eye contact or reacted to what I was saying.
I try to have a real conversation with candidates. I am not just gauging the candidates’ technical abilities, I am also interested to know why the candidate is applying to Mighty Bear, what their interest in technology or games have inspired them to do and how they would fit or add to the culture we are building at Mighty Bear. Simon Davis, our CEO, wrote a series of articles about our Company Culture as Principles.
If you are applying to a mobile game studio, play mobile games! Be prepared to discuss why you love or hate a game. Be aware of the trends in the market and have opinions about the current news in the industry.
I give feedback to the candidates during the interview or at most a few days later. Quick and relevant feedback is given constantly at Mighty Bear. I am hoping to see promising candidates that did not make the cut here to take in the feedback, improve and re-apply months later if an appropriate role opens in the future.
Interview step 2: Game prototype
Thank you for taking the time to speak to me earlier this week! Congratulations! I would like you to take the technical test!
The technical test would be a simple prototype in Unity3d and C# that can be done in a day. Please prepare an installation of Unity3d version 2019.2.5f1 for the purpose of the test. Part of the test requirements would be to write unit or functional tests for your code. Please do read up on Unity3d’s test runner.
I will add you to a Git repository for submission and tracking of progress, a Slack channel for you to ask any questions and a Notion page where I will share the requirements 30 minutes before the kickoff.
This email is sent a few days before the test. It will contain instructions on software versions to prepare and what to expect. We also give access to the same tools that we use internally.
We would prefer to have the candidate come physically to the office to work on the test. We could have face to face conversations about how they intend to solve the problem and be on hand to help with any blockers they are facing. They could also observe how we work and communicate at the studio and go for lunch with anyone from any discipline. The process is a two way street. It’s both for us to get to know the candidate and for the candidates to get a feel for if the studio culture is where they will be excited to work at. Unfortunately, we had to tweak the process to be online because of the pandemic.
On the day of the test, we will send the test requirements on Notion (what we use for our internal wiki) 30 minutes before the kickoff meeting so that there are enough time for the candidate to read and process. During the kickoff meeting, we will talk about the requirements to make sure there are no misunderstanding and we will discuss what the priorities and expectations are. These kickoff meetings where we discuss design documentations are also done before we start work on new features internally.
Our processes internally are not really test-driven but we find it useful to write tests to cover important parts of the game simulation and common prefab or data setup mistakes. When we add new features or change the behaviour of current features, these tests are run automatically before the code is allowed to be merged. This leaves QA free to focus their testing on the new features or bug fixes. We try to reflect this in the technical test by adding requirements to write unit and functional tests for the code written.
We will check on the candidate throughout the day to discuss progress, approach to the problem and help with any adhoc issues faced via Slack. At the end of the day, we will spend some time to give the candidate feedback and also get some feedback about the process. Some of the topics we will cover here include, code structure, optimisation and attention to details that contribute to the player experience.
Interview step 3: Cultural interviews
Good news! We would like to move you forward to the cultural interviews. What this means is that we will be scheduling you to chat with a few people that you will be working closely with.
The cultural interviews are a series of interviews where we put team members from different disciplines together to talk to the candidate. It may feel intimidating at first but once again it is an opportunity for the candidate to get to know more about how we work with each other so be prepared with questions to ask!
Game development is a multi-disciplinary endeavour. There will be a lot of discussions and iterations. We are simulating this by mixing up the disciplines in the group so that the questions asked have a different perspective based on how they experience working together.
We involved more people in the hiring process also to remove any biased decision making. We take this one step further by having a list of 90 behavioural and situational questions from which interviewers will prepare 5 to 10 for the interview. We make sure not to discuss how the interview went with each other until the end of the day where we will give the feedback to the hiring manager. This is to avoid groupthink.
What can we do better?
Our hiring process is not perfect. We take feedback constantly from candidates to improve. The onboarding process and probation period is also important to communicate expectations and track goals. We do frequent 1:1s to give feedback for both when things are going well as well as where things can be improved.
While the technical test does an ok job of representing our processes and the tools that we use, the game prototype itself is done in a vacuum. We would like to be able to spin out problems and features that we actually work on in a live environment so that the candidate can also get a taste for our code base.
I hope this is useful for both someone building an interview process for their team and for future candidates interested in a role at Mighty Bear Games! If you are interested in joining us to make beary good games, feel free to apply at https://mightybeargames.com/careers.
This article is in part inspired by Evan Tahler’s introduction to the Voom Software Engineering Interview Process. You should read it if you are attempting to create an interview process for your team.