I just went through an intense refactoring session for
EJBGen.  There is more to come, but I
have basically turned around the entire implementation in prevision of incoming
features and new integrations.  The interesting thing about this is: 
users will never notice.

Some users are already using the improved version but of course, they have no
idea how much it is different from the previous drop.  To them, it’s the
same tool as the previous version, hopefully without any regression introduced.

There is something strangely satisfying about this but it’s not about the
intensity of the session, nor about the size of the changes.  Sure, adding
features that users are eagerly expecting is also a fulfilling experience, but
not as much as rewriting a complex piece of software from the ground up all the
while knowing that you are covered by your regression tests.

Am I the only one feeling like this?