Completely agree here. Complexity is the result of combining simple things together to optimally solve a specific problem under specific boundary conditions. The reason so many software devs are frustrated by complex artifacts, is that the initial problem and boundary conditions are usually not documented, often because some boundary conditions are actually a hidden agenda hostile to the recipient of the artifact.