This week is the Hour of Code, a big push by the nonprofit Code.org to get as many people as possible to set aside an hour to learn the basics of code. Some people argue that everyone, of all ages, should learn to code. As a college student who has this not-so-magical ability, looking at a career in software development, I'd like to share why I think you (yes, you!) should spend an hour seeing what this code thing is all about.
1. To realize that it's not all black terminal windows and Mountain Dew.
In popular culture, coders spend hours with their eyes locked on a black screen with ones and zeros flying and energy drink cans stacking up around them. This is one way to code, but it's definitely not the only way. For one thing, coding in binary is largely a thing of the past -- if you just want to make a website or an app, you're not going to need to deal with binary at all*. So, what do coders actually do? Get a taste of the basics, and you'll find out!
2. To develop problem solving & communication skills
My first CS teacher in college put it best: computer science is about problem solving. Writing code is just a tool we use.
This sounds very nice, but what does it mean?
When you're programming, you have to very explicitly define what you want to do, and the steps that are required to do it. If you tell me "Go to Starbucks and get me a latte," I can probably figure it out. If you want a computer to do it, you'll need to tell it which Starbucks, what size of cup you want, and whether you want whole milk or non-fat. Unless you teach it how to guess, it won't be able to. So learning to program is learning to communicate very explicitly.
Being able to break down a task into manageable sub-tasks is also a really important skill for programmers, from those just learning to code to big-time software engineers. As an example exercise, try writing out the steps to sorting a list of numbers. Which numbers in the list do you move first? How do you decide if a number needs moved, or where to move it? It might sound hard now, but if you learn to program you'll inevitably learn to think through problems like this. This type of rational problem solving can have huge benefits in other aspects of life.
Communication is also a huge part of making software - the lonely programmer alone in the basement is a sad myth. Even if you're physically alone, a programmer is never without resources. Websites like StackOverflow.com offer free, on-demand Q&A from other programmers. Through asking & answering questions, you'll learn to communicate clearly and concisely.
3. As a creative outlet
4. Because it can lead to a great job
It's no secret that there's a huge demand for software developers in the job market, and that developers are rewarded quite nicely for meeting that demand. Anyone can do it, and it doesn't take a super advanced degree to succeed in this industry.
So, why not start now? There's no harm in trying, and a lot to gain if you discover that coding's something you enjoy. You won't become an expert in an hour, but an hour is plenty of time to get your feet wet.
Check out one of these websites:
I love the work that Khan Academy is doing. They even have 3 different tutorials set up to be completed during your hour of code.
I've also used codecademy.org in the past and enjoyed its interactive tutorials, though they're definitely oriented towards a more mature learner.
* Ok, not entirely true. This article has a good explanation of one way binary became relevant to the engineers at Youtube.