Complexo e complicado realmente são coisas bem subjetivas, porém creio que deve sempre ter um certo "acordo de cavalheiros" entre os programadores para não escrever código de manutenção sofrivel.
Concordo também sobre como escrever código é uma forma de arte. Pois ali no código tu expões seus pensamentos sobre como é resolver um problema em forma de um algoritimo.
Sobre as obras de Uncle Bob e martin fowler, procuro levar elas como um catalogo de consulta, tanto que não li elas de "cabo a rabo" e algumas coisas nelas eu não concordo. Um livro que está sempre ao meu lado ( amassado rabiscado, grifado ) é o refactoring do Martin fowler.