The plugin window was blinking, changing colours every 200ms. No way anyone would want that on their screen but my colleague had implemented it. He had just found out how to do that and explained it to the team.
Colleagues joked about when it would be used: "It's a way of telling the user to go home." "Or if they've clicked 'undo' more than five times per hour."
I was bewildered. He took the time to implement a functionality that would never make it to production. And then we interrupted our work to speculate when it would be used, knowing it never would. Just for fun.
Playing with others has benefits for our well-being and promotes cooperation. But it might be trickier to recognize its value when we're not in the right state of mind which was my case, as I was just starting to work there and was worried about catching up. Besides, I hadn't witnessed such coding for fun moments in other teams I had been in.
Over time, I participated in other such "coding for fun" moments. Some even made it to the end user's screens, to their delight. Like the JavaScript snowflakes that started falling over our web application automatically from December until February.
The just for fun approach goes over to non-coding situations too, for example:
All these things take up time that could be used for "productive" tasks. But they yield a much more enjoyable time in the workplace. Sometimes they're also learning opportunities, others they’re just about relaxing and unintended team building.
I was lucky to be working in an environment that allowed playing around and to be in a team with such a wonderful diversity in sense of humour. The jokes didn't always land equally for everyone. So what? Having fun with colleagues around work matters is an investment in the team, the product and the company culture. And if someone is bewildered as I was, they'll probably get it someday too.