When I was learning how to program, I hit the same problem over and over again.
I would write a program that worked well, but after some time of extending it, I could now tweak it any further. The complexity would overwhelm me, or it would be so tightly written that it allowed no room for expansion.
Or I didn't want to change a beautiful design because that would make it worse.
I dismissed these two books, mostly out of arrogance – I already knew most of what they had to say, so what was the use for them?