In Hackers and Painters Paul Graham, founder of startup accelerator YCombinator argues that the entire term “Computer Science” is misleading. He immediately argues that hackers are themselves makers, much more than scientists or engineers to which I could not agree more. I can empathize with Graham a bit, who went to art school after his Philosophy degree, since I began college in oil painting and glassblowing. Now we both are interested in the creative opportunities tech can solve, only he has the PhD in Computer Science to prove it. Personally, I’m still working on it–a bachelor’s that is–but I’m thankful to have crossed paths with Computer Science at all given it’s bad PR. I was only introduced to coding per chance when trying to be practical and make a buckby switching from fine art to graphic design in order to incorporate art into the supposed “real world” my engineering father always alluded to. Turns out it wasn’t a graphic art course and I actually really enjoy coding.
Currently I’m trying to convince my boyfriend’s younger brother, let’s call him Aaron, to consider computer science. He wants to like it, but thinks he hates it because it’s harder for him than Spanish and it’s impossible to get the code to work. From my experience, the people who really like computer science are the ones that have somewhat of a moral dilemma with walking away from broken code rather than allowing themselves to get bested by it. A willingness to give up will not take you far when a missing semi-colon will break hours of hard work. For someone like Aaron it can be so frustrating to watch other students race through mini programs, but I remind him as I remind myself that any challenge is a matter of persistence and an unwillingness to be out-Googled. I tell him that he just has to allow himself get frustrated enough and unwilling to accept defeat. What is more dangerous in battle against the compiler is apathy and giving up, for the compiler knows no sympathy, nor autocorrect.
One thing that’s amazing about Computer Science as a field is that if you Google hard enough, all known answers are online and there’s an open dialogue about them via StackOverflow. Learning to Google has made me infinitely better at asking questions concisely with keywords which carries over into any form of research, and even life itself. Eventually when the program finally compiles there is a cathartic release of all the inner preceding anxiety and frustration. The compiler relents, with a humble “success”. What a high schooler like Aaron or a college freshman doesn’t understand is that their peers that solve Compsci riddles so easily have probably been coding since they were 12 and already had that Aha! moment, when the compiler relents and they realize that they can write successful code. (If you are having any sort of math anxiety, you must read Kalid Azad’s blog, a Computer Science graduate from Princeton and successful YCombinator entrepreneur who while completing his degree translated technical language from the pillars of Academia into empathetic metaphors fourth graders can grasp without intimidation.)
Because there are so many resources on the internet, there is no way for someone like Aaron to predict how much knowledge and experience different peers can walk in with. Much like drawing, where onlookers describe success as mere talent, it is important to acknowledge prior experience and practice. And while it’s true that some measure of talent may play a role where some simply draw top to bottom with no rough draft, gracefully transferring their imagination onto paper, there are also very accomplished artists that angrily draw a circle 10 times over with an eraser in hand before it’s an acceptable circle.
At the end of the day, computer science needs a PR shift. While its true that some (few) students can articulately map out a function the first time they approach it, I prefer Graham’s depiction of hammering his hands furiously against a keyboard, vomiting code into the text editor, and rearranging it until it works. My old boss used to say that engineering is 1) making something work and 2) trying to understand why that thing worked.
So much like art itself, coding can teach many life lessons. Namely, hackers and painters don’t give up. They ask the right questions and experiment until it’s beautiful– imagine approaching any problem in life that way. So many students *cough* girls *cough* are cutting themselves short by buying into Compsci’s bad PR.
A growth mindset provided by the internet and open source is only one reason why computer science is a great choice. The next post will cover the opportunity computers present.