Pro tip for enjoying your life at work: this also applies to you work projects. Once you realize this, you can have a lot more fun at work and even coerce work projects to be more like your for-fun/side projects. Of course this is detrimental to the company as a whole, but your company almost definitely does not care about you and you might as well extract as much enjoyment as possible.
If your coworkers are actually passionate about programming (i.e. not drones or PM brains running flowchart to increase quarterly profit), you can even make work more enjoyable for them.
Things like unconventional language choices, over-engineering of systems, unusual coding styles, obscure protocol/library use, and of course a ton of NIH can really spice up a mundane codebase.
Even stretching an "easy" module into a masterfully crafted program and going 4x over estimation can be fun sometimes (without any of the bad design choices suggested above).
Yes I stand by this bad advice, and it's allowed me to play with so much technology I would never otherwise touch at day job.
> Pro tip for enjoying your life at work: this also applies to you work projects.
While this may be fun for you and your team, in my experience it makes maintenance more difficult for the next team that inherits the project.
If you're going to take this advice please consider if you'd find what you're passing on to be acceptable if instead you were inheriting it.
I'll tell you. I forget stuff.
So when I pick up that Openweather tool after three years of not touching it to quickly change the output a bit, I can be pretty sure the overly robust scaffolding around the project won't let me break anything.
Really yearning for crafted code that meets every one of your perfect coding style guide and preference with green checks across a huge set of static analysis tools and a large test suite, go for it!
Tired of conforming to your ultra strict style guide at work and code reviews that go in endless circles nit picking about use of spacing or whatever? Let loose and stop having to care/worry so much about the details.