There is one thing I regret not doing sooner during my automation journey, and that is adopting Git and a proper IDE/text editor that has built-in source control management. I personally use Microsoft Visual Studio Code, as it has Git built in and has many great extensions to validate code syntax.
At the time, I was a little overwhelmed with all the technology I had to learn or re-learn. Git took the wayside, unfortunately... but once I adopted Git in my daily practice, I realized the benefits of treating Infrastructure as Code, as did the clients I worked with.
Mastering automation concepts, making a consulting practice out of deploying them, and sharing them with the customers seems to be a pretty common theme. Mark Prior talked about a similar approach during his presentation on February 13.
Without leveraging Git, the Ansible playbooks I developed were just another scripting language the teams had to learn (although a very powerful one), but once I started demonstrating Software Development Lifecycle (SDLC) techniques to the infrastructure teams that was the real game changer! It actually made us faster at developing new scripts/code and enhanced the collaboration between us.
I’ve been focusing a lot lately on applying SDLC techniques to manage Infrastructure as Code and using the Agile framework and branching strategies to achieve change as opposed to traditional RFCs. Because automation isn't about building a button to press when it's time. It's about creating an automation framework that automatically adjusts the infrastructure to your definition of it!