When I first started applying to colleges in late 2013, I had no idea what I wanted to major in. It was a big decision, for most people their college major was what they ended up doing for the rest of their life. I wasn’t ready to make that decision (and I’m still not) so I spent a lot of time thinking. People always say to do what you’re good at, and I was good at one thing – Math.

That narrowed down the options. I was considering some sort of science or engineering degree. Thinking about the types of classes I was taking at the time, I narrowed the results down even further. After considering the job market, I narrowed it all down to one option : Electrical Engineering.

Electrical Engineering? But you’re a computer science major! Hold on, the story isn’t over yet. While I was pretty set on electrical engineering I was also considering applied math or even physics. At the time, I had only ever coded in a functional programming language called scheme in a mandatory CS class my sophomore year of high school. I had little to no interest in it, especially considering my lack of experience.

My idea of computer science at the time : Picture

I ended up choosing Stony brook university, a school known for its computer science program. I was still set on electrical engineering, but what changed my mind was my acceptance into an honors program for computer science. I decided that I would try it out for a semester, and if I didn’t like it then I would switch to electrical.

You can tell by now that I ended up liking it, but why? As I took classes I slowly began to realize that CS wasn’t really like math in the way that many people make it out to be. Sure, a lot of data structures and algorithms are based on mathematical principles, but what many people in the industry do is unrelated to that. There is enough software around that developers don’t really have to think that much about what’s going on underneath the computer’s hood. Usually the most someone will have to do is implement their own data structure based on an existing one.

That doesn’t mean the whole computer science field is mundane though. I just think that “software engineering” is a more apt name for the degree because most classes focus on the tools and thinking necessary to build efficient software. Don’t get me wrong, I do like building software with code, but it’s not what attracted me to the field. What I really like about CS is the problem solving aspect. Whether it be learning a new technology or getting my algorithms to be more efficient, I always have to think deeply.

Anyone who has ever made something with code knows that obstacles arrive more often than they’d like to admit. Overcoming those obstacles gives me a sense of achievement that I don’t think you can find in any other field. It’s tiring at times to always be wrestling with the compiler or the layout engine, but the rush of figuring it all out makes the effort worth it.