Learn programming: Reasons and resources

Learn how to have superpowers!

Alejandro Sobko
devartis

--

Most people think that software programming is a difficult area, something for geniuses, an activity that you can only do if you were born surrounded by computers. But software programming is available to everyone, and you should give it a chance.

Photo by Jake Sloop on Unsplash

Why?

Make things from scratch

With software programming you can create things just seated in front of your computer. You can create a website, a script to automate a repetitive task, a big system (yes, with effort and time, you can do it) or whatever you want. And it is really motivating to build things just with code!
Just pick a goal, pick a language and start building ;-)

It is the language of the future

Nowadays every device we use has code inside. We are around software in every place. Our smartphone or computer runs applications and we use them all the time. These apps let you play games, chat with your friends and solve daily problems such as planning your commute. And if we have a new problem that isn’t already being solved by an app, we could just code and solve it. Because of that I say programming is the language of the future.

Thanks to programming we can create technology that enhances our lives.

With software programming you can create applications to solve a problem. Just like the following real examples:

These applications were created by teenagers wanting to help their community.

Automate tasks

Data collection, batch of instructions, mass file operations (like renaming multiple files) or website scrapping to get specific information are a few examples of tasks you can automate using little scripts. You don’t need to be a computer scientist to code them.

How? This book covers all these topics: https://automatetheboringstuff.com/

Learn to think

Code is just text that a computer interprets. And, just like any language, it has a particular syntax and format. This text contains very simple instructions to perform a task and you, the programmer, have to design it.

Everyone in this country should learn to program a computer, because it teaches you how to think. — Steve Jobs

Coding is dividing a problem in small pieces and solving them one by one (divide and conquer). It opens the doors to develop your imagination and make your ideas real.

Every program starts step by step, solving each problem at a time.

It is incredible when you start coding and see what you have created. A program is printing on screen, a website has text and colors!

Robotics

You can connect programming with robotic and create very interesting things. Just think about creating a mobile app to manage the lights of your house, build a Fingerprint Scanner or build your own remote control car.

The list is very extensive, you can check these 15 Arduino projects you can start making now and also 20 interesting projects using internet of things.

What do I need to start?

First at all, what you don’t need to start:

  • You don’t need to be an expert at math
  • You don’t need to be an expert solving calculus
  • You don’t need to be a geek (but you will become one ;-))

You just need to have a computer, internet connection and the will to do it. And of course, it is important to be very curious.

Where do I start?

Learn a programming language

On every programming forum exists the discussion about which programming language is the best. Just do not spend your time trying to find the best language. Instead, focus on your goal. It could be writing your website, writing a system to administrate your commerce, or whatever project you want to enhance with software. And as a suggestion, take a look at the online community of the language. At some point you might need help about the syntax or an specific problem, and that is when internet communities come to the rescue.

At the end of this article you will find some links about online communities that I hope will help you.

Want to build apps?

Python

Python is a programming language that is very easy to learn, and it can be used on a server to create web applications or to create scripts.
See more at: https://www.python.org/

Take a look at this free course:

Ruby

Ruby has a focus on simplicity. It has an elegant syntax that is natural to read and easy to write.
See more at: https://www.ruby-lang.org/en/

Take a look at this free course:

Want to build websites?

HTML

This is the standard markup language for creating Web pages.
See more at: https://www.w3schools.com/html/html_intro.asp
Take a look at this free course:

CSS

Time to customize the look and feel of your web app. CSS is the way add style on the HTML document.
See more at: https://www.w3schools.com/css/
Take a look at this free course:

JavaScript

If you want to make your website dynamic I recommend you to learn this language. It is the programming language of HTML and the Web. It’s used to create web applications or animate content over HTML.
See more at: https://www.w3schools.com/js/
Take a look at this free course:

Want to build with hardware? 🤖

Arduino

Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs — light on a sensor, a finger on a button, or a Twitter message — and turn it into an output — activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the micro controller on the board.
See more at: https://www.arduino.cc/en/Guide/HomePage

Raspberry Pi

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. Like Arduino, it has the ability to interact with external things such as buttons, led, motor or other electronic devices.
See more at: https://www.raspberrypi.org/

Online communities

The online communities about programming are big, really. There are communities about programming in general or about specific topics. These are very useful to share content or meet new people with the same interests as yours.

Online communities could be forums, chat rooms like Slack channels and even meetings or conferences.

Did you earn experience in some area and want to get into its community? Try finding the community associated to that topic. Check the following examples:

Learn new topics on:

Or try finding meetups about your favorite topic (i.e: Java, Algorithm, Hacking) on Google.

Thanks for your reading. I hope this article helped you to get motivated to learn how programming and to show that coding is useful, easy and available for everyone. Follow me for upcoming posts and do not forget to check my website.

Happy coding!

Visit us!

--

--

Father and passionate software developer. I write about programming and new technologies — Find me on twitter @alejandrosobko