Fall is typically when US students in their final year at university, start looking for a job for when they graduate in May. (In Spain on the other hand, students start looking for a job closer to their graduation date.) For some students it will be the first time they apply for a job. You can tell by their flip flops during the on-campus interview session, or the lame "Sorry I am late, I just rolled out of bed" excuse, or lack of preparation all together about the company ("Who are you again? What does your company do?"). Luckily these examples are more and more the exception. Many students prepare well and often ask in advance what to expect from the initial interview.
What are we looking for?
Hire better than yourself. In the Macintosh Division, we had a saying, "A players hire A players; B players hire C players"—meaning that great people hire great people. On the other hand, mediocre people hire candidates who are not as good as they are, so they can feel superior to them. (If you start down this slippery slope, you'll soon end up with Z players; this is called The Bozo Explosion. It is followed by The Layoff.) I have come to believe that we were wrong—A players hire A+ players, not merely A players. It takes self-confidence and self-awareness, but it's the only way to build a great team. - Guy Kawasaki
It is true that building real-time communication software for the industrial internet of things requires a special kind of software engineer. We could list the detailed low level or programming skills such engineer should master, but most often we'll end up hiring the wrong person. What makes a trained engineer successful at RTI are at a different level:
- Is the person generally brilliant and talented? Even a talented aerospace or mechanical engineer can excel at RTI building software.
- Is the person curious and eager to learn?
- Does the person have high integrity?
- Is the person a great communicator?
- Will the engineer fit in with the RTI culture? The list of culture attributes is not short: thorough, values quality, flexible, gives and takes feedback, willing to follow process, friendly, etc.
How can you test these skills?
When looking for a wedding cake baker, don't ask how they would handle a particular situation or what they would do if the cake color is off. Ask them to make a sample cake and taste it.
We've found that the best method to evaluate a candidate is to have them work on a project. Internship projects are a great way to work with new grads. We work hard on making the internship program a wonderful experience for the engineers. When we asked our past interns for comments on a recent blog post on creating a great internship culture, the feedback was positively reassuring we are doing the right things. Having currently employed engineers join an internship program is unlikely. Having a 45-day bootcamp without a guarantee of a full-time position sounds an interesting idea, but one we have not tried. As described further on, for already employed candidates, we typically provide a take home project. Yes, this sounds like a lot of work. With a few hours of homework, and a follow up discussion, you can learn a lot of how the candidate will work out every day.
What to expect from the recruitment process?
Resume screening is almost always done by the hiring manager. We've seen all kind of resumes: 1 page to small books, in all kind of languages, with and without cover letter. Focus on the cakes you baked and what experience you got doing so. A list of engineering abbreviations doesn't tell us much.
The initial interview is typically an hour long video conference, with a virtual whiteboard (often we use a shared Google document). These are typically simple programming questions. We're not asking you to compile the programs. Our focus is here on whether you have a minimum level of technical competence. This interview may be hosted by one or two RTI engineers.
Before the in-depth interview, we will provide the candidate with a homework project. This should take 3-4 hours to complete, and can be done over the course of a week in the luxury of your home, with your favorite books, search engine and development tools. It allows the candidate to demonstrate thoroughness, completeness, coding style, test methodology and overall development skills. This homework project is a "Baker, bake me a cake" type of project. Based upon the outcome of the homework project, we decide to bring the candidate on-site.
The in-depth interview is a combination of on-site and remote interviews, as some of our key interview engineers are remote engineers. The in-depth interviews last somewhere between 6 and 8 hours. We test your programming skills with hands-on coding exercises, and code reviews. We do design questions (e.g., how do you design a distributed database?) on the whiteboard. We also ask non-technical questions to understand how you would work in the team. In some cases, we even ask you to present on your favorite technical topic for 30 minutes. We'll let you know in advance if that's the case.
After the in-depth interview, the interview team will meet to discuss the pro and cons of the candidates and a decision is made to make the candidate an offer.
If you are interested to join the RTI engineering team, go check out RTI's products, technology, culturer and career opportunities: http://www.rti.com/careers