There’s just no greater gratification as a programmer than when you build something and it works the way you expected it to when you try to use it. This can lead to bad habits, because the more complex and baroque a thing you build, the more gratifying it is when it works properly.