12 Rules to Learn to Code (Part 2)

12 Rules to Learn to Code (Part 2)

Welcome back! In this next part of our blog series, we're diving deeper into the world of coding. Strengthen your skills, refine your approach, and continue on the path to coding mastery. Let's get started!

Rule 4: Navigating Tutorials Wisely.

A common problem in coding education is the "this is how you draw an owl" phenomenon seen in many programming tutorials. This issue is similar to going to the gym - initially, you may have a clear plan, but it can quickly become confusing. Tutorials often start with detailed steps, but they can become complicated and confusing, leaving beginners uncertain about what to do. I have observed tutorials that begin with careful explanations, but then they become vague and difficult to follow, such as "Now you just need to set up a cloud database." This sudden change can be overwhelming for beginners, leaving them lost and unsure of what to do next.

Copying tutorial code without understanding poses challenges for students. This situation gives rise to various challenges, with one prevalent issue being students who simply replicate tutorial code without comprehending its functionality. Questions arise: Why the inclusion of that additional line following JSON parsing? What prompts the variation in dictionary creation from the previous instance?

It is surprisingly easy to get caught up in tutorials promising to teach you how to create games like "Flappy Bird" or "Candy Crush". However, as you progress, you may find that around two-thirds of the way through, the lines of code become confusing and the screen turns red in frustration. Bugs are everywhere, and you may feel helpless. After three hours, you may have only copied code and realized that coding isn't as enjoyable as you thought it would be. 💡To avoid this trap, be wary of tutorials that jump from basic to advanced concepts quickly or overuse words like "simply" without proper explanations. Consider these tutorials as red flags 🚩🚩, and don't hesitate to step away from them. Your time and understanding are too valuable to waste on unhelpful tutorials.

When it comes to coding, think of your learning path as a ramp that constantly challenges you while also building upon your prior knowledge. The key is to find the right slope - not too steep that it overwhelms you or too shallow that it bores you. The perfect slope is different for each individual, so to customize your learning experience, consider using the speed change function. This tool allows you to take control of your learning pace. When you're in your element, cruising through familiar concepts, double the speed to keep things brisk and engaging. However, when you encounter unfamiliar terrain that requires more attention, simply slow down to half speed. It's like having your personal accelerator pedal, ensuring that you navigate the coding ramp at the ideal pace for your unique learning journey.

Rule 5: It's OK to Not Know.

Software engineers reportedly have the highest population of Imposter Syndrome sufferers. Imposter Syndrome is a psychological phenomenon where individuals feel like frauds and underestimate their skills and abilities. Many programmers experience self-doubt and feel like others have a better understanding of coding. Studies show that up to 70% of people suffer from imposter syndrome.

Many new programmers grapple with the fear that referencing materials or seeking help reveals their inadequacy as coders as if it's an admission of being an imposter in the realm of programming. However, it's essential to recognize that no one can store all the relevant information in their head. In web development, there's a new framework seemingly every week. No one expects you to have it all memorized; after all, this is why we are programmers – to leverage the power of computers to handle the intricate details for us.

When employers seek programmers, the most prized skill is the ability to think critically. In a world where information is abundant, the capacity to solve complex problems takes precedence. In the past, only the privileged had access to quality resources and education. Today, anyone with an internet connection can access a wealth of knowledge. Consequently, the value of information is diminishing, while the ability to think critically remains invaluable. Therefore, don't hesitate to search for answers, ask for help on platforms like Stack Overflow, or seek out resources when faced with coding challenges. This is a trait shared by the best programmers.

💡
However, it's crucial to develop the skill of asking good questions and understanding the answers. There's little benefit in copy-pasting code from a Stack Overflow answer if you don't comprehend how it works. The platform operates on a reputation system, encouraging contributors to provide clear, concise, and correct solutions to gain upvotes.

Before seeking help, try to solve issues on your own. Check the final lines of code and look for potential problems. This methodical approach to debugging can often lead to self-discovery.

Google searches are a good place to start if you're really stuck. Enter your search term or, if there was a problem, give the error messages and codes. Your coding difficulties as a beginning are probably similar to those many others have encountered. You may come across a well-written guide that explains the issue and how to fix it. Another reason to begin with Google is that Stack Overflow's search algorithm prioritizes recent content over popular content. Many of the difficulties you encounter as a beginner might have been posed and resolved years ago but are still highly relevant.

Remember that you can profit from the programming community's combined expertise if you ask thoughtful questions and interact with them. One day, when you're an experienced programmer, you'll be helping the programmers that come after you.

Rule 6: Be a CopyCat.

When I first started learning to code, I thought there were endless books and tutorials filled with information that would lead to programming mastery.I dabbled in Python guides, dipped into JavaScript introductions, and explored various programming platforms. However, I quickly found myself entangled in a phenomenon known as "tutorial hell."

💡
Tutorial hell is a place where aspiring coders often find themselves lost in a never-ending cycle of watching, reading, and copying tutorials. Much like my early days with books, I was consuming content without truly understanding the underlying concepts. I watched, I copied, I repeated. But when it came to creating something on my own, I felt like a fish out of water.

I soon realized that tutorials have their place in learning, but they aren't the sole path to mastery. They're akin to signposts on a vast highway, offering guidance but not the complete journey. If you want to truly learn and become a proficient coder, you must venture beyond the confines of tutorials.

So, what's the answer? Accept the art of imitation. In the most creative sense, be a copycat. Get ideas from the projects you see around you. Make your own notepad, reimagine a digital painting app, or create a simple game like Flappy Bird. These projects not only serve as practical exercises but also as opportunities to problem-solve and seek help when obstacles arise.

In the words of legendary artist Pablo Picasso, "good artists borrow, great artists steal." When you mimic existing projects, you're following in the footsteps of many talented developers. This gives you access to communities and resources where you can get help and advice when you're stuck.

In essence, don't shy away from building upon the ideas of others. Through imitation, you'll gain practical experience, unravel the intricacies of coding, and gradually evolve from a novice into a skilled programmer. So, don't merely read about coding; seize your keyboard, write your code, and create something remarkable by standing on the shoulders of those who came before you.

📍
Wrapping up this segment of our coding journey, I've equipped you with essential rules to guide your path. Stay tuned for the upcoming parts, where we'll uncover more invaluable insights. Keep coding, keep exploring, and let your passion for programming flourish!