Some interesting and good ideas. However, I don't think there is a recipe for finding good software engineers. If you always use the same method you're going to end up with a team of people with the same strengths. Know your teams strengths and weaknesses and find candidates that balance things out.