Destruction of self-esteem. Need advice.

Is there anyone that has a similar story to mine that has had success?

Semi-throwaway for this one:

I was (and am, I guess) in a very similar situation as you, my grades throughout university were (and still are) awful. My GPA is pretty similar to yours I think, although we don't really seem to use GPAs in Canada so I'm just looking up an estimate of my grade on a chart. I'll tell you my story, but I want you to know that I'm only where I am now because of no small measure of luck and people who were willing to give me a chance despite how shitty I looked on paper. If anything this should really be a cautionary tale, don't be like me.

Around about my second year of university I started focusing more time on my personal projects, in hindsight I think they really saved my ass. In particular, I started making more and more games using JavaScript and Flash because I figured that I'm not good at school and I'm never going to be good at school. The fact is there are deeper problems that I needed to address and simply trying to adopt a mindset of "buckle down and study hard" wasn't cutting it for me.

Leveraging these personal projects, I managed to land myself a co-op placement at a mobile games studio. I don't know why they offered me the job to be honest, I bombed the coding interview and the fit interview (I think), I had shitty marks, and to top it off I'm mega awkward and anxious 90% of the time. When I asked the devs why they picked me all they could really come up with was that it seemed like I had a real passion for games. Anyway I was put on a project with just me and one lead dev (along with producer, artists, etc of course), and luckily I was able to impress him a little bit I guess. I was offered a job for my next co-op placement with the same company (using Unity instead of Obj-C this time) and I immediately accepted.

Stepping away a little bit, I want to point out my school uses a rating system for co-op students. Typically people get "Excellent" on them because, let's face it, which supervisor would actually want to screw your job prospects for the future unless you were genuinely shoe-on-head incompetent, right? There's a level above it called "Outstanding" which requires a written comment detailing why the student was outstanding which makes it a bit harder to make up.

Anyway, I went back in my next co-op placement and for a variety of reasons the project I worked on (now a team of 5 devs including 2 co-ops) fell way behind schedule and it was crunch time for basically 2 months before I left, and probably at least another 2 months after. Tons of overtime, stress, etc. I like to think I handled it well, but then again, how would I know? Anyway, maybe my supervisor felt bad for all the overtime, maybe he genuinely believed I was outstanding in some way, but I got the Outstanding rating for that term (which is the 5th out of 6 at my school).

This rating, in turn, opened lots of doors for me. I interviewed with 3 AAA dev studios along with a handful of smaller game dev roles, and I wound up taking a job at one of the AAAs. During the interviews at all three AAA studios I was told that the only reason I even got an interview was the my "Outstanding" in the previous term, that normally candidates with marks as low as mine would pretty much be ignored. I did well at that company, got a recommendation for re-hire after graduation from my manager, and if I manage to get through my exams and the next term without failing more than 1 class, I'll be returning to that company on a different team later this year.

what is the best way to ensure my graduating GPA is AT LEAST 3.0?

For me I had to identify the exact problem I had with school. I had to ask myself why it was that school work always seemed tedious and pointless whereas I'd happily spend hours plugging away at a personal project that I know will never amount to anything, why I never had a problem spending hours grinding in games for nothing more than virtual loot but couldn't spend the same amount of time improving my real-world situation and indirectly my real-world loot, and find a way to fix the problem. I should point out here that I'm pretty sure my GPA isn't at least 3.0 right now, so maybe that's a failure in the goal you're setting for yourself.

My plan, as of now, is to put my all into my last two years, and get all of my remaining credits with hopefully >3.5 per class. But even if I do that, my GPA will still be low because of my other low marks that I truly regret now, so I plan on taking an extra year of classes before applying to graduate to retake my less than stellar classes just to bring up my GPA.

You should also consider taking a lighter course load. If GPA matters that much to the companies you're applying to, maybe it'd be best for you if you took one or two fewer classes a term to make sure your GPA is as high as you can make it.

/r/cscareerquestions Thread