Lots of people get into programming because they love the challenge, are excited by computers and want to build a career creating websites, mobile apps or desktop programs. But even if you don’t want to become a programmer for a living, it’s still worth your time to learn how to program. I mean this in all seriousness: if computers are at all a part of your life, then learning to program is going to improve your life.
And I don’t mean in that sort of nebulous, “improve your mind,” “expand your thinking skills” and “make you a better person” sort-of-way. Learning to program can make you more productive, efficient and effective.
Here’s a real-world example: one of my colleagues at Treehouse is a video professional who films and edits courses for our site. In the process of preparing a course, Wade needs to deal with many different files — video, audio, motion graphics, and more. Because he’s very organized, he creates a set of folders to organize these materials by type, lesson and course. This requires dozens of new folders for each project.
He used to create each of those folders manually for each project. Then he took our Python Basics course, and with a little additional research created a simple script that creates all of the folders for him. This program asks where to create the folders, the name of the course and the number of lessons in the course. It then creates dozens of folders, all properly named for a specific project. What used to be a tedious chore, is now a simple three step process that takes just seconds to complete. He’s not a programming professional, but he’s using programming to make his work easier.
Many of the programs people use everyday can be programmed in some way. Excel, for example, lets you create simple macros to aid in creating and working with spreadsheets. Many Adobe products like Photoshop, Illustrator and After Effects can be automated using JavaScript programming. The Macintosh operating system also lets you automate some of the features of the computer using AppleScript and — starting with the Yosemite operating system — JavaScript. There’s probably some application you use daily that, if you learned to program, could help you do your work better and faster.
I program all sorts of small utilities that help me get my work done each day. For example, one weekly report at work provides various data about my courses — it’s an HTML table full of data. I wanted to see that data in a different way, so I wrote a small bookmarklet (JavaScript code that you can run on any page in a web browser) that reads the data from the table, displays a new column of stats and color codes the results. This helps me to better see how my course is doing.
Here’s another example — one particularly annoying form that I have to fill out dozens of times a month requires that I click several buttons, one after the other, in order to complete a task. Another teacher here at Treehouse, created a bookmarklet that clicks all of the buttons with one command — saving me a lot of mousing around and clicking. An easy program to write, but a big productivity boost for me.
I have dozens of these types of programs that I’ve written. Some take less than an hour to write, but will probably end up saving me dozens of hours of frustration. I even wrote a program to solve one of our video production problems: teachers often use teleprompters which display text on a mirrored surface in front of a camera.They help teachers remember their scripts and deliver their presentations without errors.
The problem is that most teleprompter software isn’t very good, and it isn’t free. So, using HTML, CSS and JavaScript I created my own teleprompter in less than a day’s worth of programming. I found an itch, and used my programming skills to scratch it.
But more than just solving daily work problems, programming is fun. It’s problem solving at its best. And, though creating something like Facebook might require a lot of programming experience, these simple programs I’ve talked about here don’t. In fact, it’s really fun to come up with a program — no matter how simple — to solve an every day problem.
In other words: you don’t need to dedicate your career to programming to add programming to your career. Start learning a language like Python, JavaScript, Ruby or Java today and you could very well be making your life easier, while having fun doing it.
What small programs or coding projects have you created to make your life easier? We’d love to hear about them. Maybe we need to use it here at Treehouse