Practice a lot
Repetition is the mother of learning. Program every day like how you brush your teeth daily
Watch other coders
Watch and learn! Watching other coders gives you access to their programming skills
Write about coding and tech
Writing crystallizes your thoughts. When writing about what we learn, we kill two birds with one stone
Teach others to program
Teaching others solidifies our concepts and creates structure in our mental frameworks
Read books
Start with “The Pragmatic Programmer”. Reading opens up new possibilities and teaches us things we don know.
Build apps, games, scripts, libraries, frameworks, and other stuff, a ton of them
The more you build, the better you get at thinking product
Meditate
Meditation clears the mind and keeps it fresh to tackle new problems
Solve math problems
Solving mathematical problems improves your ability to design algorithms and model problems