When I hire a new graduate I look for two things.
1. Have they had a job? Not necessarily a programming job but just some job. I can't abide with having to teach the basic stuff like arriving on time (and on time is up to 10:00am ino ur team), calling in when sick and dressing tidy (daily showers are a bonus). But more importantly I don't want to hire someone who has good grades because mum and dad paid all the bills so they could spend all their time studying. If they've done 20 hours a week somewhere and received good grades they I'm really interested. It's nice if they've got outside interests too, Football, Church, Charity, Travel whatever. Oh and volunteer work is a huge bonus
2.Can they fit in with my team? Do they have a personality that will fit in or are they a really smart turd?
Once they start with me us I expect it to take six months before I'm getting class work out of them. I expect them to take on some of the crap jobs to start with (another reason work experience helps) but I have a plan in place. I start them on something important but not urgent so there is time for them to do rework. I expect them to make mistakes, I expect them to fix their own problems with support of peers and I expect to spend time mentoring them. They are an apprentice and I treat them like they still need training. I do not accept other developers fixing the trainees mistakes without their involvement.
If we get it wrong we cut the relationship.
I spend a lot of time on them and expect them to work hard but we're very generous with ensureing that they become a very worthwhile team member.... then the challenge is keeping them but that is a whole other story...