“A Mind is a Terrible Thing to Waste.” And yet waste them we do, most often in two ways:
First in Learning, where we accumulate knowledge without applying it and fall down the rabbit hole of endless programming tutorials, ebooks, and courses that you only get part-way through and have nothing to show for afterwards.
And second in Working, in white-collar jobs particularly, where tedious, mind-numbing work is ubiquitous, and it’s par for the course to spend hours wrestling with spreadsheets or formatting reports as your eyes cross and your brain cells liquify.
Combine them, and you’ve got yourself an infinite loop of brain drain. Worse yet, this mind-wasting isn’t even fun! Zoning out on youtube is entertaining at least. But this? This is just plain soul crushing.
So what is there to do? Three things I would suggest:
If you haven’t already, consider learning to code
You don’t have to be an aspiring software developer for programming to be worth learning.
Nearly any repetitive, computer-based task can be automated with the Python programming language, so it might be worth brainstorming things in your life that a computer could do for you (and perhaps much faster and with fewer errors).
In fact, there’s a whole class of amateur programmers I refer to as casual coders that fit this bill. They don’t want to go through a 4-year degree in computer science to get a full-time programming gig. They just want to have fun learning a cool new skill and automate a few boring tasks at the office.
Check out the free Ebook below for all kinds of everyday things a casual coder can automate with Python.
Some of these projects may sound difficult, but many are well within the reach of a beginner that sticks with it.
Make learning and doing overlap as much as possible
You want to be ruthlessly intentional in your education. Learn only those things which
1) can be directly applied to an immediate project of yours, or
2) you are genuinely interested in and enjoy learning.
If you don’t need it or enjoy it, your brain will throw it out the second you’re not paying attention.
Note the difference between the two approaches illustrated below. Which do you think is more effective?
So before you even start learning, come up with a project you actually care about. Not an example project someone suggested online, but something that will be useful or otherwise meaningful to you. Then gear everything you learn towards the completion of that project. Make it your only quest, and take it seriously. It’s almost never too soon. But…
Being ruthlessly intentional doesn’t mean you can’t stop to smell the roses. In fact, enjoying the journey is essential. There are a lot of boring, generic educational resources out there, and you can’t depend on them to drive your interest in the subject. As Richard Feynman once said:
Study hard what interests you the most in the most undisciplined, irreverent and original manner possible.
Again, if you’re not having fun, it doesn’t matter how long you spend studying it. As soon as your back is turned, your brain will dump that knowledge like yesterday’s kale salad.
In particular, make an effort to have fun when you’re just starting out. Most people can’t consistently practice programming for more than a couple weeks. But if you’re working towards a project you care about, and you make the process enjoyable in some way or other, you’re infinitely more likely to succeed.
April Fools’ Day, for instance, is perhaps the single best day of the year for learning to code. Pranks absolutely count as programming projects. In my book at least.
Who This Site Is For
If you’re looking to immediately lay a comprehensive foundation for a career in software development, this site probably isn’t for you. Otherwise, here are the types of individuals I have in mind when writing the material for this site:
- White-collar workers looking to automate repetitive tasks
- Professionals wanting a new skillset to help justify a raise or promotion
- Workers who simply want to keep their options open and not get left behind
- Individuals casually exploring the possibility of a full-time programming career
- Entreprenuers that want a basic grasp of programming to aid in their innovation
- Managers who want to better communicate with tech workers in their company
- Students who want a fun introduction to programming
- People who just think programming is cool and a joy to experience
If you fit into one of these casual coder groups, I encourage you to subscribe to my newsletter and let me know what kind of content would help you the most. I’m all ears.
This Is Where the Fun Begins
Remember that, as Thoreau pointed out, “The price of anything is the amount of life you exchange for it.”
So if you’ve been suffering from repetitve computer-related tasks (or even some that are strictly physical, see the ebook), know that there’s still a chance to regain your time and sanity.
Or if you’ve been interested in learning to code but thought it might be too big of a committment, rest assured that there’s a path for you.
The time it takes to go from zero coding experience to minimum viable profiency and making useful programs is shorter than you’d expect, especially with Python. Not to mention it can be a whole lot of fun too.
You don’t have to know any math beyond arithmetic. You don’t have to get a computer science degree from Stanford. Having a deep, job-related well of hatred to draw upon can help, as barely-fettered rage is the life-blood of work automation. But that’s not necessary either.
All you really need is access to a computer, a project to work on that you genuinely care about, and a little sprinkle of joie de vivre.
So whether you plan to use your soon-to-be-awakened powers to prank your friends, justify a raise, or play Tetris in your cubicle while your scripts do your work for you, I wish you luck on your journey.
As a wise man once said, “Fortune favors the bold.”