I have six months of college left, and signed an offer letter over a month ago. Now seems to be a good time to share some observations I've made in regards to getting your first "real" job. Hopefully it'll help those that come after me.
From what I've seen, the people who are doing the best in their job searches fall into two broad categories: those with great academics (strong GPAs, solid understanding of CS principles), and those with great experience. It seems that very few fall into both categories - if you are always working at your job, or on side projects, your GPA is inevitably going to suffer to some degree.
The people with strong GPAs have their resumes peculate to the top of the pile, and tend to do reasonably well at most interviews. From what I've seen and experienced, most of the "just out of college" interviews focus on solving programming brain teasers, a la Google. With a little bit of practice, they aren't hard to beat - you don't necessarily need to solve the problems, only to walk the interviewer through a concise and thoughtful set of possible (and iteratively better) solutions. Many of the students in this position have gotten job offers from big names like Amazon and Microsoft.
The other group of people, the group that I think I fall into, doesn't have a 3.95+ GPA. Of course, they still have reasonable GPAs. What this group lacks in pure GPA, they make up for in experience. There's multiple kinds of experience - actual job experience, and side project experience.
At Drexel, with mandatory co-ops (internships) during your schooling, everyone has some job experience. Those that stand out either have impressive projects, worked at impressive places, or worked all through school. Companies love to see a GitHub account full of cool projects (they will look!), and I can't express enough how important it is to have real field experience coming out of college. From what I've seen, it gives you a huge advantage over those without.
The downside of internships is that a surprising amount of students chose not to treat them like a job. On the other hand, working hard during your internship can have great rewards. Not only are you going to learn a ton of practical knowledge, but oftentimes a full-time job can result.
My family and friends often say "you're so lucky" when I speak to them about my upcoming job, but that's not the reality. I went into my internship with the attitude that I could turn it into a full-time position if I worked hard enough. It worked, and I landed an awesome job. My fiance (currently getting her masters in Library Science (!)), took the same attitude, and got the same results.
Assuming you fall into one of the two above groups - start your job search early. I was amazed at how early recruiters swooped in. Don't take the first job that comes your way. Here in Philadelphia, with a rather small tech sector, computer science majors, out of all the majors, are reputed to have the best job prospects. Use that to your advantage - get multiple offers, and negotiate as best you can.
As my graduating class has 6 months of school left, I'm not sure what will happen to the kids without either a great GPA or any experience besides ho-hum internships. I do know that while myself and my friends either already have jobs lined up, or have recruiters lined up to see us, they are blindly strolling along, just trying to finish up classes; not thinking of their future. It will be interesting to see how they make out.