DEV Community

Cover image for The Best Ways to Learn Programming
Ibrohimbek Alisherov
Ibrohimbek Alisherov

Posted on

The Best Ways to Learn Programming

Based on my three years of experience independently learning the MERN stack and building personal projects!

  1. Learning Through Books Books are an excellent source of deep, systematic knowledge. My top recommendations:

“Eloquent JavaScript” by Marjin Haverbeke: A fantastic resource for learning JavaScript fundamentals in depth.
“You Don’t Know JS” series by Kyle Simpson: Perfect for understanding the intricacies and advanced concepts of JavaScript.
“The Road to React” by Robin Wieruch: An excellent guide for learning modern React with best practices.

  1. Online Courses Interactive courses are ideal for developing practical, hands-on skills:

FreeCodeCamp: Offers free, comprehensive curricula covering a wide range of technologies.
Udemy: Features affordable, in-depth courses that provide practical, project-based knowledge (wait for sales!).
YouTube: Channels like The Net Ninja and Traversy Media offer high-quality tutorials for free.

  1. Learning Through Practice Programming can only be mastered by writing code consistently:

Build Personal Projects: Start with small projects on topics that genuinely interest you.
Follow Tutorials, Then Experiment: Type along with tutorial code, then try to modify and expand on it with your own features.
Practice on CodeWars and LeetCode: Sharpen your problem-solving and algorithmic thinking skills.

  1. Community and Support Engaging with others is crucial for growth and support:

Online Communities: Join platforms like Stack Overflow, Reddit (e.g., r/learnprogramming), and technology-specific Discord channels.
GitHub: Explore other developers’ code to learn, and share your own projects to get feedback.
Network with Developers: Don’t hesitate to seek advice and learn from the experiences of others.
My Personal Experience
The key to learning programming is consistent practice and a willingness to experiment. I recommend spending at least a few hours each day coding and exploring new technologies. Even small projects — like a to-do list, weather app, or a blog — provide incredibly valuable experience.

My advice for beginners: never stop learning and treat every mistake as a lesson. Remember, programming is a marathon, not a sprint!

Ibrohimbek Alisherov
www.ibrohimbek.link

Top comments (0)