Programming is a lot of fun. It’s an awesome feeling when your code compiles without errors, the app passes all the tests, and runs without any (noticeable) bugs. It’s an awesome feeling even if you are working on a boring enterprise app. You made the primitive machine under your keyboard do something. If that isn’t amazing I don’t know what is.