
So you a Computer Science student, you still have a several months (or even years) till graduation, but you already thinking about how you’re going to find a job.
You were probably wondering, why is that, that some graduates manage to find a great job straight out of college, while their not-so-lucky classmates send out dozens of CVs/resumes and get no response. Don’t they all have the same degree, the same amount (i.e. not so much of) work experience, didn’t they attend the same classes?
Well, not all graduates are created equal:-)
A degree and a good GPA is, as the mathematicians say, a necessary but insufficient condition for making the prospective employers want to hire you, and not somebody else.
You need more than that. Something that will instantly raise you above everybody else.
So what can you do to stand out from the crowd?
One thing that proved to be highly effective for me and for some people I know is programming competitions.
There are different kinds of them. Some require solving a couple of algorithmic problems and implementing solutions within a short period of time, like an hour or two. Others require working on a big task for a long period of time (days, months).
Here are a few links to the most popular and well-known competitions:
- Microsoft Imagine Cup http://imaginecup.com/
This is a student technology competition, organized by – you guessed it! – Microsoft.Quote from their web-site: “Open to students around the world, the Imagine Cup is a serious challenge that draws serious talent, and the competition is intense. The contest spans a year, beginning with local, regional and online contests whose winners go on to attend the global finals held in a different location every year.” There a number of different categories – Software Design, Game Design, Digital Media, IT Challenge, etc (they may change year to year) – so you can choose the one you prefer. You can participate alone or in a team of 2 – 4 students.
- The ACM International Collegiate Programming Contest (ICPC), sponsored by IBM. http://cm.baylor.edu/welcome.icpc
“The ACM International Collegiate Programming Contest (ICPC) is a multitier, team-based, programming competition operating under the auspices of ACM and headquartered at Baylor University. The contest involves a global network of universities hosting regional competitions that advance teams to the ACM-ICPC World Finals. The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure. Quite simply, it is the oldest, largest, and most prestigious programming contest in the world. “
- TopCoder http://www.topcoder.com/tc
Hosts a number of different competitions: Algorithm Competitions, Software Conceptualization Contests, Software Specification Contests, Software Architecture Competitions, Component Design Competitions, Component Development Competitions, Software Assembly Competitions, Testing Competitions, UI Prototype Competitions, Rich Internet Application (RIA) Build Competitions, Bug Races™ Competitions, etcThere are monetary prizes for the winners (you must be at least 18 years of age to receive them).
- Google Code Jam http://code.google.com/codejam/
“Google Code Jam is a coding competition in which professional and student programmers are asked to solve complex algorithmic challenges in a limited amount of time. The contest is all-inclusive: Google Code Jam lets you program in the coding language and development environment of your choice.”
- Another link worth mentioning, although strictly speaking it’s not a competition, is Google Summer of Code http://code.google.com/soc/
“Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects.”“Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits.”
You probably don’t even realize what a huge advantage you’ll get once you add a line about having participated (let alone winning) in one or two of these competitions. To any smart employer this line is like a huge banner which says: “Hire him/her fast! He/She is a star!”.
I’ll explain why.
To the employer the fact that you participated in a programming competition (and got some good results) literally translates into the following set of statements:
- You are smart
- You really like programming (that’s important – a person who hates his profession won’t do his job well)
- You have good problem-solving skills
- You take initiative
- You are ambitious and competitive
- You are creative (not all competitions give a chance to demonstrate your creativity, but some do)
- You can work in a team (if you participated as a part of a team)
That’s what all good employers are looking for in their hires.
And you may repeat as many times as you like the mantra “I’m-creative-I’m-hardworking-I’m-ambitious, etc” on an interview, but your words will not have any weight until you have something to support them.
You don’t even have to win or be in the “top 3″ or “top 10″. Finishing as one of the top 300 out of 20 000 or one of the top 120 out of 10 000 will be more than enough.
And it’s actually easier than it sounds. In these competitions there are always a lot of people who register but don’t participate, or participate, but don’t take it seriously, so if you put at least some effort into it, you’ll have a good chance of getting into the top 1.5 – 3% of high performers. Which looks really great on your CV, doesn’t it?
Hello from Russia!
Can I quote a post in your blog with the link to you?
By: Polprav on October 22, 2009
at 3:53 AM
Polprav, sure, you don’t need to ask
By: Alena on November 17, 2009
at 10:02 PM