A fundamental question. Why does one have to get a good GPA? Some would say,
That'll give us a good job! Now I ask, why would companies want someone with a good GPA?
Here's a couple of reasons from a senior-level engineer/entry-level manager (that is, me):
It shows that the person knows actually a thing or two about what he's up for.
It shows that the person knows how to discipline himself/herself, because a good GPA means that he/she's passed through the academic rigor that college requires.
A good GPA is a good indicator of those two qualities. So, this proposition generally holds true: If someone has a good GPA, he/she'll probably get a good job.
Now, let's remind ourselves of this one important rule in logic:
Neither the converse nor the inverse of a true proposition is necessarily true. What does this mean...? Let's see, what's the inverse of the proposition above? That's right:
If someone doesn't have a good GPA, he/she won't get a good job -- which is not necessarily true.
How so? Let me take examples of my college colleagues who got juicy jobs after graduating.
This one guy... He was a hacking genius. (He was known for mumbling in hacking jargon when he was drunk.) Some security company snagged him outright.
These two peeps... They worked on a video game and released it under their name. Some online gaming company hired both of them.
None of them had GPA over 3.00 (B0).
Why did those companies hire them despite the shitty GPA? That's because they proved themselves nevertheless. Checkpoint #1 satisfied: They clearly knew a lot of things about what they were up for. Checkpoint #2 satisfied too: They knew how to work under discipline. Especially those who made a video game -- it's a huge challenge, even for professional managers, to plan and carry out a successful software project.
So, what does all this mean? Simple. Identify things which interest you and also are related to your major, and do something real outside the coursework. To the degree you'll be proud to put it on your resume. Yes, it takes time, but hey, if it's fun and also helps your future career, why not?
Oh, and yeah, I'm no exception from this. People wonder how I, a fresh-off-college FOB, secured a job in less than 2 months of job searching. This company hired me for my FreeBSD skills (which I proved I had by designing an online gaming platform in my junior year of college). Did any professor in KAIST teach me how to use FreeBSD? Hell fucking no. I just learned it on my own, because it was fun! And yeah, mind you, my college GPA is also sub-3.0 (2.97 to be exact XD).