Vitruvius’ De Architectura is the Ultimate Software Engineering Book

Tom Sutcliffe
OS TechBlog
Published in
5 min readFeb 2, 2022
De Architectura by Mark Pellegrini. CC-BY-SA-2.5

The Engineering Influencer

Vitruvius Polio was a Roman military engineer, who wrote De Architectura in around 20BCE. Re-discovered during the Italian Renaissance, it’s one of few sources we have for classical architecture, and has therefore become particularly influential for architecture, art, philosophy….and now, software engineering.

The writings of Vitruvius may slightly pre-date the concept of software engineering, but through the metaphor of structural engineering, a lot of our modern methodologies, project organisation and even coding patterns can relate to the original discipline. This invites the possibility that engineering books can genuinely inform our modern-day software engineering lives — as many authors have ably shown.

Can this logic be taken to its natural conclusion? Can we learn how to be better software engineers from a book written 2000 years ago? Can a man who did not consider 0 a number make us more effective coders? Can I get away with writing this blog on company time? We must find out. After all, to write down your thoughts is a fundamentally worthy thing to do, for in the words of Vitruvius:

the public are so indebted to these writers for the benefits they enjoy, I think them not only entitled to the honour of palms and crowns, but even to be numbered among the gods

…and that’s something we can all aspire to.

Share knowledge

To start us off, if there is one thing Vitruvius wants you to know from reading his works, it’s not how aqueducts work, and it’s certainly not how to build an amphitheatre — his main theme is instead to explain how great people who document things are (such as himself). His work is littered with anecdotes on how holding and recording knowledge can save the day. Vitruvius sees sharing knowledge to be so important that in one book, he wildly diverts from his main subject of how to decorate walls, and instead argues writers are more important than wrestlers. In comparison, Vitruvius has a very different perspective:

[I] cannot help thinking it strange that similar honours, or even greater, are not decreed to those authors who are of lasting service to mankind. Such certainly ought to be the case; for the wrestler, by training, merely hardens his own body for the conflict; a writer, however, not only cultivates his own mind, but affords everyone else the same opportunity, by laying down precepts for acquiring knowledge, and exciting the talents of his reader.

It is difficult to know if Vitruvius was considered an authority on Engineering in the Roman world — his writings have become important because they survived. If you get nothing else from this blog, keep your documentation accessible.

Attend Ceremonies

Straight to the point with this one. If, as a project manager or tech lead, you miss one of your own ceremonies, De Architectura is clear that the only outcome is prison. Prioritise coding over a stand-up? Prison. Missing a retro actioning something last minute from the last retro? Prison. Suggesting to the team that backlog refinement maybe should not take as long as it does? That’s right — prison.

For the Romans, ceremonies are sacred. Vitruvius explains

even to this day, the chief magistrate of the city proceeds every month to the spot; the omission of which ceremony would, on the magistrate’s part, be attended with penal consequences to him.

Avoid Going Over Budget

Vitruvius explains that in the “magnificent and spacious Grecian city of Ephesus”, an architect was required to give an estimate on any work, and his house was held as a security until the work was finished. If he finished on time, he was complimented with decrees and honours. If it was a bit over the estimate, the public would fund the overrun. If it was more than a fourth over the original estimate — and in a fairly alarming escalation of events — the architect's house was sold or destroyed.

Vitruvius laments that Rome does not have such a law and that the quality of work will decrease, and costs will rise without the “dread of punishment”. The anecdote highlights that delays happen. Vitruvius understands that a methodology is needed to mitigate these inescapable project issues and is not limited to civil engineering

nor is this an evil which occurs in buildings alone

Before setting up a governance board promoting an environment of dread, however, take heart from Vitruvius’ belief that through diligence and good practice, project difficulties can be mitigated.

Implement Good Coding Practice

The famous three laws of Firmitas (Strength), Utilitas (Utility) and Venustas (Beauty) originate within De Architechtura. These have obvious parallels with modern methodologies like SOLID, where the utility of a design can easily be compared to the single responsibility principle, for example.

But when we are talking about The Ultimate Software Engineering Book, we don’t need to create these analogies — Vitruvius has some direct advice. On architects getting stuck in, he states

he who is theoretic as well as practical, is doubly armed; able not only to prove the propriety of his design, but equally so to carry it into execution.

For the developer, we must remember

ingenuity is of more avail than machines

On scaling, Vitruvius considers — as we all should from now on — the Siege of Rhodes. A Proof of Concept had been developed to protect the city against moveable siege towers. The creator of the POC had actually blagged a salaried job off the basis of his work. Unfortunately for the city, Vitruvius explains that

some there are whose effects in models seem to approach the truth, but vanish when executed on a larger scale.

The solution did not scale. The consequences were fairly serious, with the population

fearing the miseries of slavery and the sacking of the city.

On the topic of iteration, again siege engines are given as an example, with

those which were found most useful gradually improved, by repeated experiments, by art, and by the laws which they instituted.

Some of Rome’s most famous monuments, such as the Arch of Constantine, used modular, re-purposed pieces of older projects, in this example to ensure the triumphal arch was built before the victorious Constantine arrived at the capital.

Improve relations with your project manager

Finally, if you have failed to take any of the advice presented within The Ultimate Software Engineering book, and need to grovel to your project manager, Vitruvius again has the solution.

While it is not entirely fair to compare a project manager to an Emperor, De Architectura starts with a dedication to Caesar and surely serves as inspiration when you need to apologise.

Whilst, O Cæsar, your god-like mind and genius were engaged in acquiring the dominion of the world [vanquishing enemies, conquering nations, freeing people etc] I did not presume to trouble you, thus engaged, with my writings on Architecture, lest I should have incurred your displeasure.

Rediscovering our craft

De Architectura tells us how to build things. It tells us how to use knowledge, how to manage projects, and how to work efficiently. These aren’t new problems but as new engineering domains have evolved, we’ve discovered new ways of solving them.

There is clear merit in the wisdom of antiquity — wisdom we should all try to adopt into our software engineering. And, when it comes to your work environment, please make sure, that above all else, you keep building up that sense of dread.

--

--