It reminds me a lot of Linus Torvalds arguing for monolithic kernels over microkernels. Microkernels might have nice simple atomic units but they have very complex interactions. Where as monolithic kernels have more complex atomic units but less complex interactions.
Most of the complexity I find in programming comes from libraries and frameworks. When I started programming, I thought I would be able to easily make full-blown GUI application. I thought that's what programming did. Once I actually started to learn how programming worked, the biggest leap for me was figuring out how real-world applications were made from such basic units as variables, loops, and if statements. Learning frameworks has always taken me much longer than languages.