Let me reiterate for those who don’t know - Not knowing how to code isn’t hell, not understanding your own code is the ultimate HELL. There isn’t any rush and if you’re thinking you can learn in 21 days you’ll soon realize that you just grazed the surface and didn’t learn anything deep.
- Focus. The first thing you need to do is concentrate and that means letting go of all your distractions so you can properly reflect.
- Anyone idiot can be a programmer, you don’t want to be that idiot.
- Learn by doing.
- Don’t rush - the internet prides itself on the pace of discovery, don’t fall into that trap. Take your time and to truly understand core concepts.
- Read books to understand the fundamentals and focus on how to improve your skills.
- WRITE LOTS of code, you should have 100’s of small snippets trying out different stuff and should be experimenting with different techniques.
- Start simple and then build your way up to more complex functions, equations.
- Don’t read any random article, figure out which blogs and authors are worth your time and create a solid baseline for reference.
- READ ALOT of other peoples code and then try to understand what they are doing. Digging into other peoples source code and libraries is a fantastic way to learn.
- Write a small library or module, learning how to code a library will teach you how to structure your code, think and reason about it.
- Try to solve some real world problems.
- Discover objects and arrays in an intimate way
- Understand prototype, inheritence, pseudo classical inheritence and their differences.
- Collaborate with programmers on different projects, learn to refactor and understand code without them being around.
- Rewrite, refactor your existing code no matter how small it is.
- Avoid the solipistic approach - collaborate with folks and ask questions.
- Pick up new idioms, best practices, coding styles and tricks.
- Check out Peter Norvig’s article Teach Yourself Programming in Ten Years
- Thoroughly understand all data types and structures. Write some code around each structure as a small weekend project.
- Work on small projects and build confidence before you write a 2000 line library.
Don’t rush, you won’t become a great programmer in a matter of days, months, even years. Deliberate practice and incremental improvements will give you the best value on your journey.