At its core, over-engineering is the art of taking the most straightforward solution and making it more complicated, more convoluted, and more... interesting.
Whether it's building an 8-layer deep API just to save 5 minutes in development time or writing 1000 lines of code to perform a single task, over-engineering is a delicate dance between functionality and obfuscation.
But what's the point of doing things the hard way when you could do them the easy way?
Read on, and discover the joys of over-engineering.