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.
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.
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.
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
I am a pipe fitter and I got sick of having to figure out the cut lengths for custom radius elbows. So I downloaded some
Python self starters and wrote a little prof that figured them out for me. Turned out to be way easier than I expected. Now I’ve moved on to design and AutoCAD and currently I am trying to learn autoLISP, API script and Ruby. If I can learn these languages the number of tasks that I can automate would literally be endless.
Hi can a person with no coding experience learn Python from here
Absolutely! I’d also recommend checking out the Python Track.
made my stupid blog more helpful by adding a checkbook log for my mom: http://whenyouknow.uno/sandbox/checkbook
Often there are other programmers out there who have encountered the same types of problem that you have. With the proper understanding, you can easily adapt what they have already accomplished with their open source code to your current problem. The problem can be solved by assembling the proper pieces of code together, almost like assembling a puzzle is how I think of it. I am still very new to programming but already have several ideas about problems to solve using code!
Great Article! I have recently built a simple IOS App for my math class. The app it self is very simple, but the it is a extreme time saver, It calculates the answers of quadratic equations and can also find ac and b when factorising. You can check it out on Github
Fantastic Ozzie! That’s exactly what I’m talking about.
I totally agree, coding improves the way your brain works, for me coding helped me become a detail oriented person, helped think of the consequences before i think about the benefits, i just love coding 🙂
As a full time web developer I have a small part inside that is screaming NO, not everyone should learn to code, but reading through this article (which is very well written) it has opened my eyes a little more.
The main thing I took away from it is that whilst everyone may learn basic programming they are not going to all run with it and become programmers.
There is so so so much more to programming than knowing how to read and write in a programming language. Learning programming is all about learning how to problem solve and then implementing that using a language suitable for the task at hand.
By learning how to do basic programming people will be learning effective ways to solve problems that they come up against like the article says. This is why I fully believe that we should be teaching all children how to write computer programs and really wish that when I was in school I had gotten the exposure to programming that is available to children today.
All of this is very true. Some years ago, I’ve adapted a personal policy to create little utilities for any computer action that I find myself doing more than two times (of course, this also has a downside — I have a bunch of programs that I’ve made that I can’t remember what they’re for or even how they’re used).
I don’t have any recent personal examples, but we had a situation at work just last week. My colleague needed to produce a bunch of personalised websites, PDF documents and e-mail texts that all had to be linked together. Search and replace could’ve worked for ten of these, but we needed over 50 and that would get tedious quickly. Instead, I had him put all the data that needed to change into an Excel table. Thirty minutes of node.js magic later, I had a console utility which parsed the worksheet, generated all the websites and uploaded them to the server. It also created the e-mail texts and PDFs, all neat and tidy.
After that, I spent another hour on that same program, and now we have a tool capable of generating any type of official documents, based on templates (HTML) and simple input documents (markdown, csv). By the end of the next week, it’ll probably end up linked to a database, so we can use it for billing, reports and everything else we need.
Writing small programs can sometimes lead to much larger programs, but that’s not a bad thing. 🙂
Great example Dino. Thanks for sharing.
I’m kind of torn between how I feel about the whole “Everyone should code” philosophy. I think that everyone should dabble in just about anything that could be of interest to them, but I don’t think that it is as imperative that everyone learn to code as it is made out to be. Sure everyone uses computers, but we also all use cars/bikes/live in houses etc where components break. I’m a HUGE DIY person so obviously I am all for everyone learning how to be self sufficient but I think that this huge push for everyone to code is just posturing by politicians to make it sound like there is more of a problem than there really is.
I think it is great though that so many people are starting to reach out to those less privileged to try and get them interested, and I think that matters more than “everyone” learning to code.
Thanks for the comment. I didn’t mean to imply that everyone HAS to learn to code, or that if you don’t learn to code that you’re deficient in some way. I’m just saying that IF you use computers learning to code can help you out in lots of different ways that you might not have realized; and, that even if you don’t become the next greatest programmer, you can still learn enough code to make your life easier.
I totally agree with Dave. Just learning to code doesn’t mean you will be a software engineer right away.
It takes years of training. But learning to code, undoubtedly, will help you in the future. Today, engineers, scientists, mathematician even artist use coding to do something. I am not exaggerating by the way.
You can check out some of the arguments that I have made here:
Love your reasoning’s; however, if everyone knew code, I wouldn’t have a job nor any talent. Haha, though I really can’t stand WYSIWYG Editors, when people edit their site, the code becomes very crazy. Thanks for the recommendation, I do agree that knowing code would make everyone’s life way easier.
I think, learning to code is like learning writing or math. People cant actually make complex stuff or write the best novel, but they know how it works. Understanding a matter doesnt take ones job away, it makes it easier for developers to communicate with their customer!
Well said, Chris!