There are scads of articles talking about whether or not you should or shouldn’t learn to code. Most articles talk about the great career opportunities, the flexibility, the pay, creativity, and all that. However, they’re missing something important: not everyone wants to work in technology. Not everyone WANTS to be a developer. I’m of the firm belief that the best devs are the ones that can’t help but write code. They’re working on side projects all the time, learning new technologies and methods, all that. If you aren’t naturally inclined to do that, then working as someone slinging code on a daily basis probably isn’t your bag.
But, that doesn’t mean you shouldn’t know some code.
Recently, a programmer posted on StackExchange asking if it was unethical that he’d automated away most of his job. According to the post, he works a couple hours a week, spending the rest with his son at home (he already worked remotely). I won’t debate the ethical considerations with automating your job and not disclosing this to your employer, but, this example illustrates an important point: learning code isn’t always about building sites and apps, sometimes, it just helps you do your job better.
The Reward of Automation
In nearly every single occupation, there’s some degree of menial, repetitive work. You might be reformatting spreadsheets and cleaning up data, organizing lists of people, or perhaps you spend much of your day surfing the web collecting articles, links or other assets that might be used somewhere in your organization. Regardless of whether or not you work in technology, these repetitive, menial tasks are likely happening regularly. Most people take for granted that this is just “part of the job”. Sure, it’s boring, but that’s life. Not everything is exciting. I’ll just manually copy these 541 rows of data.
This is where a little bit of coding knowledge changes everything. If you can write a small script, you can take that repetitive task and do it faster, better, and with far greater accuracy…and you’re not bored to death. As humans, we should spend more of our time thinking, and less of our time doing manual work. Computers are better at that, let them do it.
Another benefit of this kind of automation is accuracy. Let’s be real - people make mistakes. Even with the most rapt attention, you’re likely to screw something up. Computers don’t. If you’re able to write a script that handles the cases you need it to (much easier than you think for most things), you take this messiness out of the equation.
The ROI of Reuse
I hear this argument a lot: “In the time it took you to write that script, you could have just done the work”. Maybe. That could be true in some cases, but it’s missing a huge piece of the puzzle: reuse. Many times, the work that you do is repetitive, not just for that task, but over and over again. Cleaning up the formatting on that spreadsheet export? Probably something you do weekly. Sure, writing a script to do it for you might take a day or so, but the amount of time you save over the aggregate far outweighs that initial investment. In nearly all cases, automation ends up returning far more time than initially invested.
Not just that, but your work is now reusable across the organization. Got a colleague doing the same task as you? Send them the script, and they’re now saving that time and doing the job more accurately. The ROI of reuse is huge.
So, What to Learn?
It’s cliche’, but it’s true: stop working harder, and start working smarter. Learning to automate parts of your job is one of the best ways to do just that. Next time you find yourself doing another repetitive task, stop and ask yourself if a computer should do this for you. Most of the time, the answer will be yes.
Do you have any stories of automation? Written any scripts that shaved hours off your workday? Share your experiences in the comments!