Tuesday, January 21, 2020

Understanding versus working state

I'm noticing a prevalent trend in development, and particularly DevOps as a new discipline that is very problematic.  It seems that most developers (and operations folks/DevOps folks), are valuing working state over systemic understanding.  That is, people at the command line will continue to cut and paste solutions from Azure documentation, or StackOverflow until it works.  At the end of it; they probably won't have much of an idea of why it's all working.  This leads to a system that is very fragile.  It works today, but tomorrow could bring breaking changes, and nobody will have any idea why they broke the system, or how to fix it!

I'm noticing that the increasing trend in online documentation is to present solution based documentation, which is useful in a pinch, but ultimately very counter-productive.  The same is starting to be true of books now too, if one even exists in the domain you're looking for that isn't just a reprint of the online documentation, and thusly has very little explanation.

So I'm going to do my best here to write up an account of working into a new Azure account, and getting things working.   As a developer/CTO who is interested first and foremost in system longevity , and reproducibility; I will focus not just on code examples but also on explanation of what is going on (as far as I understand it).