12 Rules to Learn to Code (Part 3)

12 Rules to Learn to Code (Part 3)

Rule 7: Be Accountable.

Learning to code is an exciting journey, but it often comes with its fair share of challenges. The online world is brimming with fantastic coding courses, from platforms like Coursera, Udacity, Udemy, and Skillshare. However, here's the catch: accountability. Or rather, the lack thereof.

Imagine this scenario: You eagerly enroll in an exciting online course, but then find yourself getting distracted and wasting time watching Netflix instead of putting in the effort to write code. This is a common experience for many aspiring coders. The reality is that relying solely on internal motivation can be unreliable, and we've all given in to the temptation of laziness at times. However, there is a solution: being accountable and committed to learning. Do you relate to how in university, the fear of missing deadlines and failing exams motivates us to stay on top of our work and attend classes? Having external accountability plays a crucial role.

🎯 So, how can you recreate this drive in your coding journey? Consider finding a coding buddy. Someone who's just as much of a beginner as you are, someone who can offer support and receive it in return. Your buddy can keep you on track and motivated. Seek out coding companions in online communities, like r/learnprogramming or Discord groups. Collaboration and motivation are just a click away.

Here's a thought that may spark some debate: people often place more importance on things they've invested in. Coursera, for example, found that many students who enrolled in free courses didn't complete them. Offering courses at a cost may help motivate those who need an extra push to stay committed to their learning journey. Consider the value of acquiring coding skills and put your money where your intentions are. This financial investment may be the catalyst you need to stay engaged with the course material.

Lastly, embrace assessment. It provides invaluable feedback and prevents overconfidence or imposter syndrome. Platforms like Coursera use peer reviews, while others employ mentorship or GitHub for assessments. If your course lacks these, find a code mentor who can review your work.

Rule 8: Keep Learning - The Lifelong Journey of a Programmer.

Just as professional athlete continually refines their training techniques and skills to remain competitive, programmers must also prioritize growth and adaptation. So, before you lace up your running shoes and hit the track, understand that it's not about sports, but about the ability to evolve. To excel in programming, you must be willing to reinvent yourself. Technology never stands still. New trends, fresh technologies, and emerging programming languages appear regularly. Remember, as the world advances, staying stagnant equates to being left behind.

I've seen programmers stick to one language, like Fortran, only to struggle as the industry advances. Consider Objective-C developers hesitant to embrace Swift despite Apple's clear signals. Apple, as seen with the demise of the optical drive, doesn't make idle threats. To avoid becoming outdated, don't be like the old laptop playing CDs in the era of streaming. Embrace change, adapt, and keep learning. It's the formula for staying relevant in the ever-evolving world of programming.

Whether a web developer venturing into mobile development or a front-end enthusiast eyeing full-stack, expanding your skillset with iOS, Android, or Node.js is more accessible if you've got a solid foundation in programming fundamentals.

💡
"Explore 'Learn x in y minutes' for a rapid path to mastering new languages and staying ahead in this ever-evolving industry."

Rule 9: Embrace the Art of Contemplative Programming.

Programmers don't just frantically type away at their keyboards. They spend a lot of time contemplating code mysteries, often staring at their screens or engaging in unrelated activities. But their minds are always hard at work. When you see programmers taking breaks or enjoying a game of foosball, understand that they might be grappling with a hidden bug or wrestling with the enigma of their code. Sometimes, it's the unexpected behaviour that haunts them, and programmers aren't fans of surprises. In such moments, it's essential to step away from the code, giving it time and distance. Have a bug that seems unsolvable? Sleep on it, play a game, or take a walk. In the majority of cases, the solution will emerge. Occasionally, you may find yourself in the elusive 1 out of 10 scenarios where you're stumped.

⚠️ This might sound counterintuitive, but here's the advice: Code Less, Think More. Rushed and poorly thought-out code invariably demands a return visit, leading to painstaking line-by-line reviews, refactoring, and deletions. It's a painful process that can be avoided.

Rule 10: The Power of Pair Programming and Mentors.

In my quest for language mastery, I discovered a transformative method - language exchanges over Skype. Partnering with a native speaker eager to learn English, we dedicated weekly time to improving our respective languages. During our conversations, they'd correct my pronunciation and grammar, offering valuable tips for sounding more native.

This approach mirrors pair programming in agile software development. A mentor and a learner collaborate at the same workstation, with the learner writing code while the mentor reviews it line-by-line. Though initially uncomfortable, this process accelerates learning. A good mentor doesn't provide ready-made solutions but uses the Socratic method to guide critical thinking.

Information is abundant, but learning to think critically and approach problems methodically is invaluable. To find a mentor, explore programming-related Meetups and offer your expertise in exchange for theirs. It's a win-win approach that often leads to mentorship opportunities.

💡
Collaborative learning and mentorship are catalysts for growth whether you're perfecting a new language or honing your coding skills. In the next part of this blog, we'll uncover more indispensable rules to empower your journey in the ever-evolving world of programming.