CS3216: First Week and the Impostor Syndrome

The first week of CS3216 has passed. The first lecture was, expectedly, filled with countless different expressions of “you’ll need to spend a lot of time on this module”. Some of the expressions were nice, some were scary. We got to meet most of the student body (some did not turn up) and many of them are already very capable, programming-wise or otherwise.
Programmers and the Impostor Syndrome — it is hard to feel unintimidated by the pressure of 1) How awesome some people already are. 2) How awesome we need to become to accomplish the requirements of the multitude of assignments. 3) How proficient we’re expected to think we already are. That is, that we’re told that “you’ve been selected for this module because of certain metrics” and that only about 40% of applicants were accepted. Under the pressure, we often don on the mask of “Hey! I’m a real programmer” (change programmer to designer / businessman / X at will) but under the mask is a sea of doubt wherein we believe ourselves to be impostors. We’re not really here because we’re reeaally capable, we’re just here because we somehow managed to slip through the cracks.
Maybe… Just maybe… we’re not really meant to be here amongst all the “real programmers”, “real designers”, “real businessman”.
During the show-and-tell, I presented my gaming profile, albeit not in completeness due to time constraints. One piece of the profile that I forgot to mention was my online handle. Online, the nickname / handle I gave myself is MrFool.

Exactly what compelled me to type in MrFool for my online-gaming handle is still unknown till date even to myself. But, there is a meaning behind the name.
A fool thinks himself to be wise, but a wise man knows himself to be a fool. — William Shakespeare
It is meant as a constant reminder to myself — that no matter how good I get at the game, no matter what rank I am, that there is always someone / something who’s better than me, that I’ll always be a fool. Even the top ranked player in the world doesn’t win all the time.
There are many things that playing Starcraft II to the level of being termed “Grandmaster” has taught me, but that is a story for another time. Instead, I would like to take this opportunity to talk about how having the impostor syndrome of a “Grandmaster” held me back from improving.
Whenever I get to face anyone on the ladder that is a known professional player, I lose. I lose, not because I couldn’t beat them at all. It felt different, when I play with people whose name aren’t known, I play with a plan and execute the plan. When I play with people whose names flash in my eyes (well-known), I play with a plan too, but the plan is “I’m gonna lose. Period”.
Why? Because I just felt like I wasn’t a “real grandmaster”, a “real grandmaster” spends 8 hours a day at the minimum playing. A “real grandmaster” is someone who’s well-known to the community. I was in National Service, playing only during my weekend and my off time, no one really knew this fool, how can I be a REAL grandmaster.
I kept on playing and improving and one day, after beating a professional player from Philippines on an online tournament match, he actually asked me for tips on how to improve his play. Was I then, a “real grandmaster”? That was when I realised that the notion of being a “real grandmaster” or not actually locked me away from the standard that I could be at. If I could have been more confident going into games against well-known players, I could have executed the plans and not fumbled just because they were “real grandmasters” and I was not.
I actually misinterpreted the meaning of being “wise” as quoted in William Shakespeare. To be “wise” is to know that there is an infinite ceiling to reach and that compared to that infinity, we’ll always be a fool. But, to be a fool does not mean to not be “real” in what you do. To be a fool does not mean to wear a mask and be afraid that beneath it, there’s a wisp of air without substance.
To be a fool is to always remain hungry, hungry to learn and improve because there is always more to learn, there is always something to improve on. But a wise fool compares oneself to oneself, and not against others.
It is an endless journey towards perfection, but being on the journey means you’re getting better.
There is this fine balance between becoming “real” and thinking you’re so good you don’t have to improve anymore and being “un-real” and thinking that you can never become real and good. Either side of the scale is not optimal, but one can become real and good and yet still remembering that one is a fool in the scale of infinity and thus remain hungry and ready to learn and improve. And that is the balance we should aim to strive towards and to find.
A good measure for programmers that I can think of — from one of the talks at a JS conference — someone who’s beyond a novice programmer is someone who has ever opened a blank file and populated it with code. If you’ve done that, you are a programmer.
If there are those who look up to you — by saying that you’re not real, you set an arbitrarily high bar — you basically invalidate them for who they think they are.
And if there’s one epic lesson that I’ve learnt from my stint at amateur competitive gaming — that is to not wear the mask of the impostor because of the giants around you and become limited by the mask that you create — instead, just always strive constantly for improvement.
Our mission here, as students in CS3216 is to learn, not to be impostors and that applies for other activities that we engage in.
Remember to always be a fool, to remain hungry to learn, to improve.