Hiring Great People

8/28/99 - Jack Harich - Go Back

On a scale of 1 to 10, hiring the "right" person gets a 15 for both difficulty and importance. Thus we need to learn from the pros. We offer the following gems of wisdom:


Scott McNealy, CEO, Sun microsystems says:

Hiring, retaining, and developing great people is the biggest challenge and single greatest key to the success of any business.


John D. Rockerfeller made this widely quoted remark:

The ability to deal with people is as purchasable a commodity as sugar or coffee, and I will pay more for that ability than any other under the sun. (So be sure to emphasize people skills as well as technical skills)


From "The Effective Executive" by Peter F. Drucker, page 83:

Effective executives know that they have to start with what a man can do rather than with what a job requires. (So hire for the long term, not the short term)


From "All I Really Need to Know I Learned at Microsoft" by Julie Bick, page 104:

Hire Smart and Don't Rush - A great hire can take the weight of the world off your shoulders. A poor performer can weaken an entire team and create a time sink for you as you try to compensate for them and help them improve. So hold out. Look one year, three years, five years down the road and ask, "Can this candidate grow to the next levels? Will they be successful with a variety of responsibilities or just the ones in the current position?"

Managers at Microsoft go mostly for raw talent over specfic experience. As Group Vice President Jeff Raikes put it, "I'd rather have a fast computer I'll spend time with and program to do a variety of things, than one that comes pre-programmed for one task." The head of Office programming, Ben Waldman, tells his group, "Is the person you're interviewing smarter than half our group? They need to be. We want to raise the median, not lower it!"

Here are a couple of lessons I learned about interviewing prospective employees at Microsoft:

1. Give a "hill interview". Most candidates are nervous, so start off with easy questions about their background and interests to get them comfortable and performing at their best. Move into the challenging part of the interview when they're warmed up. Give them your hardest questions. Then ease down at the end, so they can finish with some strong answers and feel confident going into their next interviews. [multiple interviews at the same company]

2. Test the candidates' thought process and problem-solving ability, not their specific knowledge. So what if they don't know how many Windows users there are in the world or how to use pivot tables in Excel? If they think logically and creatively, they can get the specifics along the way. Some managers pose questions with key information missing to see if the candidate will ask for the data or just move straight to a solution.

3. Keep a set of interview questions that work for you - ones that bring out differernces in the candidates' creativity, problem solving, intelligence, and so on. By using the same questions, you can establish benchmarks for candidates.

4. After eacn interview at Microsoft, the interviewer sends an E-mail with their impressions of the candidate to the human-resources person who is arranging the day, as well as to the manager who is doing the hiring. All Microsoft interview mail starts off with the words "Hire" or "No Hire" and then goes on to specific feedback. A marginal "Hire," someone who just barely made it, should be a "No Hire". Your candidates should leap over the bar you set for them, not just squeeze over. And if you say, "No Hire for our group but may be okay in another group," you're doing everyone a disservice. If they're not good enough for your team, don't stick another group with them.


From "Finding & Keeping Great Employees" by Harris and Brannick, page 100, with occasional rewording for brevity and clarity:

Eight Best Practices in Staffing

1. The "WOW" Factor - The hiring company needs to stand out from the growing crowd of lookalikes. Aligned organizations leverage their uniqueness to create a solid foundation for building a world-class workforce in which everyone supports the company's core cultural driver, be it customer service, innovation, operational excellence or spirit.

2. Applicant as Customer - Aligned companues know the qualities and characteristics of their ideal applicant just as well as they know those of their ideal customer. They make a considerable investment in understanding who the ideal candidate is, where to find this person, and how to make it easy for them to find and contact the company. They treat their applicants as customers by communicating a consistent, culturally aligned message to both customers and applicants. They ensure that all applicants have a positive staffing experience.

3. Image is Everything - Aligned companies create excitement and enthusiasm about their organization. This excitement makes people interested in working for the organization.

4. Get Real - Aligned organizations know precisely where they are strong and weak. They clearly communicate that information to all prospective new hires. They share "the good, the bad, and the ugly" early on. They simply relate the positives and negative of the job and the organization in an objective, nonevaluative manner, and let the candidate decide whether this is an opportunity they want to pursue. In the short run, candidates who are turned off by this dose of reality opt out early on. In the long run, getting real maximizes the fit between candidate and organization.

