Best Practice? Drink!
How to devops your infrastructure to make it more resilient to unknown unknowns while still maintaining an increased velocity
How to devops your infrastructure to make it more resilient to unknown unknowns while still maintaining an increased velocity
I am a software engineer for a company that does consultation to other companies, selling “software engineering as a service”. Consultation is unique in that it suffers from a weird contradiction:
You pay me to know what I am doing, so
In demonstrating to you how wrong you are, I get paid more.
So, it’s possible to end up in this weird condition in which as a consultant you’d be more incentivized to convince people that they’re wrong than develop some bespoke knowledge that actually valuable to the client.
Now, I do not wish to deride anyone who works in a consultation position (after all, this is me) however I wish to point out how this can go a bit wrong. As consultants, we’re forever attempting to grow our base of information so that we can provide better services. I obsessively study, for example, about many technical topics seeking to improve the efficiency and simplicity of the software I design and deploy.
However, we face an information asymmetry: We cannot study all aspects of what we do. Instead, we rely on information that’s published out of large companies determine how best to advise our clients. And those companies excel and drafting this information; they are either in a consulting position themselves, or are otherwise incentivize to publish data that we, as an industry consume. They will publish some work and it will be distributed en-mass, quickly becoming the best practice.
The problem that we have is despite the best intentions of the people who publish the information on which we come to rely, sometimes it does not apply to us. There are many reasons for this, such as a different audience, different requirements or cost-benefit ratio, etc. Broadly, assumptions made when writing the recommendations are wrong.
Accordingly, when we take this advice we still need to verify the advise works correctly for our circumstance! A critical analysis of all changes to existing solutions must be performed. Absent this analysis we are simply investing in proving our clients wrong, rather than attempting to find them the best solution for their needs.
Some years after hearing “best practice” parroted, I have become somewhat cynical. Accordingly, in a parody of the drinking games of my badly spent youth, my first reaction when I am presented with “… and blabla is now best practice” is to shout “Drink!”