Since day one, we’ve been using Python to build our machine learning pipelines with type annotations. Type annotation in Python is set to transform code quality, catching bugs at scale. Yet it wasn’t until recently that we applied a type checker.
In March 2021, we ran the type checker Pyre for the first time across our entire Python codebase. From tens of thousands of lines of code, Pyre surfaced hundreds of type errors to fix.
Before we could enjoy fully type-checked Python, we needed to cross off every error. While enabling type checking was a huge win for our code quality and development speed, asking the team to fix pages of code was a tough sell.
Gamifying the mundane: the night before the BBQ
Among building new features and improving performance, fixing type errors is not the most exciting. It’s the unglamorous unwitnessed work, but something we all have to do from time to time. You or your team have to do something dull so you can do something truly interesting later. Like prepping food the night before a BBQ.
Some teams will roll up their sleeves to get the prep work done. After all, a problem shared is a problem halved. But if no one steps up as a leader or has enough incentive to finish, vital steps will be skipped over. In other teams, a person might volunteer (or be volunteered) to take ownership. In turn, this can cause a disparity in knowledge across the team. You want everyone on the same page.
How can you get the job done efficiently and together?
1. Structure with simple rules, incentivise with prizes.
At Programmai, our solution was simple: Gamify the mundane work. Sketch out some rules that encourage your team to work to completion, instead of winning against their teammates. The prizes are more about what they represent rather than the monetary reward.
For our team, this is what we rolled with:
Bonus points if you go more exclusive with the prizes and tailor to the team.
2. Remove friction and add a fast feedback loop.
If you think of your favourite video game, you need low friction and a fast feedback loop.
Here are the steps we laid out:
As a result, our engineering team finished the clean up in a month, while the project work proceeded as usual. Our winner walked away with a cocktail kit and everyone enjoys a cleaner code base.
Programmai are hiring!
Join a team of highly talented, passionate people on a high growth trajectory, learning what it takes to reach unicorn status. See all open roles here.
We invest in potential over histories.