I grew up with pen and paper my trustworthy sidekicks and Merriam Webster my chief advisor. The pattern of the English language fascinated me, and the expanse of the English vocabulary encouraged me to play around—there never was a wrong answer, just a multitude of different interpretations. War is just a symphonic picture with permanently closed red stage curtains. If a person is only able to love the notion of love, does he ever love? There’s an art to poetry, one full of rising voices and quiet murmurs and—
I quickly discovered that code couldn’t be more different. Coming from a family where both parents were engineers, and seeing how both of them had to work late into the night, I was scared that being a computer scientist would mean me also being overworked. With my history of not being very proficient in STEM, I avoided any sight of programming I could. I realized that in code, 1+1 must always equal 2, and the only two possible conditions are true and false; there is no maybe.
I was terrified that code would limit my dare to dream.
Completing a series of programming assignments for a class only cemented this belief. As I scrolled through endless lists of functions, I realized how constrained and unforgiving programming was: one misplaced semicolon could ruin an entire program. Any small typo at all could prevent a program from running entirely, unlike English, where a reader could still understand the general gist of a story even with misspellings. I internalized a hatred for computer science as I sat at my desk day after day, completing a series of mundane tasks.
It wasn’t until the last assignment that I discovered a chance to bridge the two sides of the spectrum: to unite my interests in the humanities and the technical. The task was to code a haiku generator from a series of predetermined phrases, making sure that the phrases chosen had the correct number of syllables. I continued to scroll through lists of functions, but this time with purpose and renewed curiosity: how do I determine the number of syllables in a line? The number of letters?
For a week, I burned the midnight oil, eagerly testing out pieces of code. I started to understand the infinite potential of computer science. Code is a beautiful type of reverse English: unrelated words are strung together to form new meaning—“functions” in the language of computer science. When you program, you revert to the suffixes and prefixes of first grade and combine them in astounding techniques to form new compound words, defined as method names in the language of syntax. Although the specificity of the syntax seemed finite, the programs I produced definitely weren’t: I could mold them to produce beautiful poems, into tools for my imagination and creativity.
My interest in computer science and my passion for English blossomed during my time at Adobe Headquarters for Girls Who Code, where I realized just how exciting computer science could be. Under the tutelage of Adobe employees, I found myself in an environment welcoming my curiosity, encouraging my enthusiasm for computer science. With mentors for assistance, I eagerly sat down and consulted them why one line of code worked and another didn’t, culminating in a final project that a team of three other girls and I presented to the CEO of Adobe.
I may have grown up with Hansel and Gretel as childhood friends, but my room now has space for the new kid in town: Building Java Programs. With computer science, I am able to see my creations manifest before my eyes. But I’m not just going to stop with my haiku generator—I’ll continue writing both poems and programs, expanding the scope of my knowledge even more. And next year, I’ll be at the premiere of my latest invention: a thesaurus based on the rhyme of a word, English and code mixed into a wonderful blend.
Michelle Zhang, 2018 RTC Fellow
Rewriting the Code—Empowering College Women in Tech