Reconciling my academic background as a classicist with my profession & passion for software and technology makes for some interesting musings. What better way to convey my love for two seemingly disparate fields than to codify a list of Latin phrases used in the context of software development and technology. I hope this gives you a good laugh, or perhaps deeper appreciation for a seemingly dead language. Next time you’re out with some friends, you can impress them with a few Latin expressions. That and your impeccable taste in craft beer.
I. Mea culpa
A very old Latin saying meaning “my fault” or simply “my b”. Think git blame
. You inadvertently force pushed some changes to main? Didn’t feel like commenting your code? Ah, you say the tests pass locally on your machine, but not the CI system? That’s what everyone says…
II. Carpe diem
Seize the day. Technically the verb “carpere” means to pluck, therefore a more literal translation would be to “pluck” the day, but the meaning is one and the same. Time is our most precious resource. Working hard is great, but working smart is better. You’re diligently on a project, you have deadlines, you’re trying to ship a deliverable; take a few deep breathes, make some coffee, and carpe diem.
III. Carpe noctem
The inverse of seize the day – “seize (or pluck) the night”. This is especially true for students, SREs, infrastructure engineers, and anyone/everyone who burns the midnight oil. Work-life balance is crucial, yet there are times when things need to get done after the sun sets. I’ve done some of my best programming in the middle of the night. On those laborious evenings, take care of yourself as best you can and remember to carpe noctem.
IV. Pro bono
“Done without charge” i.e., open source. I’m a huge proponent of the open-source movement. OSS has undeniably changed the way software is produced, consumed, and how technologists all over the world think about solving problems. Everyone is a potential contributor.
Sometimes too we need to simply pay it forward. Perhaps another team is struggling getting a microservice deployed because they might not have the necessary operational knowledge. Or maybe someone building some internal tooling could benefit greatly from some design expertise. Regardless, pay it forward and share your skills with the world.
V. Vox populi
Building software is a highly collaborative activity. Vox populi equates to “voice of the people” – your coworkers, your team, and the fellow engineers who’ll ultimately review your PRs. Code needs review. No matter how experienced you are, your work could always benefit from a second or third set of eyes.
VI. Ex nihilo nihil fit
“Nothing comes from nothing” - from Lucretius, author of a brilliant metaphysical treatise titled De Rerum Natura. Beautiful software that delights its users and all of the incredible technology that has changed the world, is the product of countless individual’s hard work and dedication. Innovation doesn’t occur in a vacuum. Tools don’t build themselves.
VII. Sapere aude
We live in an age of ubiquitous information and knowledge sharing. From public libraries to google and the internet, knowledge is everywhere. The entire sum of human understanding is at the fingertips of many. Information and knowledge that took thousands of years to acquire is available freely; some of the information we take for granted was the product of incredible sacrifice in the name of science (think Alan Turing, Ada Lovelace, Galileo, Hypatia) and the rigorous pursuit of truth. Sapere aude means “dare to know”, a popular expression during the Age of Enlightenment, a period characterized by humanity slowly overcoming the shackles of dogma and mysticism. Always be learning. The pursuit of truth is a lifelong endeavor.
VIII. Caesar non supra grammaticos
“(Even) the emperor is not above the grammar”. We’re all bound by the rigid rules of syntax, lexigraphy, and off by one errors. Learning syntax is just the beginning of our journey as programmers; understanding how to express ourselves with code and solve challenging problems whilst conforming to the rigid rules of syntax takes time to master. Even the most skilled developers can get tripped up over a simple mistake, a missing period here, and unterminated connection thread there, the point is to take the utmost care in your craft. Even the best of us can make novel mistakes. Humble yourselves before the task at hand.
XI. Acta non verba
“Actions, not words” is a powerful expression. I’m not going to say talk is cheap, but code speaks for itself. Regardless of your intention, your meaning, or what kind of record collection you possess (or how you take your coffee), the code and thereby the work speaks for itself. It’s one of the most important considerations as a technology professional and a strong delineating factor between science and other activities. As scientist, we pursue truth in whatever form that takes. We pursue quality in our craft above all else. It’s easy to talk about delivering value or building the “next great thing”. Much harder to deliver on those promises.
X. Post mortem
What happens after an incident? Perhaps not the most glamorous ritual, it is certainly one of the most critical. Get together, be honest, and embrace a results-oriented conversation about what went wrong, but most importantly, how it can be prevented in the future. Postmortem translates to “after death”. A solemn reminder of how fragile systems are, and the care we must take when developing highly available, fault tolerant systems. Embrace the spirit of continual learning and growth and treat every postmortem as an opportunity to learn and get better.