5. Job or No Job - It is no easy feat to attract and hire top talent. In today's competitive labor market, good applicants do not remain applicants for very long. In nonaligned companies, the job opening drives the staffing process. By contrast, aligned companies do not wait for a job opening to occur before setting out to arract and hire culturally aligned talent. The keep their eyes and ears open constantly for good candidates. When they find them (and they always do), they hire them regardless of whether there is a specific job opening or not. They know top talent when they see it, and create a place for it.

6. Multiplicity - Aligned companies understand the value of using multiple methods and involving multiple people and departments in staffing their organizations. They run ads. They post openings on their website. They participate in job fairs, etc. They interview candidates. They test candidates. They do all of these things, and more.

7. The Great-Employee Profile - Non-aligned companies tend to use job fit as their primary means of defining a great employee. But aligned companes know precisely who their ideal employee is, with far more than job fit in mind. This further maximizes the fit between the person, the job, and the organization. They create a "great-employee profile" to help them sustain their cultural focus. For example, someone who doesn't value cutting-edge thinking and creative solutions to problems unlikely to remain in an innovation-driven culture.

8. Beyond Benchmarking - Non-aligned companies tend to use tried-and-true staffing methods, and once they are in place they rarely change. But aligned companies are constantly challenging themselves and their empluees to find even better ways to find great people. Going beyond benchmarking means using more than simple metrics to determine what staffing techniques work and which don't. For example they measure the relative frequency of use of different recruting sources, the average time to fill a position, and the quality of hires using different staffing methods.


From "Microsoft Secrets" by Cusumano and Selby, page 58:

Gates and other managers frequently boost that they hire only smart people - managers, and well as developers, testers, others. But what does being "smart" mean? To Bill Gates, this means being able to understand and probe complex things quickly and creatively, as he explained in a 1994 interview: "There's a certain sharpness, an ability to absorb new facts, to walk into a situation, have something explained to you and immediately say, 'Well, what about this?' To ask an insightful question . To absorb in real time. A capability to remember. To relate to domains that may not seem connected at first. A certain creativity that allows people to be effective." Gates himself exhibits these qualities and looks for them in potential Microsoft managers and employees.

As Microsoft has grown, Gates has personally interviewed hundreds of programmers, managers, and technical experts who complement and challenge his own skills and knowledge. From this group, he has cultivated a relatively small corps of senior people that serves as an informal brain trust to assist him in making decisions and overseeing critical projects or initiatives. Gates, though, has a tendency to promote programming experts into senior management at very young ages. Combined with very rapid growth, this has left Microsoft short of managers in the middle ranks who understand not merely the technology and the business, but also the human side of management.

From pages 92 to 98:

Any company that lets HR do the hiring is doomed.

The Microsoft headquarters interviews are entirely with people from the functional areas in the product groups: developers do all the interviews for developers, testers all the interviews for testers, and so on. The discussions aim at determining how smart a person is in an abstract sense - not simply how much people know about coding or testing, or a particular specialty like marketing. Gates has been quoted as looking for four essential qualities in new hires: ambition, IQ, technical expertiese, and business judgement, with IQ the most important. Famous general questions from Microsoft interviews include being asked to estimate the volume of water flowing down the Mississippi River and the number of gas stations in the United States. The answer does not matter as much as the approach a person takes to analyze the problem.

Relatively few recruits make it through the screenings. Of the developers interviewed at their universities, Microsoft typically asks only 10 to 15 percent back for additional interviews, and then hires only 10 to 15 percent of the final group. In total, Microsoft hires between 2 and 3 percent of the people it interviews. Rick Rashid, Microsoft's vice president for research, lauded the screening process: "It's a lot like going through oral exams. The interview process here is pretty stringent. I'm not sure that it screens for any given personality type, but it certainly screens for raw skill and talent, and ability to think of your feet."

Developers are the only people qualified to interview developers.

During the late 1980s and early 1990s, Microsoft developers spend about 15% of their time recruiting other developers. Management now tries to limit individual developers to no more than two one-hour interviews per week. (5%)

Developers look for people who are expert programmers in c, and are conversant with the lower level assembly language. They also want people who can demonstrate general logical capabilities and work accurately under pressure. Microsoft developers seem to believe that someone who performs well in a hiring interview is more likely to write solid code under a tight deadline. They want people who are not simply interested in programming for the sake of programming, but who seek personal challenges and enjoy shipping products into the marketplace. Microsoft managers also prefer to hire computer science graduates directly from college and then get them involved in Microsoft projects as quickly as possible.


