Coding and computer science have yet to make their way into every school curriculum in the U.S. But the country isn’t short on initiatives—such as Google’s Code Next program or the White House’s Obama era Computer Science For All campaign—which aim to change that.
And while these programs attempt to arm students will the ability to code, they sometimes overlook a critical skill that developers, computer science scholars and tech recruiters say is key to landing a job in their field: writing.
Lem Diaz is a talent partner at Google Ventures (GV), the venture capital arm of Google’s parent company, Alphabet, Inc. From his experience helping companies such as Netflix, PayPal and even Google find tech talent, he says along with programming skills, the ability to write—and verbally convey ideas, processes and qualifications—is near the top of almost any company’s list of desirable qualifications.
Examples of where writing might be necessary start at the application process, Diaz explains: “A company is more interested in a candidate if a resume is error-free and clearly conveys the complexity of the problems [the company] is trying to solve.” Once a candidate passes that hurdle, many companies will often ask their potential programmers to solve a problem, and applicants must write out how they got to the solution.
“We are no longer in the day when engineers are in the back programming by themselves,” says Diaz, who holds a B.S. in electrical engineering from Santa Clara University. “Being able to communicate problems is all part and parcel to someone [a company] would want to bring onboard.”
Dan Garcia, a teaching professor for computer science at the University of California, Berkeley, agrees—though only to an extent. As an academic, he says: “part of the goal of your work and career is impact, and that comes in the form of scholarship, which takes the form of papers you write and special sessions you share.” It’s important to funding one’s career as a CS academic as well. “[Writing] also comes as the form of fundraising and grant writing.”
But Garcia notes that there are positions in the field of computer science where someone may only be writing code, and knowing how to write a five paragraph essay may not be very relevant. However, he still thinks programmers would be better off having those skills in their back pockets.
“There are careers where someone doesn't need [to write]… but we want students to be able to go to any position. Maybe they want to just be a coder [at first], but later they decide to be an academic or on the documentation side or in management,” says Garcia. “My point is you never know when you need to write.”
Garcia teaches a non-majors introduction to computing course at UC Berkeley called “The Beauty and Joy of Computing,” and offers a version of the curriculum for high school teachers preparing students for the AP CS Principles exam. With both his undergraduates and in the AP curriculum, the course has a writing component. For undergrads, students choose to go deeper on a topic they've learned in class, pick a side in a debate in CS (such as net neutrality), or explain how a modern innovation like the iPhone works as well as its data implications for users.
Still, he says educators trying to turn students on to coding might want to take caution around telling their students that writing is near inevitable, even for programmers. “Writing is important, but someone who isn't a good writer might say, ‘CS isn't for me’, if they are told that,” Garcia shares. “At the early stage, you want to say, ‘yes CS can be for you.’”
Diaz adds that the writing a programmer does is often different than say, that of a journalist. “There is a big difference between essay writing and technical writing. You don't need a thesis or an intro paragraph, you don't write a five-page paper,” says Diaz. “With technical writing, you strip away a lot of that and get to the point faster and explain your reasoning.”
But the logic behind crafting an essay or a line of code, says Garcia, may actually be quite similar.
“When I am writing and thinking of an argument in a debate, there are similar logical structures in terms of how I need to get from A to B,” says Garcia. “The way that I need to make a case and find the holes [in my argument] parallels if someone will use my code. What inputs will they use or how could they break it? What am I not thinking of?”
Alexandra Diracles, CEO of Vidcode, a computer science learning platform for kids, goes another step further. She feels that having good grammar and even creative writing abilities can actually complement a programmer's skillset. Diracles points to programs such as the School of Poetic Computation in New York, which claims to approach “writing code like creative writing” with a goal “to promote completely strange, whimsical, and beautiful work.” Courses at the school have included Poetics and Politics of Computation as well as Computation and Artistic Practice.
“You have to go through to find errors and restructure the grammar in a paper, and that's exactly what you do with a program,” says Diracles. The CEO also offers a counterpoint to Garcia’s caution about telling CS-oriented students that they need practice writing skills, too: “Everyone has an entry point to coding, and everyone should be able to discover coding in the area they love, even if that is writing.”