I have a similar process, but I do it after hours because I treat it as exercise.
The task isn't about what the resulting system does, but how - the aim is to figure out where certain patterns are applicable and where they break down.
Ideas include: using a design pattern like Entity Component System, exploring whether a certain way of formatting code is actually more readable, producing a drop-in replacement for a small utility.
I firmly believe this makes you an overall better programmer. That being said I think it would be wise to refrain from doing that at work.
This is the exact technique I used that made me a better developer. I would take on the task of rewriting code in my own time (small team where my rewrite didn't affect others). There were times where I misjudged how difficult the rewrite was, but I stuck with it and took it as a learning experience to make sure next time I thought things through further before moving ahead with a complete rewrite. Now that I'm more experienced, I tend to get more important (and difficult) projects, and no longer attempt the large scale rewrite. I do definitely throw away portions of code and rewrite, though. I think there's a balance to achieve.
The task isn't about what the resulting system does, but how - the aim is to figure out where certain patterns are applicable and where they break down.
Ideas include: using a design pattern like Entity Component System, exploring whether a certain way of formatting code is actually more readable, producing a drop-in replacement for a small utility.
I firmly believe this makes you an overall better programmer. That being said I think it would be wise to refrain from doing that at work.