Among all my CS coursework, my other interests sometimes get buried.
I love computer science. There's nothing like sitting down at my computer for hours on end to work on a complex coding problem. I enjoy the problem-solving, the collaboration, even the search for bugs. But with that being said, computer science isn't my passion. I like it enough to deepen my understanding through taking classes, and I could code every day as my job without getting bored. However, I'm not one of those kids who is intrigued by each problem, who reads language APIs for fun, who comes up with new and innovative projects to work on in their free time. Coding doesn't come to me naturally. Try as I might, I can't bring myself to have the same love for computer science as some of my peers do. My passions lie elsewhere-- in theater, in writing, in activism-- and I know that computer science will never be on the same level as the other things I do with my time to the point that I often wonder if I made the right choice when picking my major. Everyone else around me seems so much more involved, so much more motivated, so much more comfortable. Every time I find myself reconsidering my major, I remind myself of a few things:
It's okay to take a break. In previous semesters, computer science made up roughly half my coursework, and the other half of my coursework was completely unrelated to science at all. This semester, however, I'm in 3 CS classes right now, and it's a little overwhelming. I feel like I'm living and breathing CS every waking moment. Some people have a really high tolerance for coding, but after days in a row of working on coding assignments and nothing else, I have to work on something different or I'll go insane. Most of my classes this year are related to CS or math, so I try to break up long intervals of doing homework by working on or doing other things. Physical activity is a particularly productive way to take a break from CS; not only am I doing something that requires relatively little thinking, but I can also clear my mind so that I'm more focused when I come back to my CS work. I would say spending time with friends is another good way to take a break, but if I'm being realistic, all my friends are ALSO buried in computer science right now to the point that we almost always end up discussing operating systems projects when we hang out. Either way, I find that I'm much more productive if I give myself 3-4 hours to work straight followed by 1-2 hours of doing something else.
It's okay to have other interests. It feels like everyone around me is focused on computer science 100% of the time, and I sometimes feel pressured to do that, too. I already know that my mind doesn't work like this, though, and I have plenty of other interests that allow me to let out my creative side a little. I've been acting in stage productions since I was in middle school, and honestly, theater is a lot more fun and interesting to me than computer science is. It's a completely different set of skills and challenges, and I always feel energized after going to rehearsal. When I was in high school, I thought a lot about the (very small) intersection between computer science and theater and tried to see if there was some way to combine my interests into one field of study. Now that I'm in college, I recognize how difficult that would be-- plus, if theater was part of my coursework, it probably wouldn't be as fun anymore-- but that doesn't mean I just dropped my love of theater. Instead, I act in plays for fun with some of the theater clubs on campus. It can be hard sometimes balancing theater and CS, especially since almost nobody does both, but it's rewarding nonetheless. You can be a CS student who does other things.
People of all kinds are needed. I think this is the easiest thing to forget, especially since pretty much every CS internship everywhere looks exactly the same. Every company seems to be looking for the same kind of person-- good at coding, good at problem-solving, innovative thinker, can take direction well, can communicate effectively, invested in CS. But what if that isn't me? I have other things to offer that are harder to show off in a 90 minute technical interview. Where in that interview can I bring in my experience and perspective as someone who's proficient in the arts? Where do I show off my writing skills? Do I even want to work at a company that doesn't care about the parts of me that aren't fully applicable to CS? The more I think about it, the more I lean towards finding a job that isn't at a big tech company. My passions are theater and activism, and I'm sure that my technical skills can be at least marginally useful in one or both of those areas. If the jobs don't exist yet, I'll have to make my own. Even if I do decide to work at a tech company, though, I know that I will have a different way of thinking than someone who's more proficient in math and traditional CS, and I'll have something different to bring to the team as a result.
I may not be a fully CS-minded person, but that doesn't mean I can't succeed as a CS student. I just have to acknowledge that the quality of the programs I write may not match the high standards that my peers set (shout out to OS peer testing) because my energy is going elsewhere. Just reminding myself of that is enough to keep me grounded and moving forward.