You sound very similar to myself. Here's what happened to me:
I coasted through highschool and tried to do the same through college. It didn't work. My GPA tanked, which discouraged me, and my GPA tanked some more. I finally experienced a complete meltdown with a semester and a half left in my undergraduate career. Failed my midterms miserably, didn't complete my capstone project, and was stressed to the point of throwing up in my trashcan. Not good. Further, I had a job offer on the table that was contingent on me finishing my degree.
I called my parents first. They kept me from driving my car into a tree. After I calmed down a bit, I called the university and the company and explained that I was having mental health issues. I dropped out of university for the rest of the semester and the company deferred my job offer. I went back to live at home, got some counseling and figured out the fastest way for me to graduate.
I graduated and took the job. My life has improved so, so much since I've left school. I kept studying and learning and now I'm working on moving onto a data science team.
I have found that a stable, predictable environment is ideal for me. I figured out that I packed up all my shit and moved from one city to another about 12 times in college. That wasn't good for me.
I have also found that I absolutely must have alone time and plenty of sleep. I never ever gave myself time to think in college. There was always someone knocking on my door or wanting to go out until 3 in the morning.
The long and short of this is that the multitude of distractions and bullshit in college made me forget that I actually enjoy programming. I love figuring out difficult technical problems. I imagine you do too.
My advice is to take time off. You can take leaves of absence! Forget about college for a while and come back with a fresh perspective. It's the best thing I've ever done.
What do you enjoy about programming. Why aren't you getting that from school?
I coasted through highschool and tried to do the same through college. It didn't work. My GPA tanked, which discouraged me, and my GPA tanked some more. I finally experienced a complete meltdown with a semester and a half left in my undergraduate career. Failed my midterms miserably, didn't complete my capstone project, and was stressed to the point of throwing up in my trashcan. Not good. Further, I had a job offer on the table that was contingent on me finishing my degree.
I called my parents first. They kept me from driving my car into a tree. After I calmed down a bit, I called the university and the company and explained that I was having mental health issues. I dropped out of university for the rest of the semester and the company deferred my job offer. I went back to live at home, got some counseling and figured out the fastest way for me to graduate.
I graduated and took the job. My life has improved so, so much since I've left school. I kept studying and learning and now I'm working on moving onto a data science team.
I have found that a stable, predictable environment is ideal for me. I figured out that I packed up all my shit and moved from one city to another about 12 times in college. That wasn't good for me.
I have also found that I absolutely must have alone time and plenty of sleep. I never ever gave myself time to think in college. There was always someone knocking on my door or wanting to go out until 3 in the morning.
The long and short of this is that the multitude of distractions and bullshit in college made me forget that I actually enjoy programming. I love figuring out difficult technical problems. I imagine you do too.
My advice is to take time off. You can take leaves of absence! Forget about college for a while and come back with a fresh perspective. It's the best thing I've ever done.
What do you enjoy about programming. Why aren't you getting that from school?
Also, stop smoking weed if you are now!