It would be worth checking out whether you are depressed, especially if you've lost interest in other things you've previously enjoyed.
Perhaps you can find some enjoyment in contributing to one of the many open source projects out there, or maybe you should consider a change of job environment and just go for a few interviews. You can always practice your interview technique with a friend.
I don't see anything wrong in always trying to do a better job than the one expected, but be careful that your code isn't so advanced it becomes a maintenance nightmare. I always try to 'sneak in' code that goes beyond the basic scope of the task assigned, so I generally look to make generic, parameterisable code. Even as an experienced programmer, I still like to learn new stuff, for example I've just used annotations and reflection in java to make a self-documenting command parser. For me the fun part is knowing that you've written something that you can re-use and re-purpose but if you're really not enjoying programming any more for its own sake, perhaps it's time to become a salsa instructor, bricklayer, accountant, b&b proprietor or whatever else it was you once dreamed of becoming :-)