Pragmatic advice to start learning to code
Derick Zr • February 03, 2023
9 min read
After publishing my new site a couple weeks ago, people got really interested and asked me a lot about how to start learning to code.
I really want to help future developers in their journey and the amount of questions on how to start inspired me to write this article.
This post has stories and a lot of pragmatic advice for you to be able to inspired, motivated, and take the first step in the programming world.
I got a time to think about my journey and I asked experienced developers about coding, how the started, about career, and all those intersting things everybody want to know.
Hope this helps!
The Mindset
When I started I fell inlove with programming. My number one tip is to learn it because you like it, you find it interesting, or maybe find it useful (and it really is!).
What makes me say that? "Do what you are passionate about" is a motto I strongly support. it looks cliché, but has always worked for me. And you'll need this internal drive if you begin programming. Passion and interest help you to learn consistently and systematically.
"At the end of the day your brain and your determination will give you what you deserve. -Eddy Wanny M
Remember: coding is a long long journey, not a destination. Don’t expect to learn everything overnight. It doesn’t happen like that.
Keep learning
As a software engineer, one of my challenges is always keeping track of new things that are emerging in our world: new libraries like Astro, tech trends like Machine Learning, AI like ChatGTP, cryptocurrency (Blockchain Blockchain Blockchain!), and so on. I'm not saying we need to learn everything, instead we have to embrace the lifelong learning mindest.
Talking about learning everything, try not to overwhelm yourself. You don't need to start with hard concepts first. Here is one of my friend's analogy: When you learn how to drive, you first learn the basic concepts: start the car, set the car in motion,stop, park the car,... then when you master the basics you can move to the complex stuff like drifting and so on.
Theory & Concepts
It really import to understood the basic programming concepts and build the foundation first. If you are still in college now, that's good, colleges are great in teaching basic concepts and theories. If you're pursuing a Computer Science degree, you will probably have Algorithms and Data Structures classes. But if you are not at college, the Internet is here to help you get started!
I used these two online courses when I started learning how to code: CS50 at Havard & Codecademy
There, I learned the basics with python on Codecademy and C in CS50. what I'm trying to say here is you just need to start. Choose one programming language and start understanding the basic concepts (variables,if-else,loops, data structures) Remember not to overwhelm yourself, it's a journey. One line of code at a time :)

Training, Practicing, Coding, Building
Practice Practice Practice! I can’t say enough how practice is so important when you start learning to code.
"The best way to be a top engineer is just keeping on building and practicing. -Eddy Wanny M
Practice not only make you a better programmer but also you gain a lot of confidence through this. Impostor Syndrome is a real thing!
I’ll list some great websites for you to start learning and training from day 0..
- Hacker Rank: as I said above, Hacker Rank has a lot of different domains like Algorithms, Data Structures, Mathematics, Programming Languages, etc. The website UI and UX is a plus for Hacker Rank, it is beautiful and very easy to use. I used a lot the Python Domain to build a good foundation on my Python skills. - Codeforces: it is a really good website to train and learn. It has tons of great problem sets. Editorial is a plus here (Editorial: The problem author writes how you should approach and solve the problem — which algorithm or data structure to use). - Leetcode: this website is the best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.
Choose a website and start practicing :)
Building projectsMy first project was my own website. Then I built a website for my friend's startup. All static websites. I felt I was ready to develop a full stack website.
So I built a Developer comunity web app (the developer could create new post, deleted them,... all the CRUD stuff), the developer could signin/signup, search for a posts,follow others developers. It was really challenging for me at that time, and I learned a lot. >side note: the website database was hosted on a free plan on Heroku, but now Heroku removed the free trial, my database is down.
My good friend Galien has a great story on how he started to code and develop web3 based apps. He taught himseft the fundamental concepts, but building web3 apps was something he was always curious about. He tried to build many web3 apps, but soon he gave up.
"I simply didn’t know how to start, because I had a lot of things to learn, and I didn’t feel ready to shift to web3 world. Web3 just emerged in the field, there were so many different things to learn and ways to do the same thing, didn’t know if it worth a try that I got stuck trying to figure out which was the right or the best. The 2 most important things at this stage were: 1. Set a simple goal and try to learn the basics. 2. Avoid perfectionism and just do it. -Galien
Listening to Galien’s story, I felt that everybody who is starting something gets stuck in some part of the process. And it is super normal to feel frustrated or do not understand how to start.
"I got help from a friend of mine who had already built a simple app. I asked him if he knew which was the best way to do a specific thing and the truth is: he didn’t know, but I felt more secure knowing we were building the same way -Galien
It is so nice when we are on a learning curve part that we feel confident and are just “in the flow” to keep learning and building. But I totally agree with Galien, when you start learning something new, you need a lot of persistence to keep your learning consistent.
Now Galien works as a Web3 developer. He has 3 personal projects Web3 apps.
"Contributing to numerous different projects starting at an early age helped me develop my programming skills. Practice is the key to learning a new skill. It doesn’t matter what you Contributing to, as long as you pick something and start. -Verdotte Aututu
Here is a list of side projects you can do. Time to help you start building stuff!
- If you are a gamer, maybe you can start with Tic-Tac-Toe, Sudoku, or Flappy Bird.
- If you are a data lover, you can do web scraping or work with a trading stock API to build and analyze stock charts.
- If you want to understand better front-end, build your own website/portfolio.
- If you want to build a full product, start with an online bookstore, product inventory, or a blog.
but I agree with Verdotte, it doesn’t matter what you build, as long as you pick something and start. So start building! You’ll have problems, you’ll get stuck. But you’ll learn A LOT!
Get Feedback
Getting feedback on your coding skills is an essential aspect of growing and levelling up as a programmer. Whether it’s through code reviews, technical interviews, or seeking out constructive criticism, getting feedback allows you to identify areas for improvement and make progress towards reaching your full potential. It is a vital part of the process of levelling up!
Here are some ways to get feedback:
- Share your work with others: Share your code with other coders, either in person or online. This can be a great way to get feedback from others who have different perspectives and experiences.
- Participate in online coding communities: Join online forums, chat rooms, and discussion groups to connect with other coders and ask for feedback on your code.
- Pair program with others: Pair programming involves working with another coder to write code together. This can be a great way to get real-time feedback and learn from others.
- Hire a mentor or coach: Consider hiring a mentor or coach who can provide personalized feedback and guidance on your coding skills. By seeking out feedback and being open to constructive criticism, you can identify areas for improvement and take your coding skills to the next level.
So, don’t be afraid to ask for feedback and embrace the power of growth.
Conclusion
Remember that the most important aspect of this process is your mindset and approach. Embrace a growth mindset, and be open to learning and trying new things. Take the time to reflect on your progress and celebrate your successes, no matter how small they may be. And never stop asking questions, seeking feedback, and pushing yourself to be the best coder you can be.
That’s all!
I hope this article can help you get started. Have fun! Keep learning and coding.