Our team members are our most valuable asset, so we need to invest in selecting and growing our members.
When hiring new members, you should aim to hire candidates that are even better than yourself. Ideally those that you feel you will personally improve when they work with you in the team.
In particular, we are specifically looking for individuals that:
- Are a good cultural fit. We need all our members to feel at ease and comfortable working for Forgotten Mines. So we need to make sure that our new members share our work values and principles. Please note that this does NOT include personal culture, religion, gender, or political views. Such factors are irrelevant to our work and should never be taken into account when evaluating team members.
- Are great team players. Our team operates in a decentralized fashion, with great flexibility given to the individuals to plan their own work schedules and communicate with one another. So anybody that joins us, needs to be able to collaborate effectively with a team that’s scattered all over the world.
- Are fast learner. We expect everybody on our team to grow their skills and career. What our candidates know today, may be irrelevant tomorrow. We need to ensure our members are always open to learning new things and improving.
- Are technically strong. We want to hire individuals that are creative, smart, and experienced. In the case of interns, the experience part is secondary and is accounted for by passion.
- Aspire to excellence. Anybody can get a job done. Freelancers are everywhere that can perform any task at a fraction of the cost and time. It’s the quality that matters long term. We need our team to be composed of individuals that aspire to achieving excellent quality in all work they do. Not just rush through a checklist of work to do. We need those that will go the extra mile, without even being told there is an extra mile in existence.
- Are Creative. Our work demands creativity. We want individuals that will think in the box, out of the box, and all around the box. We want those that can discover better ways to do things and take the initiative to make things better.
The interview loop consists of 4 stages. The candidate should not be notified about the next stage is because there may be no next stage if we decide not to proceed after our evaluation. After each stage is concluded, no information should be relayed back on the spot. Instead, he should be advised that we will get in touch with him shortly.
- Initial screening. We talk to the candidates to find out whether they think they posses what it takes to be a Forgotten Mines member, ensure they understand what they are getting themselves into, and finally assert that they are interested to proceed. At this stage, it is important to highlight the key differentiators of our team. In particular, that we hold ourselves to a higher bar compared to equivalent companies and operate differently than what the candidate may be accustomed to. The candidate may be asked to supply his resume and code sample at this point.
- Technical interview. At this stage, we ask the candidates specific technical questions, probe their skills and experiences, and inquire about their behavior to get a full picture about their abilities, as per the evaluation criteria below. Additional evidence may be requested if needed, including code samples and resume if one wasn’t provided in the screening stage.
- Practical test. Here we give the candidates a specific task with clear requirements to perform. We use this to verify that they posses the skills they claimed they did. We evaluate them on the same criteria, although the details we can get here going to be more technically-based. After the candidate submits their final work, a follow up discussion may be held and revisions requested (usually to measure agility and passion). You can get ideas, or borrow tasks, from this list.
- On the job evaluation. Once a candidate passes all the above, he is admitted to the team on a probation period. During this period he is evaluated on the job to see how he performs with the team. This can last between a couple of weeks to a full milestone.
When evaluating a candidate, give a score between 0 and 10 to as many of the following aspects as practical. Do not fill default values for areas that have not been evaluated sufficiently.
As a general guideline, assume that a score of “5” is the industry average for a world-class professional in the field. As such, it is rare to see a new graduate achieving a score of five on a technical aspect. But it may make sense for an intern to show more passion than an industry professional.
- Cultural fit. Does the candidate fit nicely with our team? Will the team be happy to have him on board?
- Creativity. Does the candidate think creatively?
- Passion. Is the candidate passionate about the work he will be doing with us?
- Agility. The ability to adapt and learn new things. How open is the candidate to change?
- Teamwork. How well can the candidate work with the team?
- Self-Awareness. How objective can the candidate be in evaluating himself? Will he know what he doesn’t know and seek to learn more about it?
- Quality Obsession. Is the candidate always trying to achieve excellence?
- Experience. How much relevant experience does the candidate have?
- Technical ability. This will be broken down to sub-scores. See details below
Once your interview is completed. Prepare a report including your scores for each aspect, your overall notes, the log of your conversation if possible, any code or documents you received from the candidate, and your own recommendation for Hire/No Hire. A Hire merely indicates you are inclined to hire the candidate, it does not mean the candidate will end up being hired, it will merely indicate that you recommend he proceeds to the next stage.
The technical abilities we evaluate depend on the role. Here is a breakdown to our most common roles.
Common Developer Criteria
- C# & .NET coding skills
- Object oriented design skill.
- Code elegance & maintainability.
The common criteria in addition to:
- Unity skill.
- 3D math skill.
- Familiarity with platforms (UWP, Steam, Gameroom, etc…).
.NET Developer and Web Developer
The common criteria in addition to:
- Familiarity with frameworks and related technologies. (Azure, ASP.NET, etc…)
- API design.
- Unit testing.
- Familiarity with development support systems (source control, issue tracking, continuous integration).