Breaking the Tutorial Loop: My Move from Passive to Active Learning

Regretfully, it has been far too long since I’ve really tested myself with coding projects. My recent Python project was a mix of getting back into the mindset while exploring how GenAI can be used. Needless to say, it really got me wanting to write more of my own code again. I’m just a bit stuck on what to do and where to start.

I’ve tried watching YouTube videos and reading ebooks to brush up, but unfortunately, neither holds my attention long enough to invest the time required to both understand the theory and actually apply it. A big part of that is because I struggle with deciding what I actually want to build.

This time, I’m giving a code-learning site a go. It uses modules that teach a concept and then immediately require you to use it to solve a problem with instant feedback. Specifically, I’m trying out Boot.dev. After reading up on the site and finding enough solid reviews, I figured, “Why not?”

I have to say, I’m really liking it so far. The gamification of the learning process is a nice touch that’s genuinely helping me stay interested. My current game plan is to work through the Go, Python, and Linux modules. Thanks to a holiday bundle, I picked up a three-month subscription at a great discount. I plan to work through as much as I can to give it a solid trial beyond the free membership I’ve already blown through.

Have you used Boot.dev or other gamified platforms? I’d love to hear what worked for you in the comments!

Never Just Copy Code

When I’m learning something new that involves coding, I’m always grateful when working code examples are provided. Whether I’m working on training modules, looking up how to accomplish a specific task, or troubleshooting code. While I try to learn what I can from reading, I’m much more of a hands-on person and learn best getting my hands dirty, so to speak.

However, I very much understand there are pitfalls for using these code examples. Namely, it is very easy to simply just copy/paste the code and that’s it. If it works, all good. But do you actually know what the code does? If it breaks or doesn’t perform as expected, can you troubleshoot it? If you wanted to alter it to behaving differently, can you? This is why I press on myself to never just copy code.

Whenever I copy code, I make a habit of breaking it down. I make sure I understand every part of the code, what the code does, and how it does it. I want to make sure I know what I’m doing and learning from the code example so I can further improve my own knowledge.

For example, I’ve never worked with asynchronous programming prior to writing my project Discord bot. I was fortunate that the Discord .NET community has really great documentation on how to get started. with all the necessary code. When I was following the documentation and using their code, I made sure to break down each line to make sure I knew what I was writing. This even lead me down a rabbit hole of reading the Microsoft documentation for understand what asynchronous programming is.

I’ll be honest, I’d have no idea how to troubleshoot my bot if I ran into any issues. Not going to say I’m an expert, but I definitely learned a lot about asynchronous coding.

It’s always good to keep learning.