Coming up with complex solutions for complex problems is easy.
Coming up with simple solutions for complex problems is hard.
What I mean by this is, generally speaking, a problem can be solved by breaking it down into smaller problems and addressing those. Once the individual pieces are taken care of, one can tie those together neatly, thus addressing the original issue.
But that’s in theory. In practice, each new small piece might create its own set of problems. It’ll likely introduce new inflection points at which things might go wrong. Little did you know, instead of one big problem, you now have a set of small ones, each of them potentially leading to new ones.
So yeah, coming up with simple solutions is hard, but, at the end of the day, you’ll do yourself a favor by not having to deal with the complexity you may have created otherwise.