Computers Working for You

Working in IT, a lot of what we do boils down to using a computer to perform a certain task.

In your job you might create user accounts, configure the network, install software, backup existing data, or execute a whole range of other computer based tasks from day to day.

Back in my first IT job, I realized that every day I came into work I typed the same three commands to authenticate into systems. Those credentials timed out everyday by design, for security reasons, so I created a script that would automatically run these commands for me every morning to avoid having to type them myself. Funny enough, the team that monitors anomalous activity discovered my little invention and contacted me to remove it, oops.

Tasks performed by a computer that need to be done multiple times with little variation are really well suited for automation, because when you automate a task you avoid the possibility of human errors, and reduce the time it takes to do it.

Imagine this scenario, your company had a booth at a recent conference and has gathered a huge list of emails from people interested in learning more about your products. You want to send these people your monthly email newsletter, but some of the people on the list are already subscribed to receive it. So how do you make sure everyone receives your newsletter, without accidentally sending it to the same person twice? Well, you could manually check each email address one by one to make sure you only add new ones to the list, sounds boring and inefficient, right? It could be, and it’s also more error prone, you might accidentally miss new emails, or add emails that were already there, or it might get so boring you fall asleep at your desk. Even your automated coffee machine won’t help you out there.

So what could you do instead? You could get the computer to do the work for you. You could write a program that checks for duplicates, and then adds each new email to the list. Your computer will do exactly as its told no matter how many emails there are in the list, so it won’t get tired or make any mistakes. Even better, once you’ve written the program you can use the same code in the future situations, saving you even more time, pretty cool, right?

It gets better, think about when you’re going to send these emails out, if you send them out manually you’ll have to send the same email to everybody, personalizing the emails would be way too much manual work. If instead you use automation to send them, you could have the name and company of each person added to the email automatically. The result? More effective emails, without you spending hours inserting names into the text. Automating tasks allows you to focus on projects that are a better use of your time, letting computers do the boring stuff for you.

Learning how to program is the first step to being able to do this, if you want to to get computers to do the work for you, you’re in the right place. Earlier in this video I told you about the first task I ever automated, now I want to tell you about the coolest thing I ever automated.

It was a script that changed a bunch of access permissions for a whole lot of Google Internal Services. The script reversed a large directory tree with tons of different files, checked the file contents, and then updated the permissions to the services based on the conditions that I laid out in the script. Okay, I admit I’m a total nerd, but I still think it’s really cool.

Next up, it’s time to share your ideas. What things would you like to automate using programming? While these discussion prompts are optional, they’re really fun. Seriously, they let you get to know your fellow learners a bit, and collaborate on ideas and insights. Make sure you read what others are saying, they may give you ideas that you haven’t even thought of.

After that, you’re ready to take your very first quiz of the course. Don’t worry, it’s just for practice.