While reading an article on how architects get upset when homeowners alter their original designs, I realized that notion doesn’t apply to me as a programmer. To me, software design and coding is a creative, artistic pursuit, and I could perhaps make the case that certain code is art, but it is the nature of the beast that it evolve, be altered, and sometimes even get thrown away as a learning exercise. I suppose architecture goes both ways; the finished product could be a work of art that must stay as true as a painting, or it can evolve to better suit its inhabitants. Stewart Brand makes the case for structures that evolve in his book How Buildings Learn. My preference is that a house be built to change since culture and lifestyle alters over time. A remodeling job that retains the original design intent can be more worthy of admiration, just as elegant code retrofitting is deserving of high praise. A former CEO of mine calls that “code sculpting” and places it as high as design skills on his list of desired programmer traits.