Here, have an anonymous biography.
I attended a college with a really shitty CS program that contained 1/4 programming-related classes, and the rest with expensive time-wasting exercises. The CS profs were walking the tight-rope between passing everyone so that they could milk someone for a full 4-years of tuition and failing people on exams for a single typo or compiler error on hand-written C programs.
I did poorly in all my math classes due to my tendency to procrastinate in response to stress, and also swallowing the pill that the professors were not there to teach you the material, just to highlight the chapters of the books with their lectures and then administer exams.
In lieu of an internship, during my senior year I worked part-time at a job I got through a peer. The manager was a nightmare (There had been more than a 100% turnover in the department he had overseen for the 4 years leading up), and so I was given 30 hours/week to work on a website project and a few embedded systems tasks. I was provided a week to learn the nuances of both projects and did not put in unpaid time to learn them on top of coursework. Consequently, I performed poorly and my contact was not renewed. Working there was highly stressful due to a lack of communication and training coupled with the threatening attitude of the manager(on more than one occasion he told an employ to complete task X by date Y, or they'd be fired on the spot).
Following this, I was mailed my $35K slip of paper and began a 6 month job hunt. A solid 80% of entry-level job listings required 2-3 years of work experience, and the remainder essentially laughed in my face for not fitting into their suit-wearing culture or not having anything impressive on my resume.
My job hunt ended with an agency that discussed my resume conversationally for about 2 minutes, and then spent the remainder of the interview running me through whiteboard exercises. I was hired on for a $65K salary(More than any of the other job postings I was qualified for). I was provided ample training with their proprietary stack and have since been performing well under very understanding managers. After I get 2-3 years of experience under my belt, I'll do everything in my power to get a raise, and if that doesn't work(this company offers high entry-level wages, but historically lacks many incentives to stay), I'll look for another company to hop to for a wage-hike.
So here's the analysis part.
Do I have any regrets? I regret waiting for college to learn basic programming. I had a rather unstructured course in high school dealing with javascript, but didn't apply any curiosity or work ethic to it. I could have made a few projects before I started college, and thus had a foundation to build on when it came to filling up a portfolio of examples.
I'll be making payments on my $35K for the foreseeable future(I've got other stuff to dump my money into in the short term), but as long as I'm employed with a salary like this, these payments aren't preventing me from having a decent standard of living. If I'm fired and my severance pay runs out before I can find another job, I'm royally fucked.
I doubt I would have started off my career with $65K without either having a friend inside the business or a degree to get my foot into the door. My friend got my foot in the door of a very shitty job, so mileage may vary for both.
I currently enjoy a 40hr work week with decent paid time off and the ability to work from home. Can't complain there.