How to Start Learning to Code
A comprehensive guide to understanding the basics of programming and starting on your own.

A comprehensive guide to understanding the basics of programming and starting on your own.
The Art of Programming
It seems odd, how does someone enjoy something like programming? The beauty comes in the thought process you adopt as a byproduct of consistent programming. The world opens up to you in ways that didn’t exist before. Everything you see becomes a process to study. Life turns into a symphony of state and behavior. Everything in the world around you from a toaster to a company’s financial structure becomes fascinating.
You no longer see problems. Instead, you see a world of solutions. You will no longer ask “Why is this broken?” instead you will start to ask “How can I fix this?”. You learn to take a systematic approach to a difficult task and lay out a framework to solve it. You feel a sense of power in life once you realize how much of an impact you can make for yourself and the people around you.
This is the essence of programming. Making programs that solve problems, or automate repetitive tasks to save time for more work. With programming, you can change the world, even if it’s just yours.
Mentality
Programming can be desirable for the amount of money associated with the job title. While money can be a powerful motivator, learning becomes very difficult once you get comfortable earning a decent wage. Complacency will kill your career. The cure for complacency? Passion.
Normally I’m not a “follow your passion” type of person. When it comes to programming, It’s different. It’s a complex thing to learn and it takes dedication in the beginning. Money alone won’t keep you learning. I’ve seen it with many people I meet that tell me they want to start programming.
The most important thing to take in is understanding that you won’t learn in a single day or a month. Anyone that tells you otherwise is most likely trying to sell you a course. This is a journey, you will stumble into problems, you will fail and you will get frustrated sometimes. However, if you are persistent you will find understanding. Keep failing until you fail less.
Where to start
It’s paramount that you focus your attention on the fundamental concepts of programming. These are the ideas that make up the essence of computation. When you set a good foundation, everything else follows naturally. You will have a much easier time than I did if you dedicate yourself to the basics and build on top of that.
When I teach my students, I prefer to guide them through the concepts in this order:
- The IPO model
- Data types
- Variable declaration
- Conditional statements
- Loops
- Functions
- OOP
This is the order that I found the most understanding. Additionally, I found this tutorial from FreeCodeCamp enlightening in getting a rough understanding of the basics.
Most curriculums teach by starting with complex topics and as a consequence, the student success rate plummets. I remember participating in a boot camp where the instructor taught starting with OOP. You could see the looks of confusion on the student’s faces. The next day attendance was halved. It’s important to start with simple concepts and ideas that will naturally invoke questions that lead to the next concept. I believe that is the natural way to learn.
The Importance of Play
It’s far too easy to approach programming with the intent of getting something specific done. While that’s admirable, it’s not the best way to learn as it easily leads to frustration. The remedy is to simply play, especially after you learn something new in programming.
I recommend to students that they jump into their editor of choice, put on a podcast or movie in the background, and experiment. When you allocate some play time in your learning you will still remember things that didn’t work and when the time comes to write code for a project you will take your lessons with you.
It’s easy to lose sight of enjoying programming, akin to losing sight of being mindful if you forget to meditate. Come in with no expectation and you will leave with a newfound understanding.
Starting on Your Own
The journey of programming is not an easy one. The fact that it’s difficult is what makes it enjoyable. Finally having that “Aha” moment when the pieces come together makes everything worth it. Building something with just your thoughts and using it daily. I truly hope that you stay on the journey and that your interest blossoms into a passion. You will make an impact and you will have yourself to thank for it.