DEV Community

Cover image for Learning Go the Hard Way
Kostya Malinovskiy
Kostya Malinovskiy

Posted on

Learning Go the Hard Way

So, I’ve recently found myself with some free time and the opportunity to tackle my "backlog of wannados."
At the top of that list is Golang. I believe diving into it will broaden my engineering outlook and deepen my systems-level expertise.

Why "The Hard Way"? In my experience, the best way to truly internalize new knowledge is to struggle and hit the wall. You have to fail first to create a "knowledge vacuum" that pulls the skills in.

To make this happen, I'm starting with the Shell Challenge at CodeCrafters.io.

"Hard Way" in my world looks this way:

  • 🚫 No AI coding assistants.
  • 🚫 No LSP for navigation or completions. I’m going to do everything by hand to build muscle memory and be more mindful of how I organize my code.
  • 📖 Docs First. The official documentation is my primary source. LLMs are the absolute last resort when nothing else makes sense.

Expect several wheels to be reinvented and plenty of bad practices to be implemented along the way. It’s all intentional—a way to gain a deep, firsthand understanding of why best practices and patterns exist in the first place.

I’ll be posting updates here about the specific problems I struggle with most.
See you around!

P.S. I’m not an AI doomer. I think LLMs are great tools for building things efficiently. However, when the goal is learning, they often stand in your way by providing shortcuts where there should be deep thought.

Top comments (0)