In my vocabulary, I refer to programming, coding, hacking, and engineering as separate processes, but in this post, I’ll use these terms interchangeably. I’ve been programming for decades, and the insights in this post come from an array of experiences writing code, building products, managing people, and life in general. Today, as we’re celebrating 4/20, I want to make the world a brighter place by encouraging more people to program.
Being a great programmer is a continuum, one where you start with basic instructions but gradually move into unknown territories. The key is to never forget your fundamentals, as Jeff Bezos says “Have a beginner’s mind” and be committed to the discipline.
Here are some pointers to improve your coding skills.
Practice a lot.
Repetition is the mother of learning. Program every day like how you brush your teeth daily. Don’t worry, I won’t judge you if you don’t do the latter. Writing instructions to make machines dance will become second nature with practice. This frees up your mind to solve complex problems because you’ll always be confident in coding out any solution.
Watch other coders.
Watch and learn! Watching other coders gives you access to their programming skills. When I was in school, I’d always have the voice of Bucky Roberts at the back of my mind when building Android apps or hacking C++ scripts.
Write about coding and tech.
Writing crystallizes your thoughts. When writing about what we learn, we kill two birds with one stone. Firstly, our knowledge gets reaffirmed. Secondly, we share our insights with the community, and everyone benefits from it.
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. It’s fun taking a programming cookbook and working through it on a weekend! At Ngek Tech, we have a huge library of books that we read, discuss and make part of our company culture.
Build apps, games, scripts, libraries, frameworks, and other stuff, a ton of them.
The more you build, the better you get at thinking product. Initially, you will be everything, product manager, UI/UX designer, engineer, QA. Later, you find people to help you build bigger and greater things. The ideas as transferrable whether you work alone, or in a group.
Meditate.
Meditation clears the mind and keeps it fresh to tackle new problems. There are types of meditations that make us more creative, and that’s a valuable skill to have. There are many similarities between mental mastery and programming, but I’ll leave that for another post.
Solve math problems.
Solving mathematical problems improves your ability to design algorithms and model problems. Moreover, it enhances your mathematical maturity which makes you more effective at taking calculated decisions in life.
0 Comments