Why everyone should learn to code
If you’re planning on creating an Android app, then you should of course learn to code. While it is possible to create apps using other means, building it yourself will give you by far the most flexibility and control over the finished product.
But that is only one of many scenarios where learning to program is hugely beneficial. App or no, it is my belief that everyone can benefit from learning to code. Programming is like a superpower that allows you to do all kinds of amazing things, while simultaneously being highly rewarding and great for your brain. Allow me to try and persuade you…See also: Writing your first Android app – everything you need to know
Learning to code lets you build tools
The first thing I’m going to do to try and convince you that coding is worth your while, is to show you this other guy telling you why coding is worth your while…
In this TEDx talk, Christian Genco explains his views on why you should learn to program. The main argument he puts forward is that you can use coding to do anything better. He recounts a story from Reddit about a guy who was hired to do some large data entry task. What did the guy do? He wrote a script that would handle the data entry for him and thereby save him countless hours. He was in a room with a team of other guys who were also employed to do the very same thing and in a matter of hours he had rendered their jobs obsolete.
Okay, so that story didn’t end well for his new colleagues but the guy undoubtedly would have been able to sell that piece of code to the company for a rather princely sum!
And this isn’t all that rare either – I’ve actually used similar strategies in my own coding career. As a freelance writer, I was once hired to write titles and descriptions for hundreds of web pages selling different products. For each page, I had to create a title and a description that would include the product name, the quantity and the price. So again, I wrote a program to do it for me. The script took about an hour to write but it completed more than 20 hours of work. I earned several hundred GBP in the space of an hour, all thanks to programming!
And once you learn to code you’ll find there are tons of situations just like these. Countless times I’ve written programs to carry out little random jobs for me (like sorting numbers or lists), a friend even made an app for their Christmas quiz! We’re all different and we all find ourselves in unique situations where we could use a tool that no one else would ever find useful. As a programmer, you can build that tool and complete all kinds of work more quickly and efficiently.
Think about your own career. What part of your work flow could be made faster and more efficient with the right piece of software? Could you make your own job obsolete? As Christian suggests, we need more coders in other lines of work to help streamline and automate other industries.
Don’t assume that coding means making an app for other people – sometimes it means building something you need. Of course sometimes that does mean you accidentally create the next YouTube or Feedly…
It’s good for your brain
Programming is also good for your brain. In this study programmers scored an average of 16% higher across a number of different cognitive tests as compared with non-programmers. There are plenty more examples of studies with similar results.
Programmers scored an average of 16% higher across a number of different of different cognitive tests.
There is some dispute over precisely which parts of the brain are used most during programming. Some theories say that it is more similar to using languages, whereas others liken it to using math. Recent brain imaging scans of programmers meanwhile, suggest that the areas used are those associated with language processing, working memory and attention, including the ventral lateral prefrontal cortex.
(What’s often missed out in these studies though is just how varied programming tasks can be. Working on a huge project as part of a team trying to find bugs is very different from being a solo app developer.)See also: I want to develop Android Apps – What languages should I learn?
Either way, this is highly challenging work that really requires you to think abstractly, solve problems and concentrate for extended periods. As ‘brain plasticity’ dictates, the more you use specific areas of the brain and specific skills, the more those areas develop and our skills improve. Conversely, if your work requires you to carry out the exact same actions day in and day out, then those abilities not being used will wane and the related brain areas will atrophy. Coding is generally agreed to be good for the cognitive development of children and it’s probably safe to presume it has neuroprotective properties as we get older too. If your job no longer challenges or stimulates you cognitively, then programming is an excellent pastime to keep your mind limber!
Leaving the neuroscience aside for one moment, programming also simply teaches you to think in a different manner. Programming requires you to be resourceful, to handle abstract concepts and to apply ‘systems thinking’. It presents the kinds of problems that we rarely face otherwise and prepares us to approach challenges in all walks of life in a far more efficient manner.
Or as Steve Jobs put it: “Everyone should know how to program a computer, because it teaches you how to think”
It’s highly rewarding
This one you’re really going to have to experience for yourself… but another amazing thing about programming is how rewarding it is.
Coding allows you to imagine something you want to create and then see it slowly emerge in-front of you as a result of your own ingenuity and problem solving skills. Every time you fix a bug or add a new function, you get a real sense of accomplishment and a rush of dopamine. Likewise, there’s nothing quite like seeing your friends playing the game you made, or better yet, seeing someone on the train using the app you released!
And it’s not just the results that are rewarding either. Coding is actually rather addictive in itself once you get into the flow because it has such a tight ‘feedback loop’. Each time you make a change you can test your code and see how it affected it and this makes it very hard to switch off at the end of the evening. You’ll always want to get one more thing working or fix one more bug.
Believe it or not then, programming is fun once you get the hang of it in the same way that playing games is fun. And it kind of feels… futuristic, too. Add a cool keyboard, caffeine, a pair of headphones and some really awesome music and you’ll be ‘wired in’ in no time.
It’s a great career move
And finally, let’s not dance around the fact that learning to code is an excellent career move. Not only is there the possibility of creating that world-changing app as an entrepreneur; you’ll also find it helps you to land any job you can think of (near enough).
A lot of people in their mid-twenties are whining at the moment about being born ‘too late’ for the digital revolution. Saying that they missed the opportunity the younger generation had by being raised around tablets and smartphones and thus are being overlooked for all the best jobs.
The number of jobs that require basic programming abilities will only increase
But there’s nothing stopping you from learning to code right now (and actually, being brought up in a time of ZX Spectrums and Tatung Einsteins was far more conducive to learning to program). The number of jobs that require basic programming abilities will only increase and even jobs that don’t directly require programming skills will benefit from the ability. Tell your potential employer that you’re also capable of creating a web app for them and you probably just put yourself ahead of the competition. If you want to progress your career and turn yourself into a viable candidate for a raise, learn to program. And if you want to avoid your job being taken by a robot in ten years? Learn to program!
So there are tons of reasons that learning to code is an excellent idea… pick one! Even if you don’t have an idea for the next big mobile app, just have a play with it and you might be surprised by how rewarding and enjoyable it is. And once you know how to code, a ton of uses will present themselves. Guaranteed.
How about starting here?