When reading these two observations, my first reaction was , well, duh !
In hindsight that ( my thought ) comment was a little sort sighted.
When we start off, our software systems are small and easy to maintain. But they all
grow, in time. The average software system becomes large enough that no human being
could hope to hold all of its code in their mind at once. This isn’t good or bad, it’s just
a fact. Effective software systems are, as a whole, inherently complex. The only hope
we have for working with these systems is to keep the individual pieces simple, so that
when we look at those pieces, we can comprehend them. Programming, in essence,
must become the act of reducing complexity to simplicity.
< . . . . >
A good programmer should do everything in his power to make what he
writes simple for other programmers to use and comprehend.
Perhaps the 'obvious' stuff needs to be concentrated on untill it becomes ingrained in everything we do . . . . and learnt like a nursery rhyme when we were kids.