3 ms·
We were always doing things by hand. I was the only one doing any kind of IT automation, and I failed to account for the learning curve of my tooling when tryi
by xenophonf 6y ago
We were always doing things by hand. I was the only one doing any kind of IT automation, and I failed to account for the learning curve of my tooling when trying to expand its use. At least now, the entire team—not just me—is doing a better job of documenting what they're doing by hand.
The reality is that devops toolchains are really complex. For example, to use SaltStack the way I had things set up, it meant learning:
- SaltStack's domain-specific programming language, which amounts to writing Python in YAML
- their macro preprocessor, Jinja, which has completely different syntax and semantics than their DSL
- a programming text editor that supports YAML and Jinja
- Git and GitHub
- secrets management (and there were huge risks here)
- the general concepts of IT automation and infrastructure-as-code
Learning (never mind teaching) that tech stack is really hard. For example, the Google IT Automation with Python certification on Coursera is an 8-month-long course. That's just one bullet point on the above list, and that list doesn't include all the things I wanted to do on top of SaltStack, namely the continuous integration/continuous testing stuff, which would involve learning:
- the Chef InSpec DSL, which is based on Ruby
- branching and tagging
- release engineering
- test-driven development as a software engineering methodology
- software engineering methodology in general
We were struggling with even just writing good documentation, but there I was asking everyone to write good code. That's orders of magnitude harder. It was too much, like asking somebody to run a marathon without any training. I don't care how fit you are. That's just not going to happen.