In a recent episode of a popular tech podcast, I heard the hosts say, “If you can’t automate, you and your career are going to get left behind.” Some form of this phrase has been uttered on nearly every tech podcast over the last few years. It’s a bit of hyperbole, but has some obvious truth to it. IT isn’t slowing down. It’s going faster and faster. How can you possibly keep up? By automating all the things.
It sounds great in principle, but what if you don’t have any experience with automation, coding, or scripting? Where do you get started? Here are three things you can do to start automating your career.
As an IT practitioner, your needs are going to be different from the people in your development org, and different needs (may) require different tools. Start by asking those around you who are already writing code. If a Dev team in your organization is leveraging Ruby in Jenkins, it makes sense to learn Ruby over something like Java. By taking this approach, there are a couple of benefits to you. First, you’re aligning with your organization. Secondly and arguably most importantly, you now have built-in resources to help you learn. It’s always refreshing when people are willing to cross the aisle to help each other become more effective. I mean, isn’t that ultimately what the whole DevOps movement is about—breaking down silos? Even if you don’t make a personal connection, by using the tools your organization is already leveraging, you’ll have code examples to study and maybe even libraries to work from.
What if you’re the one trying to introduce automation to your org or there are no inherent preferences built in? Well, you have a plethora of automation tools and languages to choose from. So, how do you decide? Look around your organization. Where do you run your apps? What are your operating systems? Cloud, hybrid, or on-premises, where do you run your infrastructure? These clues can help you. If your shop runs Windows or VMware, PowerShell would be a safe bet as an effective tool to start automating operations. Are you in information security or are you looking to leverage a deployment tool like Ansible? Then Python might be a better choice.
Time after time, talk after talk, the most effective advice I’ve seen for how to get started automating is: pick something. Seriously, look around and pick a project. Got a repetitious task with any sort of regularity? Do you have any tasks frequently introducing human error to your environment, where scripting might help standardize? What monotony drives you crazy, and you just want to automate it out of your life? Whatever the case may be, by picking an actionable task, you can start learning your new scripting skill while doing your job. Also, the first step is often the hardest one. If you pick a task and set it as a goal, you’re much more likely to succeed vs. some sort of nebulous “someday I want to learn x.”
The people in your organization can be a great resource. If you can’t get help inside your org for whatever reason, never fear—there are lots of great resources available to you. It would be impossible to highlight the community and resources for each framework, but communities are vital to the vibrancy of a language. Communities take many forms, including user groups, meetups, forums, and conferences. The people out there sharing in the community are there because they’re passionate, and they want to share. These people and communities want to be there for you. Use them!
First Things Last
When I was first getting started in my career, a mentor told me, “When I’m hiring for a position and I see scripting (automation) in their experience, I take that resume and I move it to the top of my stack.” Being the young, curious, and dumb kid I was, I asked “Why?” In hindsight, it appears his answer was somewhat prophetical in talking about the DevOps movement to come: “If you can script, you can make things more efficient. If you make things more efficient, you can help more people. If you can help more people, you’re more valuable to the organization.”
The hardest and most important step you’ll make is to get started. If reading this article is part of your journey to automating your career, I hope you’ve found it helpful.
PS: If you’re still struggling to pick a language/framework, in my next post I’ll offer up my opinions on a “POssible SHortcut" to start automating effectively right away.
PPS: 12December update. I decided that it was hypocritical of me to offer up this advice and not follow it myself. I've written a companion piece for my blog where I detail out how I follow my own advice to tackle a challenge in my day job. Automate The Auditors Away - Veeam Backup Report v2 just went live this morning. I hope you find it useful.