Understanding why we do something in a particular way makes building things exciting and engaging. If you are programming then I genuinely suggest you to learn system design and architecture. This will open your eyes.