So you want to learn how to code?
So you think you want to learn to program but don’t know what to do next? Here are some easy ways to start.
1. Gather your resources
You can learn a programming language with just a pencil, piece of paper, and a how-to book, but you won’t really get to see the fruit of your labor. As long as you have a text editor on your computer and an internet connection you can learn how to program.
2. Find your purpose
There are hundreds of programming languages out there (and markup languages) so it can be confusing when you first start and don’t know what to study first. Here are some questions that can help guide you in the right direction.
Do you just want to learn about what code is?
Try learning a simple language like python, or you can download a game like Human Resource Machine on your iPhone which will teach you the basics of programming logic.
Resources: Python, Human Resource Machine
Do you want to make a simple website?
Focus on HTML and CSS until you get the hang of how everything works.
Resources: W3Schools(HTML), W3Schools(CSS)
Do you want to make websites that are aesthetically pleasing and a little more complicated?
Resources: W3Schools (AngularJS), W3Schools (Bootstrap), Facebook (React)
Do you want to make a blog?
Before trying everything from scratch, look into Content Management Systems like WordPress. At wordpress.org they’ll let you customize your themes in PHP without making you create everything from ground zero.
Do you want to make large dynamic website where people can add and interact with things?
You’ll need to know how to work with databases (SQL, NOSQL, PostgresSQL, etc.) and languages or frameworks that interact with them, like Java, Scala, PHP, NodeJs. For some languages you’ll have to download software (IDEs) in order to compile and use them. For big websites you have to use multiple languages so that all the different pieces can interact with each other in a nice, friendly, way.
Resources: W3Schools(SQL), W3Schools(PHP), Java Tutorial
Do you want to program robots?
Figure out what kind of robots you want to program first, they may have specific languages that they use (like the Lego NXT) or it it might have a lot of flexibility. If you have a project in mind that’s a good place to start researching.
Resources: Esteffannie Explains It All (Raspberry Pi Projects), Lego NXT, Programming with Arduinos
Do you want to make mobile apps?
Do you want to make them for Android or for iOS? Different mobile operating systems use different languages for their apps.
Resources: iOS Development, Android Development
3. Learn how you learn best
Some people learn best by reading, some by doing.
- Google is your best friend when you’re trying to solve your problems. Never assume that you’re the only person on Earth who’s encountered the bug you’re seeing, ask Google first
- Stack overflow has millions of questions and answers by developers who are trying to learn the same things you want to learn
- W3Schools is a great resource for basic web development. I’ve been programming in HTML and CSS for more than 5 years and I still have a few of their tabs open every day
- Some people work well with video courses, you can find them at places like Code Academy or Udemy (or even Youtube)
- Learn how to read documentation in wiki articles and on GitHub. Most frameworks have a “how to” guide that’s structured similarly. It makes learning new technologies a lot simpler
4. Keep Practicing
As a programmer you will be repeating steps 2 and 3 for the rest of your life. You can learn how to code in a classroom or in your living room; it might have been free or it might have cost a few hundred thousand dollars. No matter where you’re coming from it’s ultimately up to you to be motivated enough to keep seeking out the knowledge and expertise necessary to finish the tasks that you want to complete.
1 thought on “So you want to learn how to code?”
Hello! Thanks for materials and explonations!
As for me, I’m very interested in IT (but learnt networking). Now I wanna to be a developer. Interest in JS,Java – web, apps, interactive…
Am I right, that I can faster become a front-end developer, than Java-developer? I mean, that HTML+CSS and JS will take less time than Java?
P.S. You look so nice!