Better Software - January 2008 - (Page 79) The Last Word A Needle in a (Very Large) Haystack by Sherif Koussa and Teresa Wilde For project owners, choosing a team is a difficult task in the best of times, but choosing a global team can be even more difficult: Talk about a looking for a needle in a haystack—a haystack half a world away. When the company I work for hires globally, team members don’t have the luxury of a long training cycle. Since one of our main values is that we ramp-up quickly, we need individuals who can get up to speed as quickly as we do. We’ve discovered that the best way to hire offsite developers is to hone our selection process to identify three qualities: expertise in the target technology, enthusiasm, and intelligence. “The time you invest in looking for the right candidates will pay dividends over the course of the project.” new EJB? What are the benefits of using EJBs? If your project uses the Microsoft ATL, you might ask: What is the ATL? How is it different from other libraries? How has using the ATL saved you time in the past? You also can measure experience through comparison. If the candidate has both Oracle and SQL server on his CV, ask him the benefits and drawbacks of each. If you don’t find the skills you need right away, remember that you have a large pool from which to choose—India, China, Turkey, Romania. Even if it takes hours on the phone, don’t settle for less. The time you invest in looking for the right candidates will pay dividends over the course of the project. shares the same characteristics. If it does, it’s likely the developer will be enthusiastic; if it doesn’t, maybe you should consider interviewing a few more people. For example, if a developer says he really loves innovating and creating new features, will he be as enthusiastic about six months of bug fixing? Intelligence A smart resource makes reliable decisions. This is especially important in a remote developer. Hiring an intelligent developer means you won’t come to work everyday and find your email inbox full of questions instead of a report on tasks accomplished. To break it down further, intelligence means two things, and both of them are measurable: Expertise in the Target Technology If your developers are on the other side of the globe, you’ll be lucky if you have two hours when your workdays overlap. You won’t want to waste that time training your team to add resource files or import tables. You’ll want to spend that time on the current task’s technical issues or explaining your company’s processes. If, for example, you're developing a Java Web application using Struts with an EJB back-end running on SQL Server 2000, the developers must have “enough” experience in Java, Web applications, Struts, EJB, and SQL to get the job done. But how do you define “enough” experience and ensure that your interview process identifies it? “Enough” experience is the comfort level required to complete everyday tasks independently. To test for it, identify three or four tasks that team members must accomplish daily and ask interview candidates how they would accomplish these tasks. This might feel strange, since interviews usually focus on a candidate’s higher skills, but don’t skip this step (unless you like training people). For the EJB back-end, you might ask: What is an EJB? How can you create a Enthusiasm It takes enthusiasm for global resources to maintain motivation when they’re half a world away from their project leader. So you want to find global resources who are excited to work on the project. Their enthusiasm will help them to work independently. One way to measure enthusiasm is to ask interviewees to discuss something they’re proud of. A genuinely enthusiastic candidate won’t have to search for an answer. Due to cultural gaps, allow some leeway—it might be considered rude to interrupt, so the interviewee might wait to ensure that you’re finished speaking. Tone of voice is also a clue—a higher tone indicates enthusiasm and pride. Another method is to ask what the developer would have done differently on a past project (choose one from his CV), given more time and resources. Listen for ambitious, but practical, answers that show he’s thought about it over time. When you’ve got the answer, find out why he was enthusiastic. Once you identify the why, ask yourself if your project www.StickyMinds.com CREATIVE SOLUTIONS FOR TRICKY PROBLEMS Since remote developers have to make independent decisions, part of “intelligence” includes finding creative solutions for tricky problems. You can test this by giving interviewees a strange problem and listening to them take it to a practical solution. A smart person will move through a series of creative, yet logical, steps. You aren’t looking for the optimal answer, but watching for creativity and logic in the solution. Or, maybe, you’re watching the steps to see if they reach the solution that would match yours given the same problem. You’re also testing the interviewee’s ability to face problems and not get stuck. This will result in an employee who won’t ask for help before exerting some real effort and will benefit you when the customer calls a week before your milestone with new requirements. Make sure to ask the interviewee to speak out loud to show how he thinks through the process. BETTER SOFTWARE JANUARY/FEBRUARY 2008 79 http://www.StickyMinds.com
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.