Versión en español: Aprende Go con 13 Retos
Hi all, I'm a web a mobile developer who loves to code and the real tech challenges. I've wanted to learn Go for a long time, but not in the traditional way, but building specific stuffs that allow me (and us) to learn with purpose. That is how this project born: Learn Go with 13 Challenges.
🧩 ¿What is this project about?
This is a practical journey through Go, focused in not only read documentation without stop, but solve little and powerful challenges. Each challenge is a mini-project desgined to introduce ann confidence key concepts of the language, from the most basic to the advanced things.
The idea is simple:
✔ Each challenge is already prepared with with their respective tests (using TDD-type approach)
✔ In each post we will to write the necessary code to pass all tests cases and in consequence we will develop the mini-project.
✔ I will explain step by step the rasoning, design, problems and the final solution, without neglecting how to draw on sources of knowledge, (documentation, videos, forums, etc)
✔ All is in a public repository and you are free to clone, try, test and improve
📦 The repository
You can follow the progress directly at the GIT repository:
🔗 github.com/bssanchez/golang-practice
There you will find the 13 challenges listed by difficulty and organized into sub-directories, with their tests prepared and ready for you to tackle if you want to join in.
🗓 How often is it published?
I will publish each post progressively. I can't give a specific time frame, but I will try to do it weekly. My goal is to do it consistently and sustainably. It's not “Go in 13 weeks” or “Go in 13 months”, but “Go in 13 challenges” — at your pace and mine.
Considering that each mind learns differently and/or has preferences when following manuals and/or procedures, each delivery will come in two formats:
- 📄 A written post like this, explaining the solution step by step
- 📹 A YouTube video with the procedure recorded and commented; please note, I am not an expert in videos, but I will try to make sure they are of the highest quality and of a reasonable length for each exercise.
🌍 What about the language?
I'm publishing first in spanish, but I'm planning to post the solution of each challenge in english after the spanish version is published. This way, I can contribute to both the spanish-speaking community and the global community.
Regarding the videos, I will find a way to provide English subtitles for them.
🔥 Why do it this way?
Because I firmly believe that learning by solving real problems is the best way to master a language. Because Go has enormous potential for services, CLI, backend tools, APIs, and more. And because building is more fun than memorizing.
✅ What will we see in the challenges?
From simple things:
- A CLI calculator
- Word processors
- Operations with files
Even more ambitious things like:
- A web scraper
- A HTTP server
- IA implementations in Go
Each challenge has something new to offer, and seeks to exploit one (or more) interesting features of the language.
🤝 Join, Comment, Share
You can follow me in Dev.to, or suscribe to my youtube channel if you want to see the process in video format.
I am open to suggestions, ideas, improvements, and collaborations. This is a project for learning, sharing, and growing together.
See you soon for the first challenge: the calculator 🧮
Thanks for reading!
Come on to learn Go in the best way: building.
Top comments (0)