Tyler Robertson

Your first day at a new tech job: the game

Tuesday, June 7, 2022

There's a funny thing that happens when you work with a group of people who are talented and humble: they all have incurable impostor syndrome.

This comes up in my circles on Twitter about once a month, and the most recent time it was while I was stuck in San Diego International Airport on a 6-hour layover. Realizing that not everyone understands the experience, and wanting to give those that do a little kick in the pants, I used the time to make a desktop browser game that helps explain:

your-first-tech-job.glitch.me

Getting the full experience takes 10-15 minutes, and it's persistently multiplayer, meaning you're playing along with everyone else viewing the page. I recommend getting a few of your friends or coworkers together to try it out!

By necessity of time, the gameplay is simple: you alternate between rounds of chatting/voting and simple pattern-matching. Based on the notifications you receive, your goal is to help your coworkers locate (and ultimately vote out) the one player who is the impostor. If you are the impostor, your goal is to deflect attention, and pass as a normal "employee" at this fake company. If you've played games like Werewolf or Among Us, this should feel familiar!

Technical stuff

Because I knew I'd be strapped for time, this started as a remix of chaos board, a multiplayer soundboard I had built with HTML canvas buttons and Socket.io for multiplayer features. I gutted out the sound buttons and replaced them with the pattern-matching game, then re-introduced Socket's example chat app for the voting segments.

Switching between the two modes is achieved with a setInterval() loop that checks the current time, and alternates between chatting/voting for two minutes, and pattern-matching for three (so a full "loop" only takes five minutes). Using the current time also helps make sure that all players are seeing the same thing, rather than running those loops locally for each client.

I'll link to the source code below if you want to see the details!

Spoilers

There are some secrets I've hidden in the game—you should really try playing it first, though! If you've played already and want to read more about why I made the game, read on!

Okay, ready?

It's just us?

Spoilers ahead, are you sure you want to go on?

Okay, here we go!

Get ready!

Everyone is the impostor.

Here's the source code.

The message about being the impostor is hard-coded into the game, so everyone sees the same thing.

When you get a match, a notification is sent to everyone except you. When you fail, a notification is sent to only you. In the pattern-matching game, the squares always stay in the same pattern. There is no voting.

Rough as it is (though I'm happy with what I could make during a layover), all of this is designed to simulate the experience of joining a team with talented and humble people:

Everyone feels like they're the impostor, because for the most part (especially in the tech industry), that is what they are told. From live-coding interviews that ask for impractical examples at the drop of a hat, to Twitter and blog posts from "10X" programmers about why you're never working hard enough, anyone who can break into tech often feels like they're doing so at a disadvantage. And if I know that feeling as a cishet white guy, imagine how much worse it is for people from marginalized groups.

The real truth is that past a certain point (which happens way earlier in one's career than anyone cares to admit), no one knows what they're doing. Like the matching game that never changes, most of one's progression in a job is about learning the patterns, and getting faster at them. At a high level of self-awareness or self-doubt, that process can feel frustrating. People with impostor syndrome think, "Who am I fooling? I'm not doing anything new. I'm just doing the same thing as before, but faster." While the people without impostor syndrome—either through a lack of self-awareness or a lack of diversity in their community—will look at that same amount of work and think, "I'm the best at this! I memorized the patterns! Everyone should be like me!"

And the latter group is the same people who set out to write blog posts about their work habits, and proselytize working long hours, and special diets, and bad podcasts, and worse takes. They do this because, I believe, they don't know that they're doing, and at this point they're too afraid to admit it. It's my hope that you ran into this feeling while playing the game, and attempted to hide your impostor-ness through bragging about how well you're doing at the pattern-matching. Doing that doesn't inherently make you a bad person, and the game is set up specifically to force you into that situation.

The point is that no matter what anyone says, we're all doing the same work. You might be faster or slower at lining up the patterns, but that part doesn't speak to the quality of the person doing the matching. What matters infinitely more is how you treat people in the meantime. Are you going to bring others down, to hide your own shortcomings? Or are you going to share knowledge freely, be patient and kind (with yourself and others), and be the rising tide that raises all boats?

Or, I could be completely wrong: I literally don't know what I'm doing.