Until recently I worked for a big telecoms company as a software engineer. We had time set aside for self development and non-work projects. Originally it was half a day a week, but we found it better to be a day every fortnight.
You could learn a new programming language or tool, build something just for fun or something you thought was useful for the team (we built a custom dashboard with notices etc., a quiz engine for weekly quizzes), or add functionality to a project that wasn’t specced or requested, but you thought could add value.
After a while, a department wide code wars league was set up to challenge and learn, we had a yearly Easter egg hunt that involved solving puzzles to find prizes, people did lightning talks to teach things that they’d learnt, workshops, etc.
So much knowledge, skill and confidence was added to the team that was worth way more than what we’d do on any normal day. I’d recommend it to any technical team to try something similar.
Tee-hee.