Before I started to learn programming on Khan Academy at the age of twelve, I thought I needed to go to college or university to create software.
I was wrong.
While a formal education can be helpful, here are the only four things you really need to learn to code.
1. A computer
Quite obviously, you’ll need a computer to teach yourself to code. However, you don’t need a supercomputer. Any machine that you can comfortably browse the web with will do just fine, since that’s where you’ll probably take your first steps.
My desktop is nothing fancy and it’s getting old enough now that I can’t remember how long I’ve had it, but it still works perfectly fine for my programming needs.
2. An internet connection
You can program without an internet connection.
However, if you’re just starting out, you won’t get very far without one. When you’re learning to code, the internet is your classroom, your teacher, and your library. You’ll probably find yourself googling just about everything.
As you learn, you’ll use the internet less for step by step guides, but you’ll never become fully independent. You’ll always find new bugs and run into problems you’ve never encountered, and the internet is where you’ll find the answer.
3. A willingness to invest time
Learning programming takes time. It won’t happen overnight.
While the amount of time it takes varies from person to person, you should expect it to be significant. Just like most things worth having, the ability to build software doesn’t come easily. It’s a long and difficult struggle, which you can only overcome through time and persistence.
4. A strong desire to learn
This is probably the hardest thing to acquire on this list. You can buy a computer, pay for internet and make time for programming, but you can’t buy the will to learn.
That’s not to say that you can’t develop an interest in something which then may evolve into such a desire.
Hand in hand with a desire to learn comes a reason for why you are doing so. If you don’t have a solid reason for learning to code, you won’t have anything to keep you going when you feel like giving up. You’ll inevitably get frustrated and quit.
I can’t stress this enough—you won’t get far in the programming world if you don’t enjoy it. If you don’t have a strong desire to learn built on a solid reason why, you will fail.
You don’t need a formal education. You don’t need to spend money on courses. You don’t need to be a tech nerd or a math wizard. Sure, those things can be helpful, but they definitely aren’t necessary to teach yourself to code.
If you’re still unsure if you should give it a go, check out my post about whether or not you should teach yourself to code.
Since you’re reading this post, you probably have a computer and an internet connection. You’re probably also interested in the subject, so there’s a good chance you have a strong desire to learn.
That means that all that’s really left is for you to actually start.