If I Was To Start Programming Again
It’s 2023, learning to code has never been easier. Back then, i searched for free eBooks, watching hours of Youtube videos. Udemy and…

It’s 2023, learning to code has never been easier. Back then, i searched for free eBooks, watching hours of Youtube videos. Udemy and Pluralsight was exactly what i needed but paying to learn was not an option for student like me. Additionally, no one guided me to the right direction so i would not spent months wondering what should be my next move, what i should learn next. So, i decided to create this post to guide people who is in the same situation i was a couple of years ago.
In this post, i will tell you exactly what you need to start learning to code.
Requirement
A laptop or a PC. I prefer PC than a laptop because it usually offers better performance. However, you cannot bring it everywhere.
A smart phone. In the age of digital, almost all of us have access to a mobile phone with 4G (5G is even better) and Wifi. We will use it to watch tutorial on Youtube or reading articles on Google, researching stuff on StackOverflow and Reddit in your leisure time. Basically, it can do everything except coding and compiling. The only matter is what you use it for.
Some basic math and logic thinking is enough to start with coding. Unless you are doing some specific stuff that requires complex math like game engine, creating a search engine.
Your time. Learning takes time, it requires dedication and consistency. In order to be good at coding, you have to spend a couple of hours a day researching, reading and practice.
Where to start?
Here’s are 2 things that you need to keep in mind:
- Code is just a tool, you are solving problems.
- Find the specific problem you want to solve. They say “Life is about the journey, not the destination”. But there’s no destination, you are just wandering.
Free platforms
freecodecamp.org is a good place to start. The website is beginner friendly with exercises for you to practice.

Codecademy is another beginner friendly platform.

There are many more platforms. Such as edx, coursera,…
AI
AI is a game changer in 2023, ChatGPT free tier should be enough to provide useful information and explanation. If you are stuck with a concept and cannot get through, try asking ChatGPT to give you a simple explanation.

Paid platform
Pluralsight and Udemy are pay to learn platform. Beside offering excellent learning via video, they also offer exercises, exams and certificate when you finish a course.

There are many channels on Youtube that teach programming. Besides, they also offers paid course on their own platforms.

And many more…
Stackoverflow, Reddit, Discord are some good communities for researching and asking for specific problems while solving your problems. Google and online eBooks should extend your knowledge when you want to read more about some specific topic.
Do not fall into the tutorial hell, Practice is the key
My advice
- You should try to deliver the MVP (Minimum viable product) as fast as possible. I’m not saying that you should cheat or write bad code, you should bear that mind set when trying to deliver a feature.
- Keep things simple, do not write code with assumption, you might should yourself in the foot by writing some code and do not understand a thing after leaving for a while and comeback.
- Choose the right tool for the job. For example, If you want to create API then C#/Java/Ruby/Go should be able to do that within a couple of minutes. C, C++ should be able to do the same thing but it would be painful and takes days or even months to deliver it.

- There’s no best programming language. Python has run slower than C and C++, but it’s excellent in writing scripts, no one uses C and C++ to create Web API but micro controller and system programming. Benchmark between 2 programming languages is bullsh*t most of the time, one language is faster than another one in a specific scenario doesn’t mean it’s better, C is faster and consumes less memory than most of other programming languages most of the time.

- Aim for strong foundation of how things work, do not play the library/framework chasing game, there are thousands of them out there. If you have a strong foundation of how things work behind the scene, you will have an easy time learning all the new technologies/libraries/frameworks.
- Find a code buddy, it’s easier when you have someone who has the same interest.
Keep thriving and learning.
- Learning to code is easy but hard at the same time. When you are stuck at a difficult problem, try solving it yourself first, then searching on Stackoverflow and other platforms that i have mentioned above. If nothing comes up, try creating a post on StackOverflow or Github, there should be at least one person answer your question. Your question should be direct and should not fall into the category of the xy problem.
If you find the post useful, give me a clap and a follow for updates in the future. Please also consider buying me a coffee.