Working on new code is fundamentally different than maintenance. When one is buried in maintenance, it’s easy to loose site of what it means to have no design constraints, other than the best for your situation.
When doing new code, you have to think about best structures, algorithms, classes, interfaces, etc. Take this mindset back to the maintenance side of the house and what happens? You’re stunned at what is in front of you. It looks like hubris. But now you know what is possible and can re-define success.
For this reason alone, it is intellectually refreshing and important to take on small projects. Like a Raspberry Pi, for example.