Every now and then you end up with a silly, stupid and simple idea that turns out to be an epic win: I am firmly convinced that introducing Tech Trivias was one of these ideas for our team.
Motivation
Too often we simply forget that work is not always as fun as it should be: we would all like to be able to write OS libraries at our jobs, to work on cool technologies like React Native or introducing new concepts, like Progressive Web Apps, in our codebase1, but the reality is that bugfixes, meetings and testing often get in the way of more exciting stuff.
To alleviate the “pain” of having a real-world job2, I decided to start playing, every few weeks, a game called Tech Trivia, where the Namshi team is divided in two, heterogeneous teams battling to win the game.
The result?
What is a Tech Trivia?
Without further ado, let me show you what we’re talking about:
As you might have guessed, Tech Trivia is just a sequence of tech-related questions / games that the teams need play to accumulate points and beat the other team — each Trivia consists in 4/5 games that are played for around 5 / 10 minutes, adding up to a total of one hour (or two, depending how hooligan-ish your team is :)).
Until now we held 2 Tech Trivia sessions and the games we’ve played were quite fun! Among the ones that we liked / played the most:
- random questions: ask a question, the first team that comes up with the right answer gets a point. If they give a wrong answer they get a -1 (this is so that individuals are discouraged to try without consulting with the rest of the team). An example would be “what is a nibble?”
- let me lie for you: ask the teams a question, tell them to make up an answer and communicate it to you secretly (ie. via slack). Then read the question again and provide 4 answers: the right one, the 2 ones that the teams gave you and a wrong one you make up. Each team picks the answer they deem correct — if they pick correctly they get 1 point, if they pick the other team’s answer the give them 1 point. This game was inspired by fibbage
- coding challenge: this is self-explanatory. Time-boxing is a must: for example, in rounds of 10 minutes, you can reward the first team to come up with a working solution with 10 points. If no one has it, start a new time-boxed session, but the reward will only be 5 points now, and so on and so forth. Sorting problems are generally good for this game :)
- choose your destiny: create 3 buckets (easy / mid / hard) of questions and ask each team what kind of question they want. Points are relative to the difficulty (ie. 1 / 3 / 5 and -3 / -1 / 0 if they get it wrong). Go ahead until each team has answered 4/5 questions. Here teams can actually pick their own destiny as they would know how the score is and what kind of questions they should pick in order to rally from a deficit or distance the other team. Example questions could be: “name all prime numbers between 40 and 60” (easy) / “name 5 sorting algorithms” (mid) / “Open addressing is a tecnique used to handle collisions in hashtables. How does it work?” (hard)
At the end of each game give the teams a recap of the score, let them regroup and get ready for the next game. When the Trivia is over, get the trophies out and hand them to the winners!
You shouldn’t forget to also reward the losers though — at the end of the day it’s just a game! Last time, for example, we gave everyone ~$50 to spend on udemy courses.
FAQ
Who moderates the game?
You can pick any of the guys, but I would advise you to get someone who has a bit of authority and can pull some stunts off (read below ;–)).
What if one team is too good and the score is so unbalanced?
That’s where the moderator has to play an integral part of the game: try to balance the game and make sure you make it a little bit harder for the guys who are leading — you’re definitely not going to be very popular :)
How do you form teams?
We simply split teams and try to make sure that everyone has a field / technology covered, ie. a team should always have 1 linux guy, a frontend engineer and a backend one.
To be fair, that also depends on who plays the game: if you are playing Tech Trivia amongst backend developers, then try to keep away from a lot of UI questions.
Where did all of this come from?
My wife and I really enjoy fibbage, a nice on-line game meant to be played among friends. Seeing how much fun we have playing it, I thought we could do something similar at work.
Why just every few weeks?
Preparing the games actually takes a while: you will need to think of a bunch of questions and game formats, which isn’t always straightforward.
Coupling that with the fact that you might wanna get some hardware (ie. throphies for the game, an hourglass to time the coding challenges) you understand that’s not something that you can easily do every week.
What about remote teams?
No question, it would be harder to play with a remote team — not impossible but definitely harder.
One of our engineers, though, works remotely and took part to the games, so it’s definitely something that you can manage.
How would a UI engineer know about linux internals?
This is the point of the game: to challenge people on stuff
that they might not know but use everyday. A UI engineer
is surely used to chmod
files and directories but probably
doesn’t know why permissions go up to the number 7
.
He will probably have someone in his team that knows the answer, so his team isn’t penalized — and at the end of the day he is probably going to learn something really useful about a technology that he uses on a daily basis.
In the end…
A Tech Trivia is an opportunity to learn new things, explore some aspects of technology / math / probability that we’re usually never exposed to, do some solid team-building and have fun together.
I am extremely happy to work in an organization that encourages this kind of activities — the guys in our team seem to enjoy it a lot so I foresee a lot of Trivia battles in the upcoming months.
I’d be pretty happy to hear your feedback and suggestions if you have any — and I’d be even happier to hear that you’re doing Tech Trivias as well! :)