I’m so glad I know how to code. It’s one of the great joys of my life that I learned at an early age, introduced to programming by my mother, one of the first “power users” of her generation. My mom wasn’t a trained programmer, but she had a logical mind and just happened to be in the right place to absorb and revel in the pleasures of code writing back in the early 1980s.
Through my mom, I met some of her early mentors and one in particular, became a mentor mine, too. I was in high school when Fred Kelley introduced me to dBase and later to Turbo Pascal. I never thanked him for changing the trajectory of my life. I can still conjure up the excitement I felt when I made my first program work. There was a time when I was obsessed with learning new programming languages, both the large and popular ones, like C++ and Java, as well as the small and quirky ones, like Smalltalk and AWK. Even today, when a new language like Apple’s Swift makes its debut, I’m inclined to learn at least a little bit about it.
Learning to program made me successful professionally, but more importantly, learning to program—to see problems and address them with code—has always given me a sense of accomplishment. Practically speaking, it has made me more productive. But more to the point, it has given me a sense of pride, one that I enjoy even now when I see the results of my efforts.
Everyone can code a solution
Throughout the years, as I have watched people in their daily office work, I have found myself thinking how much easier (and likely how less tedious) their work would be with the benefit of some simple code.
Take, for example, the analyst who receives data in a spreadsheet but wants to combine it with data elsewhere or summarize it in a different way. Or consider the assistant who methodically copies and pastes photos of receipts into an expense tracking system. These mundane, everyday chores, and hundreds more just like them, needn’t be done manually.
For most non-technical people, however, the mere thought of coding is daunting, cloaked in a kind of mysterious veneer. But the kind of coding I’m thinking of shouldn’t be daunting. It’s not mysterious. It should be easy, because if you can make a list, you can solve a problem with code.
Of course, I’m thinking of coding in a very broad sense. It doesn’t mean mastering unit tests or employing the latest buzzword-laden framework. It doesn’t mean learning complex math or understanding bits and bytes. Those skills have their value and their place, but not in this context. The coding I’m thinking of is the ability to craft a solution by applying a repeating set of steps. And it’s even better when the solution you build can be smart enough to adapt to some changing conditions.
Where do you begin? Often the choice is right in front of you.
Modern programs like Microsoft Excel have coding solutions in the form of functions and macros baked right in. Automation tools, such as Keyboard Maestro on the Mac OS X platform, make it simple to record the steps to complete a task once and then let’s you replay those steps back at lightning speed. The Python programming language, while remarkably flexible, is easy to learn and supported by thousands of free extensions. Odds are, someone else in the world has faced a problem similar to the one you’re trying to solve and their solution is bundled into a Python module you can use, too.
The start of something big
Once you see the benefits of code solutions to scratch an itch, you may want to tackle even larger problems. Success with smaller projects may lead you to experiment with more complex software development. Or, maybe it won’t. Either way, developing even small solutions in code will make you more productive, expose you to new ways of thinking, and hopefully leave you with that wonderful sense of accomplishment I still enjoy after all these years.