The Real Reason to Learn to Code


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?

First up, let’s get this out of the way. You’re not becoming a programmer. You’re not learning to build apps or full-fledged systems (unless you want to, but that’s a whole different conversation). You’re writing scripts. Learning a language like JavaScript and some basic programming concepts (if/then, loops, variables), can take you a LONG way. There are packages out there to help you do everything, from formatting and creating spreadsheets to scraping the web. Plugging these together in a simple 30-line script can save you hours of work down the line, and create valuable piece of infrastructure for your company, should they choose to build on it.

If I were just starting out on this path, I’d go straight to JavaScript, learning enough to do some simple tasks (try taking a spreadsheet, and capitalizing all the names in the “First Name” column), and start to build from there. Yes, you’re learning to code, but not for the reasons everyone else says. You’re learning to code because you can make your own job easier and higher quality.

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!

Related Posts

Announcement: The Most Exciting Thing I've Done

Today, I'm announcing the most exciting project I've been involved with. It's called CrowdSync, and it helps to automate paperwork, communication and logistics when dealing with groups of people. Read on for why this is so big.

How to Post to Private Slack Channels from Zapier

If you automate posting to Slack via Zapier, you might need to post to a private channel. It's not entirely obvious how to do it, but actually pretty damn easy.

Sharing is the Currency of the Web

You consume free content all day on the web. The best way to pay back the people creating it? Share it.

The Magic of Low Fidelity

High-fidelity documentation is great, but it has a hidden dark side. Learn to embrace low-fidelity documentation, and you'll be amazed at the benefits.

Why You Should Blog More (Data)

When you stop blogging, people stop coming. Simple enough. Here's the proof.

Using a Linter Will Make You a Better Dev

Using a linter while you write code won't only make your code better formatted, it'll make you a better programmer.

Everyone Is Self Employed

The idea that you're not self-employed if you work fulltime somewhere is wrong. EVERYONE is self-employed.

Review: Keto Diet

I recently gave the Keto (Ketogenic) Diet a try. Suffice to say...it works.

You Don't Need to Get it All Correct Immediately

Too many people wait on shit to be perfect. Get it close, leave out some stuff, and set yourself up to quickly iterate.

Using Foundation 6 in Angular 4 (or 2)

How to use Foundation for Sites 6 in Angular 4 (or any version 2+)