Why I Started Using Exercism: A Self-Taught Developer's Journey
How I discovered the importance of structured learning after years of problem-based coding
As written on my homepage description - I've never learned coding in an academic way. I saw a problem that needed to be solved, so I wrote whatever code needed to solve it. Only as I progressed with my coding, did I start noticing the knowledge gaps creeping up. It was at this point that I realized I needed a more structured approach to my learning.
I started with the obvious resources - A Tour of Go and Go by Example. They're well-written, comprehensive resources that many developers swear by. But something about them felt dry and didactic to me, and honestly, it didn't stick. Reading through examples and explanations wasn't enough - the knowledge would slip away as soon as I finished a section, like trying to learn swimming by reading a manual.
I'm a person that learns new things through practicing. That's probably why my "solve as you go" approach worked for so long - I was learning by doing, tackling real problems that needed real solutions. But this approach had its limits. While it made me good at finding quick solutions, it didn't necessarily teach me the best solutions, or help me understand the underlying principles of the language.
This is where Exercism shines - it offered me a practical way to practice Go principles using real-life problems, while also providing short and easy-to-understand explanations of the underlying concepts. But its true strength? The mentorship model and code review system, where experienced developers review your code and help you improve. Getting constructive feedback on your solutions is invaluable - it's like having a personal coach who helps you not just solve problems, but solve them better.
If you're like me - more inclined to learn through practical application rather than traditional studying - I highly recommend giving Exercism a try. It bridges the gap between theoretical knowledge and practical application in a way that finally clicked for me.