How To Learn To Code
So, you want to code. Congratulations. You are getting into a rabbit hole that you probably won’t ever be able to leave. There is no coming back from this.
Prerequisites
- Curiosity
- Time
Accessibility
If you do not have a powerful computer, luck is on your side. There are online services that will let you run a text editor, namely Visual Studio Code, a very popular development environment free of charge in your browser. One of the best is a site called Gitpod. They have a generous free plan.
First Step (Fundamentals/Python)
Anyways, without further ado, the first step of learning to code is to learn a language. Obviously. In this stage you should be using something simple. Python is perfect for this. It is easy to use and decently powerful. The important thing to focus on here is just the basics, ex: loops, variables, functions, etc.
- Watch some python tutorials on YouTube, freeCodeCamp has a great video.
- Build projects
- Calculator
- Discord Bot
- Rock Paper Scissors Game
- Text Adventure Game
Second Step (C)
Now that you know the basics you should go to a lower level language. Personally, I think C is perfect for this. C is practically at the heart of all digital technology. Here you will learn about data types, memory, and compilers.
- Watch a tutorial, again, freeCodeCamp has a great video. Although this time you will be able to fly through a lot faster as you already have a base knowledge of stuff like functions and loops.
- Build projects
- Build command line tools
- Build a tool to parse JSON
- Build your own data structures
- Dynamic Arrays
- Linked List
- Hash map
Third Step (Branch Out)
At this point in your journey you should be able to move to practically any language and be somewhat productive. Feel free to continue using C, return to python (maybe even with type annotations), or learn another language like Go or Rust. It is important not to stagnate. Branch out into different fields like:
- Web Development
- Game Development
- API Development
- Embedded Programming
- Maybe even a little bit of AI
Try everything. Then once you find a few things that you like, stick to them. Build stuff for fun whether that be out of genuine need, enrichment, or maybe just being bored on the weekend. The world is your oyster.
Fourth Step (Community)
Now that you are an avid programmer with a laundry list of projects I highly recommend putting them out to the world. GitHub is a great platform for this. In addition to being a safe haven for your projects, it will also allow others to look at what you have done and maybe even contribute to your project. It also looks good to schools and companies if you ever want to become a software engineer. Creating a GitHub is a no-brainer, you are only hurting yourself by not doing so.
You should also seek out communities to share your love of programming with. There are plenty of discord servers that focus on programming and it can be a good place to get help when you are stumped or just have a chat. If you are especially lucky there is even a chance that there could be a local programming club to join. And if there isn’t, maybe find some friends and create one. Just stay involved.
Bonus
If you are a student, like myself. Use those education benefits. Sign up for the github education program. You get github pro, copilot, and codespaces for free. They will also provide a whole bunch of educational resources to you free of charge. It also allows you to easily get benefits from other companies. I have all of the jetbrains editors through it as well as Autodesk fusion. Make use of it. Even if you are in high school like me. You also can get huge discounts on adobe creative cloud. Honestly I should have looked into this earlier.