Reversing Real Computer Scientist Syndrome

Vinesh Kannan
Illinois Tech ACM
Published in
6 min readMay 19, 2019

From the Illinois Institute of Technology Commencement 2018–2019. Full text of the undergraduate student speech for the College of Science, Department of Computer Science. Video recording below (15:13 - 27:00).

Speech video recording from timestamp 15:13 to 27:00.

I’m just gonna come out and say it: I don’t like sixth graders.

They’re the worst.

I understand that you are graduating with bachelor’s degrees, master’s degrees, and PhDs, but if it’s okay with you, I’d like to take a moment to talk about sixth graders.

Sixth graders can be merciless bullies. Some sixth graders psychologically attack their friends and classmates because they think it makes them look cool. And they don’t even have Twitter accounts yet!

Of course, I am reflecting on a specific incident with some sixth graders. Four years ago, I was volunteering at a middle school, assisting a first-time computer science teacher. The students were coding with Scratch, which is an approachable and creative software that allows students to build their own projects with block-based programming. One of the students programmed a game that asked players to guess the name of a country. When the player clicked on the country, its name would appear. To be clear, this is one of the sixth graders I actually like. The student told me that she got the idea for her game during the geography unit of her social studies class. I was impressed that she translated an idea from her head into code. I was even more impressed that she persisted over several class periods until the game was working.

I told the student, “this is a great computer science project!” And the sixth grader sitting next to her chimed in: “This is just Scratch, real computer scientists use Java.”

That’s the kid I don’t like.

What do you want me to say? “Good job on your original and creative expression of computer science, but come over here and let us talk about the meaning of ‘public static void main.’”

I think the worst part of the Scratch versus Java debacle is that if these students reach a university programming course, they will hear from classmates, professionals, or even professors, that even Java does not pass this mythical bar of “real computer science.”

Many of you are already acutely aware of this effect: an anxious voice speaking in your head, trivializing your work as not yet worthy of the label “computer science.” That voice was not always there. Some demoralizing interaction, no matter how implicit, placed it there. This is our field’s version of imposter syndrome: the fear that you are not good enough, just waiting to be exposed by someone more experienced.

This “real computer scientist syndrome” extends from sixth graders all the way up to senior engineers and researchers. It might even start at a much younger age. I have seen baby toys that look suspiciously like the Towers of Hanoi problem. After all, how could a child ever grow up to be a computer scientist without understanding tail recursion at the age of three?

Amazon: VolksRose Large Creative 8 Rings Tower of Hanoi Wooden Logic Brain Teaser Puzzle for Your Kids

“Real computer scientist syndrome” is more than domain-specific bullying, it descends from a cognitive bias known as survivorship bias. In World War II, the Allied forces analyzed their aircraft to determine how to improve their defenses for battle. Their idea was to reinforce the areas of planes that had sustained the most damage: the wings and the fuselage. Mathematician Abraham Wald pointed out the major flaw with this plan: the Allies could only the study the planes that returned from war. Their analysis overlooked extra defenses for the cockpit and engine because fighters who took hits to those areas never made it home.

Similarly, to understand the impact of “real computer scientist syndrome,” we must pay attention to who is not in the room with us today: those who are not here graduating with degrees in computer science.

Class of 2019, this is our opportunity to reflect on the narrative of what makes someone a “real computer scientist,” so that it does not harm us if others try to demean our work in the future and so that we do not inadvertently pass it on to our teammates and mentees.

I have collected some examples of the “real computer scientist syndrome.” To collect these examples, I had to visit some of the most dangerous places on Earth: mostly Twitter and Quora. Some of these statements will sound absurd and seem obviously backwards. But you have been exposed to them before. More importantly, the students who will grow up to be your collaborators are hearing them right now.

Here is a taste of “real computer scientist syndrome:”

A real computer scientist would
Never look up code on StackOverflow
Don’t listen to people who say
Skills other than programming are important
Java is interesting, but
Can get annoying after a while
A rockstar coder is a person who
Can tackle really hard problems
Collaborating with people from other disciplines means you
Have not studied enough computer science
People who say they can build something overnight
Work hard and don’t sleep until the job is done
You will not be the best version of yourself if you
Do not know how to implement a red-black tree on a whiteboard
No one really cares if you
Explore interests outside of computer science
To show your personality, you should
Spend nights and weekends on machine learning projects
Not everyone is able to
Implement a perfect dynamic memory allocator
Your professors don’t know how to
Stop you from procrastinating
Graduating from college does not
Prove that you are intelligent
Be cautious of people who make you
Document your work
Other engineers will look up to you if you
Commit many lines of code
Your work can be groundbreaking even if you do not
Make sure that others can understand
Your grades, your grad school, and your salary
Determine the kind of person you will be, not
The experiences you shared with your classmates and professors

Thankfully, these statements are like a linked list. We can reverse them in linear time. Here are the exact same lines, but in reverse order:

The experiences you shared with your classmates and professors
Determine the kind of person you will be, not
Your grades, your grad school, and your salary
Make sure that others can understand
Your work can be groundbreaking even if you do not
Commit many lines of code
Other engineers will look up to you if you
Document your work
Be cautious of people who make you
Prove that you are intelligent
Graduating from college does not
Stop you from procrastinating
Your professors don’t know how to
Implement a perfect dynamic memory allocator
Not everyone is able to
Spend nights and weekends on machine learning projects
To show your personality, you should
Explore interests outside of computer science
No one really cares if you
Do not know how to implement a red-black tree on a whiteboard
You will not be the best version of yourself if you
Work hard and don’t sleep until the job is done
People who say they can build something overnight
Have not studied enough computer science
Collaborating with people from other disciplines means you
Can tackle really hard problems
A rockstar coder is a person who
Can get annoying after a while
Java is interesting, but
Skills other than programming are important
Don’t listen to people who say
Never look up code on StackOverflow
A real computer scientist would

I am grateful to all of the friends, family, and faculty who have helped us reach graduation. The class of 2019 has worked hard to reach this point, but you were all computer scientists even before you earned your degree.

You are not a computer scientist because of the algorithms you know or the programming languages you work in…

  • You are a computer scientist anytime you creatively transform a hard problem into a version that you know how to solve.
  • You are a computer scientist anytime you think adversarially to find and fix flaws in a system.
  • You are a computer scientist anytime you create solutions for both machines and humans.

The things that traditionally make us computer scientists are not the only things we have to give to the world. They may be the characteristics that the media, society, and even our institution will focus on, but we bring much more.

Many of the supposedly “real computer scientists” have behaved like sixth graders. I look forward to seeing all the ways that the class of 2019 will change our field. We have the opportunity to reverse the syndrome.

Thank you to the College of Science for supporting the classes of 2018 and 2019. Thank you to Michael Saelee, Robert Ellis, and Rakesh Chatrath for their feedback on this speech.

--

--

Vinesh Kannan
Illinois Tech ACM

Studying computer science at the Illinois Institute of Technology. Looking closely at data.