All about the crossroads
It’s hard to count the number of times I’ve stayed up late huddled over my laptop, frustratedly trying to find the error in my code only to realize at around five in the morning that I forgot to close a parenthesis somewhere along the lines. It’s hard to count how many error messages I’ve read, read again, and then googled for comprehension. That incredibly bubbly happy feeling when the word “compiled” appears on the screen (which sometimes even leads to a functioning program), however — that feeling is a lot easier to remember.
Computer Science is about problem-solving. For anyone who’s studied the subject or has any experience in the field, that is not a new concept. We know that we use our knowledge of how the computer functions at a base level in order to increase efficiency, build new projects, and fix old ones. For those who haven’t had that opportunity, however, computers are not about problem-solving; they’re a problem.
I used to be a Political Science major. I knew that law was what I wanted to do since I was in fifth grade, and I knew that I wanted to pursue law to solve problems. Naturally, I thought majoring in Political Science would help me expand my knowledge base and perhaps learn how to write and read at the caliber law schools expect. About two months into my first semester, I knew I was done with the major, partly because Political Science in DC is smothering at its mildest and partly because I realized that the problem-solving study that drew me towards law was not even vaguely present in pure theoretical Political Science, at least not to the extent I wanted it. I learned about problems, but there were never definite solutions, and while trial and error in CS involves making minor edits and recompiling, trial and error in attempting to negotiate relations with Russia somehow doesn’t have the same safety net to it.
Computer Science brought that joy of problem-solving back for me. Debugging code has always been my favorite aspect of CS. Digging through different segments of Java and trying to figure out not only what a program is supposed to do but also why it isn’t doing it feels right. It feels like an accomplishment. Computers are tools used to solve problems, and therefore are tools capable of being used in any field. I taught high school girls how to code this summer with the non-profit organization Girls Who Code, and many of the students I taught came into the summer unsure of whether they wanted to be software engineers or computer scientists or go into the STEM fields at all. By the end, they were still unsure, but they had also learned that they did not need to go into a particular field for their CS skills to be useful. They learned that they could be excellent journalists who could also navigate technology and write for publications like TechCrunch where their skill combination would be an asset. That they could be technical writers at Google, combining stellar English skills with a knack for coding. Or my personal favorite, that they could be lawyers focused on cybersecurity or intellectual property, helping fix problems in our law one case at a time.
This ability of people in Computer Science to branch out beyond it and help communities nationally and globally is one that I would not have been able to even conceptualize if it weren’t for studying at a school that emphasizes one’s ability to find intersections. Here I am surrounded by students who are not just Computer Science majors, but are combining CS with just about everything else: environmental science, political science, statistics, economics, international relations. The list goes on. This combination — these crossroads — are the direction Computer Science as a whole needs to be heading. These crossroads are what, moving forward, are going to bring technology into an age of even greater advancement. Currently, much of the technological world is still inaccessible to the general public. What with highly-used, complicated jargon as well as the relatively steep learning curve associated with getting one’s foot in the door, it’s a wonder anyone makes it into the field. Limiting access to technological knowledge the way such jargon does, however, is limiting the growth of our tech knowledge base and it’s limiting the diversity in the tech field. The number of times I have had to translate between people working exclusively in technology and people working exclusively outside of technology is rather ridiculous, and the number of people I’ve encountered who are brilliant with computers but can’t name our Supreme Court justices is just as ridiculous. Without the ability to communicate and without encouraging people to obtain the skills necessary to make that communication possible, at a certain point our industry is not going to be able to make an impact on the lives of ordinary people.
It’s all about the crossroads. Computer Science is about solving problems, and combining it with other fields of study will only serve to expand the number of problems it can solve. Currently only a select few can fill the niches at the intersections of CS and other fields, which leads to an overall lack of understanding from one field to another. Encouraging varied interests and expanding comfort zones particularly through encouraging students to pursue Computer Science even without it being a career goal will help us work towards finding solutions to even the world’s toughest problems. It’s time we started debugging the world we live in — in time, I’m sure we can find that missing parenthesis.