Here's why I switched out of a CS major in 2009 as a sophomore (to math) after being convinced that I'd major in CS since high school.

* Feeling that I can learn programming on my own, and wanting to experiment with something I wouldn't otherwise teach myself in college

Of course CS != programming, but in my head at the time I saw them as the same. I'd been teaching myself programming since I was a kid, and I knew I'd be able to teach myself whatever I needed to know if needed. Thus I felt that it made more sense for me to study something totally foreign to me that I wouldn't otherwise learn on my own.

* Fear of living out the rest of my life like the movie Office Space, everything being so damn predictable

This was before software engineering was considered "cool" or had any prestige. Being a software engineer and sitting at a desk all day in a gray cubicle writing enterprise software or whatever sounded boring as hell. As a socially awkward introvert with no other skills, I felt that majoring in CS would inevitably lead me down that comfortable but unfulfilling route, which frightened me. It wasn't just the fear of living a boring life, I just hated the predictability, knowing that I'd never be more than some boring code monkey with a decent salary (though not finance/doctor/lawyer money) and boring job (at the time I clearly knew absolutely nothing about entrepreneurship).

* Not feeling passionate about programming anymore, and feeling like I'd never be able to compete with all my classmates who are so damn passionate about it (and not caring anymore)

A lot of people in the field seemed to be super passionate about programming, coding all day and all night. I had gotten into it at 12 years old because I wanted to make video games, but as my interest in video games was receding, I realized I wasn't really as into it as I thought I was. I felt like there was no way I'd ever be able to compete with my competition who lived and breathed programming.

* CS is boring

This was a huge revelation for me. On one hand I loved programming and thought it was awesome that I could do what I considered fun and get school credit for it. But at some point I realized that although I love the programming part, I found the CS I was being taught mind-numbingly boring. I couldn't care less about sorting algorithms, binary trees, graph traversal algorithms, and most of the other abstract crap I was supposed to learn. I just didn't see why I had to know that stuff.

I've realized that I get super interested in this same material when the knowledge is directly necessary for something I'm trying to build, but otherwise I couldn't care less.

* CS is hard

I thought math was easier, which was honestly part of the reason why I switched to math. Given the obsession companies have on GPA, it was a logical decision.

* Fear of becoming like my classmates

I was a socially awkward introvert, and I wanted to be social and extroverted. I don't know how it is now, but at the time the CS department had the highest concentration of socially awkward introverted weirdos, not to mention the complete lack of women. I remember working in the CS lounge once and facepalming at cringey jokes. I didn't want to be around these losers lest I become one of them.

* Wanting to work on more important problems

I think the industry has a tendency of thinking that software engineering problems are the most important problems facing humanity right now.

For some reason I thought majoring in math would give me the toolkit to solve the most important problems in the world. Maybe I was too brainwashed by those movies where some genius in a flash of revelation scribbles some equation on a whiteboard.

* Wanting to make a ton of money

Software engineering money was good, but I didn't like how quickly and steeply the money topped out. I didn't want to enter an industry knowing that my compensation would cap out at $200k/yr (I don't think the tech giants were dishing out $300k/yr all-in comp packages to new grads back then, or if they were I wasn't aware). I wanted the sky to be the limit, which is why I became interested in finance (again, I wasn't aware of entrepreneurship at the time).

---

Of course going back I probably would've majored in CS because the interview process in the industry skews towards CS knowledge, and math eventually became boring and too abstract and isn't as relevant.