From "Smart Moves for People in Charge" by Deep and Sussman, page 135 has Eight strategies for hiring team players:

1. Look for evidence of a stable work history.
2. Check references. (including some of your own)
3. Get referrals from your best team players.
4. Look for positive team experiences in their background.
5. Ask for their evaluation preference - Individual or the team as a whole?
6. Hire enthusiastic people.
7. Listen for "we" and "our" versus "they" and "their".
8. Introduce them to the people they will work with.


From "PeopleWare - Productive Projects and Teams" by DeMarco and Lister, seciond edition, page 103. Note this book is one of the great classics of software literature.

Holding an audition - The business we're in is more socialogical than technological, more dependent of worker's abilities to communicate with each other than their abilities to communicate with machines. So the hiring process needs to focus on at least some sociological and human cmmunication traits. The best way we've discovered to do this is through the use of auditions for job candidates.

The idea is simple enough. You ask a candidate to prepare a ten of fifteen minute presentation on some aspect of their past work of interest to your group. It could be about a new technology and the experience with first trying it out, or about a management lesson learned the hard waym or about a particularly interesting project. The candidate chooses the subject, possibly with your approval. The date is set and you assemble a small audience made up of those who will be the new hire's co-workers.

Of course the candidate will be nervous, perhaps even reluctant to undertake such an experience. You'll have to explain that all candidates are nervous about the audition and give your reasons for holding one: to see the various candidates' communication skills, and to give the future co-workers a part in the hiring process.

At the end of the audition and after the candidate has left, you hold a debriefing of those present. Each one gets to comment on the person's suitability for the job and whether he or she seems likely to fit well into the team. Although it's ultimately your responsibility to decide whether to hire or not, the feedback from future co-workers can be invaluable. Even more important, any new person hired is more likely to be accepted smoothly by the group, since the other group members have had a voice in choosing the candidate.

[Commenting on an actual case in using an auditions] It soon became clear that the audition process served to accelerate the socialization process between a new hire and the existing staff members. A successful audition was a kind of certification as a peer. The reverse seemed to hold true as well. Failed auditions were a morale booster for the staff. They were continuing proof that being hired for the group was more than just the dumb luck of when resumes happened to hit my desk.


Demonstrating Deep Skills - Some examples of how to get a candidate to demonstrate a variety of deep skills in an interview are:

1. Ask them to interview you to determine the requirements for a product, and to then do a high level design for that product. Allow 15 minutes or so.

2. Do a group interview. Have a team member describe a problem they're having right now, or had in the past. Ask the candidate to help the team solve the problem.

3. Show them something you're working on right now. Ask them how they would approach it if they were given responsibility for it the first day on the job.

4. Using a standardized problem, ask them how they would solve it using you as a source of information and a white board. Start the problem off easy. If they keep getting it right, escalate by introducing more formidable aspects. See what level they start to have trouble with, and how they handle that. Look for a good approach to handling extrement difficulty or complexity, not the ability to have answers to everything.

5. Ask them to pretend we're both at a meeting, where you have just made a detailed proposal on the whiteboard, which has some holes. Ask them to role play with you to act out how they would help turn the proposal around into a good one.


Miscellaneous

This list of Software Engineer Skills may help you in hiring, training, self analysis and project staffing. Tailor this for your company. Consider going for the Seven Super Smart Traits in hiring.

Here's an example of a reasonable, repeatable approach to Interviewing a Java Developer. This was created long before I composed this page. If I did the "Hiring a" again, I'd include more live work and an audition. Then again, you can consider this a preliminary screening interview and do deeper work on just the final candidates.

For more hiring insights, see "Dynamics of Software Developement" by Jim McCarthy, pages 166 to 168.

It may take a bit of digging, but be sure to find these out:

  1. If the candidate is a life long avid learner.
  2. Evidence of being able to act egolessly when appropriate.
  3. Why they are leaving their previous employer.
  4. How they actually did at their previous employer.
  5. Why they really prefer working with you.
  6. How well they work with a team.
  7. If they have any significant personal or work style problems.
  8. If the chemistry is right. Do they fit well with your culture and people?
  9. If adding them to your organization will raise or lower its potential.