Computer Science and “soft” skills

My friend Jennifer Anyaegbunam (@JenniferAdaeze) has published a new piece on HuffingtonPost about the role of humanities in medical education.

Matriculating into medical school, we were proud of our humanities roots and felt it made us uniquely poised to become great clinicians. Yet, we have often found that we have had to defend our educational choices to interviewers, advisors and even our peers– something science majors rarely, if ever, have to do. This is because the medical humanities is often regarded as a “second tier” or an extracurricular interest and not something that is fundamental to the practice of medicine.

She finds that the humanities are derided in a classroom setting, as well:

Courses on ethics and social science are few and far between. To make matters worse, students often do not take these exercises seriously, and these courses are often the ones with the poorest attendance, for example

Here, I’ll offer a parallel from a different field: computer science.

As a computer science major at NYU, I too encountered hostility and a dismissive attitude toward the humanities and other “softer” fields from my peers.

A traditional computer science curriculum consists of mathematics, algorithms, and theory. These are important areas of academic interest, and provide a good foundation for thinking about the deepest problems surrounding computation. But the vast majority of computer science majors don’t go on to research computation. They go on to practice it — by becoming software professionals (programmers), writing applications used by real people.

It turns out that to be a successful software professional, you need much more than a computer science background. Indeed, many of the world’s most successful programmers have no computer science background at all. My father was a software professional, but when he graduated from college, computer science did not even exist as a field of study!

You need software design skills, which are often not taught except in a trivial way in traditional curriculums. It is considered “vocational”. You need communication, management, and product design skills. These are too “soft” to be taken seriously.

The industry suffers from a widespread lack of these skills.

For example, though hiring a good backend programmer is relatively easy in our economy, frontend programmers — programmers work on user interfaces and communicate directly with customers to iterate a product design — are extremely scarce. This makes sense: the typical computer scientist considers these vital skills “trivial” in comparison to large-scale data processing challenges. I’ll let you take a guess at which role is more important to ensuring users have a good experience with software.

Some corporate recruiters report interviewing seniors straight out of computer science programs who are unable to write trivial programs that would be the first exercise in any programming book. And I haven’t met a single computer science major who can design and implement the user interface for a real piece of software using just the skills they learned in school.

It gets worse, though. Due to the emphasis of the curriculum, computer science scares away many potentially brilliant software practitioners, because the kind of people likely to enjoy deep mathematics and theory are often not the kind of poeple who tend to enjoy product design and usability. If computer science curricula were about making beautiful, interconnected, evolving applications that millions of people can use on a daily basis — rather than about flexing math theory muscles — perhaps we could combat the flight from the field by women (see this NYTimes story). This flight is probably also driven by a repulsion to the stereotype of the male-dominated, antisocial culture as displayed in movies like Office Space. The stereotype has a basis in reality, but I sometimes reflect how this reality might be connected to this major’s trivialization of creativity, craft, and personal connection.

Another theory is that we simply need to make a newer curriculum that is more inter-disciplinary to capture this kind of real-world practice. My alma mater has put out a new program called Tisch ITP which mashes up computer science, communications, art/design, and social behavior. It has some nice early successes — the former CTO of Huffington Post and the founder of Foursquare are among its alumni.

You are right to wonder about the absence of humanities in medical education, and what that might mean for us as patients. With human lives and emotions at stake (rather than slipped project schedules and user frustration), your question seems even more vital in your field.

Note: some have asked me whether I regret majoring in computer science given the content of this post. Not at all. For me personally, I always had the “programmer spirit” in me. I had been programming since I was ~14 years old, and when I was in high school, I had already developed experience working with customers, designing interfaces, practicing design, and building things. I describe this a bit in What One Does. When I was in college, I debated between majoring in computer science (which I perceived as an opportunity to “peel the onion” on computation for my own curiosity) or other areas in the humanities. I compromised by majoring in computer science but still taking lots of other classes ranging from math to journalism to philosophy to history to creative writing. But I consider myself a bit of an odd duck; most people entering college have not already supplemented their four years of study with four years of “pre-study”.

One Response to “Computer Science and “soft” skills”

  1. Scott Sokoloff Says:

    I couldn’t agree more. Its been my experience that your undergrad education is less about the skills that you learn and more about learning how to pick up new skills. As a mathematics major from UPenn I learned how to think and problem solve. Once in the working world I’ve manged to learn several statistical programming languages as well as the business of data insights. You can’t be content to just have someone teach you what to do.

    Have you had more or less success working with people of any specific backgrounds?

Leave a Reply