
Mary Poppins was on to something with her “Spoonful of Sugar” song. “In every job that must be done there is an element of fun. You find the fun, and SNAP! the job’s a game!”
As technical people, we have a habit of turning everything into an optimized, repeatable process. That takes all of the fun and adventure out what we’re doing. After a while it becomes a drudgery, and we wonder why we can no longer force ourselves to keep doing it.
But these days there are ways to gamify almost anything! The most boring work can be turned into a challenge if we change our mindset. We can ride on a stationary bike for an hour (yawn!) or we can join a spinning class and push ourselves to the limit! Or get a Peleton and compete with people around the world! Wow!
Why do people have workout buddies? Well, for one thing, a workout buddy holds you accountable. But having a workout buddy also introduces a certain level of competition. If I’m not losing (or gaining) weight as much as my buddy, or if I’m not able to keep up with the weights or exercises, I’ll have to up my game! It’s a friendly competition that makes it much more interesting to work out.
If you want to learn how to type, a simple set of lessons, like those at typing.com can be helpful. And they sprinkle in games and scoring to keep it interesting. But once you have the main keys pretty much mastered, TypeRacer.com makes it fun to really push your limits. You are competing with people worldwide to win little one-paragraph races. And there are daily standings and an all-time hall of fame. You can also race your friends. They really make it fun!
But how can you make TDD fun? Well, ok, it’s already fun, but learning TDD can be cumbersome. And learning a new programming language can be tedious. That’s where a site like CodeWars or HackerRank can help. They specify a problem, and you have to create unit tests and code to solve the problem. You get more points for solving more difficult problems. And once you’re done, you can see how other people solved the problem and learn cool new techniques!
Maybe you just want to compete against yourself. There are great ways to make that fun too: you can set some metric and aim to beat it every day. Say you want to improve your reading speed. Measure how long it takes you to read a page. Then do the same the next day. See if you can do better every day. Create a chart so you can see your progress visually. That makes it even more fun!
The cool thing is, it doesn’t matter if you find you’re measuring the wrong thing. You had fun with it, and it got you to practice! Now it will be easier for you to find a better thing to measure to make it even more fun!
What ways do you measure your progress?

