Software development is difficult in the best of conditions. You should always be failing some of the time, and learning from those failures in an honest way. Otherwise, you’re cheating yourself out of the best professional development opportunities.
I don’t want to hire people who don’t know how to learn from their mistakes — they’re doomed to repeat them. And if I’m willing to coach a potential hire, I don’t want to restrict my search to only people who already know how to learn. They probably don’t know all the ways they don’t learn
But I do want people who are willing to take feedback in a variety of forms. So, what mistakes have you made? What have you learned from them?
State, Strategy, Bridge, and Adapter are all similar patterns. How are they similar, and how are they different?
But I suspect I was surprised because I’m no longer a developer and am not familiar with the patterns. I suspect I would keep a paper copy of the patterns and ask a candidate to read them first if the candidate was unfamiliar with the patterns. I don’t want to make a test out of attempting to remember the pattern; I want to hear the candidate’s perspective on the patterns.I loved the second question:
What makes good, maintainable code?
What an opportunity to ask followup questions such as “When have you not written maintainable code? Why?”I like meta questions, such as the third one:
What questions should we be asking you?
I’m not sure I would ask every candidate how to improve the interview, but meta questions are more illuminating (for me) than hypothetical questions if I want to understand how the candidate thinks.
Please think about your most significant accomplishment. Now, could you tell me all about it?
That’s a great stepping off question. And, I really like the second question, in one of the comments on Anthony’s post, by Jim Durbin
Tell me about the last big mistake you made and what you did to correct it.
Candidates, be prepared for these questions. Hiring managers and teams: consider these next two questions for your next interview. These questions are illuminating.
I thank Keith Ray who forwarded this gem to me from the XP mailing list:
“Puzzles are fantastic. They’re an instant way of figuring out whether you want to work for the organisation or not.” — Adrian Howard
When I teach interviewing, people tell me they like puzzles because they think they’re watching how people will work at work, and as one developer said, “I don’t have to think of other questions this way.”Puzzles are not a good predictor of ability at work. Those behavior-description questions are.
It’s more time-consuming, but take a little time and think of great questions to ask. You won’t lose people like Adrian before you even get started.
Ego is a Good Thing. But the interviewers need to remember that interviewing a candidate is not about how great the interviewer is; it’s about understanding what the candidate will be able to do for you at work. Thanks to Rohan Kini’s “Scary interviews”, read Tips to technical interviewing.
I don’t buy tip 4/5, where Vikram says to explain the process and questions, and not to start with the hardest question. “It depends.” If the hardest question is an elimination question, ask away. You don’t have to explain your questions, but you should explain if you’re asking a behavior-description question, so people can understand you’re looking for specific examples.
We’re teaching my older daughter to drive. She’s had her permit since late August, and we try to make sure she drives 2-4 hours/week. In reality, that’s not a lot of driving. Just commuting to work most likely takes you 5 hours/week. But this past weekend, my daughter drove back from our ski weekend in Vermont to Boston, in the nor’easter.
Here in New England, nor’easters are a fact of life. In the winter, they dump a bunch a snow, or frozen slush which turns to ice. In the fall and spring, they dump a lot of rain, which sometimes turns to ice. Because some form of precipitation is a common part of driving, New Englanders who learn from their driving experiences tend to be fairly good at driving in snow, ice, and rain. It’s not fun, but it’s doable.
There are people who never learn from their driving experience in snow or ice. Every year, they’re surprised by the snow or the ice, and they drive too fast (or too slow). These people may have plenty of years of driving experience, but it’s the same year repeated over and over again.
Some parents want to protect their kids from driving in treacherous conditions. I have to admit, that was me on Sunday. But Mark said, “Do you want her to learn how to drive in the snow and the ice with one of us in the front seat or by herself?” Ok, Mark is clearly the thinking one here
You’ve probably met people who claim 5, 10, 17 years of experience doing something, and you’d like to make sure they really do have that experience, not one year of experience several times. If you’re not sure how to detect someone with the same year of experience several times, here are some questions you can adapt for your needs:
“Tell me about the first time you did that kind of work…”
“What was similar and different about this last time (use the candidate’s resume for example projects)? …”
“Tell me a about a new skill you learned.” … “What steps did you take to learn it?” … “How did you know you’d mastered that skill?”
“How can you tell you’ve learned this skill/technique/practice?”
People who know the difference between the same year of experience multiple times and multiple years of experience have answers to these questions. People who do the same thing year-in, year-out don’t have good answers.
We’re trying to help our daughter gain that full year of experience that the graduated driver’s license requires, without putting her or other people at risk. She’ll have a year of experience driving. She still might not like driving in ice and snow, but she’ll be able to do so. How about you? Can you see differences in your work now and last year? If not, make sure you’re not acquiring the same year of experience all over again. And when you interview people, ask questions to see how a candidate has learned and grown in their work over time.