
Learning how to code is fun, but did you know you get a ton of other benefits from it too? Systems thinking, problem-solving, and marketable skills improve when you learn coding. Should you learn coding, and why?
In this tutorial, we’ll discuss a few reasons why it’s a smart idea to learn programming. Here’s what we’ll get into:
We’ll not only focus on programming as a profession, but also on the synergies you’ll find in jobs not directly related to software development. The influence of automation stretches far and wide, so we’ll also strongly focus on the benefits of learning how to code in everyday work.
Ready? Let’s go.
Programming, or coding as it’s often called, is the activity of telling a computer what to do. You typically code with words, in a specialized syntax, that are executed by a computer to produce a desired result.
Here, check this out:
[sandbox]
for i in 1…10
{
let result = i * 7
print(“\(i) x 7 is \(result)”)
}
[/sandbox]
The above code will print out the multiplication table of 7, i.e. “8 x 7 = 56”. It does so by repeating a set of instructions 10 times. This is called automation.
A fundamental principle of programming is repetition. You need to be a little bit lazy if you want to become a good programmer! We’ll code it once, and repeat it an infinite number of times…
Computer code is executed line by line, from top to bottom. The code will often “jump around”, for example when we’re calling a function. Functions, and other abstractions, help us to define code that’s easy to read and maintain. Other building blocks of code are classes, types, and conditionals.
Speaking of conditionals – let’s move on to IFTTT…
You can play around with the code in the above editor. Give it a try! Change the code and then click Play. The programming language we’re using is called Swift.
You’ve probably heard that phrase before: “If this happens, then do that.” They’re called if-statements in coding, and computer code is full of them. Your code makes decisions based on input – all day every day.
Here’s the anatomy of an if-statement:
if expression {
do this
}
In the above code, we want to take action if a certain expression is true. A few examples:
if userIsLoggedIn == true { ···if tweet.liked == false { ···if status == .disconnected { ···Once you understand how if-statements work, you see them everywhere. You start to recognize that computer systems continually evaluate parameters to take decisions. Now that you know this, you can debug these systems to figure out what’s going wrong.
Moreover, a few upcoming services are focused entirely on processing if-statements. You can use tools like Zapier, IFTTT, Automate.io, Integromat, Workato and Flow to create elaborate workflows that take action based on automated input. You can use any of them if you know how an if-statement works.
Ready to learn how to code iOS apps with Swift? Check this out:
When you’re learning to code, and writing a program, you don’t have to start from scratch every time. We’ve got libraries of code you can use, called Software Development Kits (SDKs).
And there’s more…
See where this is going? If you’re learning how to code, you’ll learn to recognize that code consists of systems upon systems upon systems that interact with each other. Systems thinking helps you better understand the world around you.
The cool thing is that you don’t have to understand 100% how a system works, in order to use it. You can download a web-based resource in your app without knowing exactly how HTTP works. Thanks to abstraction, you can code productively fairly quickly.
At the same time, when learning how to code, you’re presented with many opportunties to dive deeper into a topic. It’s intriguing to learn how the internet works, and what happens when an HTTP request is sent. You can then apply abstractions you’ve learned to new domains. This helps you increase your understanding of systems – and that’s a skill that’s beneficial everywhere.
An upcoming category in software development are the so-called low code (or no code) platforms. With a no code platform, you can build apps, websites, software and more writing a single line of code!
How do they work? Most low code platforms have a visual editor, in which you can build scenes, pages or app screens. You can combine different building blocks and integrate them with each other, to build an application. The purpose of the app is the same as any other: take input, and provide output.
The concept of low code isn’t new. Think about Microsoft Excel, a spreadsheet program (or Google Sheets, or macOS Numbers). Within a spreadsheet, you could use dozens of predefined functions to transform the spreadsheet’s values. You could, in fact, build entire programs with it! From budgeting to taxes to planning, anything can be automated in a spreadsheet.
If you’ve got these tools, why should you learn to code? It’s simple: low code tools are based on the same building blocks as actual computer code. They evaluate user input and take action based on it. Once you grasp those fundamental concepts, working with low code platforms becomes much easier.
Learning is a skill in and of itself, too. Let’s discuss that next.
Coding is a valuable skill to pick up, but you also gain something by learning. You learn to learn a new skill. (Read that sentence again!)
When’s the last time you learned something new? Chances are, if you don’t have a learning mindset, that your skill of learning is a bit rusty. Learning how to code will help you master the meta-skill of learning itself.
A few examples:
A learning mindset is best cultivated by learning something new. Why not learn how to code? You can apply your meta-skill of learning to different domains next, and learn a new language, how to cook, or to play a music instrument.
It’s fascinating to see what synergies emerge, when you focus on learning how to learn. You’ll start to see patterns within different skills (and systems).
Take reading music, for example. Those notes, they look an awful lot like code, right? And the ingredients you need to cook dinner, aren’t they the same building blocks you use to code program’s desired output? It’s like coding dinner!
An often heard benefit of learning how to code, is that learning coding improves your problem-solving skills. But how does that work?
The activity of coding, and building software, is essentially solving one problem after the other. First, you gotta figure out what you’re going to build. You discover that you don’t have the required software. You try to install the tools, but you see an error message appear on your screen.
What do you do? You type the error message into Google and you start to read through potential solutions. You try a few of them, and use the results to refine your Google search. Finally, you’ve found a working solution, and you successfully install the required software. Neat!
This is problem-solving. Coders do it every day. Googling is part of the job description! And so is using other tools, like debuggers and logging, to figure out what’s going wrong in a program’s code.
Learning to code improves your problem-solving skills, because coding consists for a large part of solving problems. Finding out why an error or bug happens helps you understand how a system works, and that helps you prevent errors in the future. This accumulation of problem-solving skills and insights is what makes software developers valuable.
If you look around in the App Store, you notice two factors that successful apps have in common:
An app is nothing more than a graphical user interface around the solution to a certain problem. A few examples:
When you break down software applications to mere solutions to problems, a mindshift happens. You can use coding and building apps to solve your own problems! You can either solve them entirely, or automate an existing solution.
When you combine this insight with the ability to enroll others in your newfound solution, you’ve found a powerful approach to changing the world around you. You can launch, promote and market your solutions to problems – your apps – and help others benefit from your work. And that’s pretty cool!
Awesome! We’ve looked at a few different reasons why you should learn coding. Here they are once more:
Want to learn more? Check out these resources: