I'm about to start rebuilding a decent chunk of code at work that I've been working on the past couple of months. I had no hand in creating this beast originally -- its horrid architecture is no fault of my own. And we have finally hit a spot where the framework is halting further development. Thankfully there's a silver lining.
Rebuilding pieces of software is generally a bad idea, and means the developer is being lazy with regards to learning how an existing system works. However, in the few chances when it's a good idea you have the opportunity to fix old mistakes -- rebuild anew. It's a bit like redemption for software. While I'm sure I'll get frustrated later on, right now I feel as if I'm launching off of the old and weathered in to the clean and open.