I was required to interview some candidates in my former company (I was in the management post then but I have moved back to technical now). The most important criteria we looked for were:
1. Attitude of the candidate - we looked out for rudeness, selfishness, unable to work as part of a team, etc
2. Flexibility of the candidate - we preferred someone who was flexible in picking up new skills, able to communicate effectively and flexible in duration of working hours. Once we turned down a top student after we told her sometimes we needed to work till 8pm and her response was "So late?". In reality, sometimes we worked till past midnight
3. Ability in communication - must be able to listen and communicate effectively.
Technical skill was actually at the lower priority but it's one of the important criteria.
Honestly, I am not good in any specific programming language but as long as you're willing to learn, it's no big deal. I have to admit that I was a job hopper and I am not a specialist. I was in both UNIX and windows environment...moving from one language to another. Here are the list of languages/database/operating systems I have to pick up for over 10 years in my career:
Dos/ Windows/UNIX/Linux
SQL Windows/Centura
Sybase - stored procedures and triggers
Powerbuilder
Oracle - stored procedures
C
C++
Natural
Java
C Shell
now...Bourne shell
I even moved from technical to management and back to technical.
I also admit that sometimes I lost hope in my career, fed up and looked for opportunity to get out of IT industry. I don't love this industry...it's just my bread and butter. It's definitely better if you love it.