In the world of programming, there’s something known as a “loop”. Loops are great because, with a few simple lines of code, they can command your computer to do a limitless amount of work. They force your computer into a repeating cycle of manual labor that you, the programmer overlord, benefit from. Boy, aren’t loops great?
Well, for programmers, sure. Programmers are the ones in charge. The masters. The trouble with loops starts when you aren’t the creator, but the one doing the actual looping. If you have any sort of office job, you are likely entangled in multiple loops. Sending out the same emails day after day. Pulling data from the same source every week. Formatting a monthly report. There’s no end to the insidious loops that arise in office environments.
And if you’re stuck in some of these loops, you know just how insidious they can be. Instead of allowing you to exercise your creativity and critical thought, they require nothing more than lifeless, prescribed procedure. They stupefy and lull you into a state of apathy as time passes by in a blur of indistinguishable experience. You neither learn nor grow nor position yourself for promotion. You simply loop.
So what can be done to awaken from this bureaucratic, Kafkaesque nightmare of ours? Find a new job? Go back to school? Start a business? These are all potentially viable strategies. However, I would like to suggest something a bit less dramatic. No major life-changes required. Very simply, I suggest learning to automate your work with Python.
If you aren’t familiar, Python is a popular programming language with an endless variety of uses. And for someone with little-to-no programming experience who’s looking to automate their work, Python is ideal because:
- It’s generally somewhat easier to learn than many other languages.
- It makes it easy to quickly write and test short scripts, perfect for taking your skills to the point of usefulness as fast as possible.
- It has a huge community with many packages (collections of code) to make it easier to do almost anything you can think of.
- It’s widely used and in high demand, and thus opens the door for all kinds of opportunities later on down the road.
Hopefully at this point, Python is starting to look pretty attractive. But what’s the catch? Well, here are a couple concerns that often arise:
- How feasible is it really to learn programming when you’re a busy professional working 40+ hours a week? And not just learn the basics, but learn to actually do useful things?
- If you automate the bulk of your work, won’t you be out of a job? Wouldn’t replacing your big expensive human self with a cheap little script be a fundamentally stupid thing to do?
First, it turns out that you don’t need to be a programming whiz to do useful things. In some extreme cases, I’ve even heard about someone’s entire 40 hour-per-week job being automated in under 50 lines of fairly basic code. Here’s an example of automating a government database query that fits comfortably in under a hundred lines. Nothing too fancy. As long as you’re comfortable with the basics, I guarantee you there’s an ocean of work out there waiting for you to automate it.
Second, if you automate your work, in all likelihood you will actually have more work to do. How? Let’s say you automate a query like in the example given above. You show this to your boss, who then asks if you can automate 3 other similar queries performed on a regular basis. A website then changes its structure and your code breaks, so now you have to update it. Then your coworkers come up with 5 other mindless tasks of theirs that could be automated. And after a while, as your skills improve, you start coming up with ever more creative applications of programming that you yourself are happy to provide your company with. And now you are off to the races.
You still have a lot of work to do, to be sure. But it’s more interesting than what you were doing before. You are learning something new with every script you code. You are building the foundations of a highly valuable skill set in today’s economy. And most importantly, you have broken out of the loop. You now have some measure of control over what you do, or at the very least how you go about doing it. And when you tally up all the hours your programs are saving the company, you’ll have a convincing case to make for a raise. Or if you want to switch jobs, you now have a skill and actual experience applying it which differentiates you from your peers.
Of course, there’s always what I call the Tetris Strategy, which is where you automate all your work, don’t tell anybody, and pass your newfound free time mastering a classic and timeless video game in utter secrecy. I wouldn’t necessarily recommend this route, but if you want to try and pull it off, more power to you my friend.
Whatever you do, don’t be content with wasting your mind on soul-crushing drudgery. The office worker’s intellect has been raked over the coals of bureaucratic oppression for far too long. Let tedium be your nemesis, and Python the sword which you mercilessly drive through your enemy’s heart. And should you falter, know you have a massive community of fellow pythonic rebels spread across the web to come to your aid (and feel free to email me any time).
To quote Marx (no, not Groucho), “Workers of the world, unite! You have nothing to lose but your chains!”