You call yourself a DevOps professional but do you know the definitions of yak shaving, Yoda conditions or baklava code?
We didn’t think so.
Here’s a look at our DevOps glossary with a focus on 10 DevOps terms even seasoned pros might not have encountered. And if you think there are some obscure ones we missed, please tell us about it here. We are working on a comprehensive GitLab guide to DevOps terms.
Devops term 1: Baklava code
Baklava is a dessert made up of many layers of thin phyllo dough – which is notoriously difficult to work with. Baklava code is the same: Lots of thin layers of code which makes it too fragile to stand up to real world use.
DevOps term 2: Dark launch
A dark launch usually refers to a partial or incomplete release of a feature or features without any announcement. This under-the-radar release is a way to gather performance and testing data without the pressure of public input, because the features haven’t actually been talked about.
DevOps term 3: Dead code
Code is considered "dead" if it lives in a program but actually doesn’t do anything and/or contribute to results or performance. Generally dead code should be removed as it’s a potential waste of space and computational power.
DevOps term 4: Everything-as-code
Everything-as-code takes infrastructure-as-code and goes one step further: Literally everything is treated as code including the infrastructure, virtual machines, and deployment configuration, to name a few. Everything-as-code is made possible by cloud native, proponents of it say it boosts traceability, repeatability, and testing.
DevOps term 5: Fear-driven development
Forget FOMO, fear-driven development is what happens when project managers raise the stakes by moving up deadlines or laying people off.
DevOps term 6: NoOps
It’s DevOps without the "Ops" or what could happen if automation eliminates traditional ops tasks. Some see NoOps as the highest evolution of a successful DevOps practice while others don’t see it that way at all. NoOps joins a slew of other Ops-related terms including GitOps, CIOps, and more.
DevOps term 7: Rubberducking
This novel way of debugging code was made famous in the book The Pragmatic Programmer. A programmer carries around a rubber duck and discovers that by explaining the code to the duck, line by line, the errors made themselves obvious. Translated for the real world, and practiced at GitLab, it means talking through your code with another developer which helps make flaws or logical errors more obvious.
DevOps term 8: Spaghetti code
If someone tells you your code is like spaghetti don’t take it as a compliment. Spaghetti code is all over the map, often with too many GOTO statements. It’s poorly organized and often lacks any kind of traditional structure.
DevOps term 9: Yak shaving
During a global pandemic when many are working from home, it’s safe to assume yak shaving is happening frequently, and it’s definitely a term that is used outside of programming. In general, it means doing something that leads to something else but has nothing to do with the original goal. Programmers use it to refer to interminable tasks that must be done before a project can move forward, as in, "I’ll get to that once I’ve shaved the yak."
DevOps term 10: Yoda conditions
Code you I will Luke Skywalker. Yoda conditions refers to non-traditionally written code, i.e., code written as Yoda speaks. Once you put yourself in the mindset it’s possible to understand what you’re looking at, but, just like Luke Skywalker experienced, it can take a while to get the hang of this.
Some of these are terms in use at GitLab, but in our research we stumbled across the Coding Horror blog created by Jeff Atwood and we found a few new-to-us terms including Yoda conditions. Jeff refers to his list as the "top 30 Stack Overflow new programming jargon entries."
Cover image by Raphael Schaller on Unsplash
“Does your code exhibit Yoda conditions? Or is it close to baklava or spaghetti? Here’s our lighthearted look at 10 DevOps terms you might not have encountered.” – Valerie Silverthorne
Click to tweet