Over the years I have had the chance to interview a number of people for new positions. I have interviewed potential Business Analysts, Developers, Software Architects, and Product Managers. In all of these cases, one of the main things that I look for is creativity.
Creativity, in my opinion, is what separates the wheat from the chaff. In the case of a developer, he or she may know the language that the position predominantly requires. He or she may also have experience with the stack and frameworks that you are using, but there is a huge difference between someone who has experience with these things, and someone who can get creative with them.
There are plenty of people who get caught in the trap of finding a way of doing something and then never finding a better way to accomplish that feat. They never to think why they are doing a thing a certain way and they just always do it that way because "That's the way it's done".
The thing is if I am working with someone I want them to be questioning the status quo. Asking why can't we change things, and challenging not only they're assumptions but causing me to constantly challenge mine as well. By doing this you fuel team creativity and innovation.
So how do you find people that fit this criteria. Personally I've been using the following question: "What can you do with a brick" (or a derivative thereof) as a starting point for years. I saw this post
on LinkedIn about it that pretty much nails it. It's amusing to see how it can completely catch some candidates off guard, and believe it or not apparently it can be very difficult for some people to answer. From there it depends on the position. For developers there are some coding exercises that can give you some insight into the thought processes, and usually asking or challenging them about there answers will give you further insight.