Coding and Configuring

Vitruvius and Software Architecture

An architect should be ingenious, and apt in the acquisition of knowledge. Deficient in either of these qualities, he cannot be a perfect master. He should be a good writer, a skillful draftsman, versed in geometry and optics, expert at figures, acquainted with history, informed on the principles of natural and moral philosophy, somewhat of a musician, not ignorant of the sciences both of law and physic, nor of the motions, laws, and relations to each other, of the heavenly bodies.

Vitruvius, I, 1, 3

This passage spoke to me not only because I want to be an amateur software architect, but because it seems that every person should strive to meet this definition of ‘architect.’  I came across this while completing my homework for the software engineering class im taking through UOP.  I enjoy what I am learning in class, but so far much of it has been high level and somewhere between practical and theory.  The Software Architecture class is almost pure theory.  Which while immensely applicable to jobs I may have in the future is also surely fun for the contemplative nature it must expose me to.

An additional part of Vitruvius’s treatise spoke to me:

All these should possess strength, utility, and beauty. Strength arises from carrying down the foundations to a good solid bottom, and from making a proper choice of materials without parsimony. Utility arises from a judicious distribution of the parts, so that their purposes be duly answered, and that each have its proper situation. Beauty is produced by the pleasing appearance and good taste of the whole, and by the dimensions of all the parts being duly proportioned to each other.

Vitruvius I, 3, 2

this part of the work hits instead not the architect but on the fundamentals within an architectural structure.  Here we can see an amazing line drawn between how code should appear as well as function to how we would hope a building is considered in the drafting stage.

Regardless of how it speaks to us, or in this case me.  Its nice to have this heady and academic viewpoint of something so practical as software architecture.