What is the right approach or Roadmap to learn Go

I have created a roadmap on my blog to learn Golang for beginners. What do you think about this and is there anything you feel that is missed or something which is not required.

1 Like

Freecodecamp has a roadmap that are divided into “backend” and “fronted” etc. One roadmap that fits all seems to be hard to create and understand IMHO.

Yeah, agree with @Sibert, everyone has its own way of learning and a one-size-fits-all approach is likely impossible. I think the map is generally OK, but I personally didn’t really follow it even once I found it, and I believe it made some choices I personally wouldn’t make. For example:

  • I find it questionable to see such little standard library packages not mentioned, such as testify, log, sync (for some reason it just has mutex), reflect, flag, or a really important and powerful one, net/http. Like, why would you learn the archived package Gorilla, but not go over net/http? The standard libraries is one of the most powerful features of Go IMO, and I think knowing them is a great skill for any Go developer
  • I would definitely not place testing so down the list, it’s really easy to get started writing unit tests
  • This map has a good amount of popular external libraries; as an extension I would’ve probably also included viper for configuration.

Just some of my thoughts. This map did inspire me to look into some external packages I didn’t know about yet though, such as the ones for real time communication.

I’ve seen this “roadmap” before on developer-roadmap on GitHub, which contains multiple of these “roadmaps” (except that they’re interactive there). Though, as I said, I never really followed it – personally to any beginner I would recommend “a tour of Go” and all tutorials from Golang Cafe’s youtube channel. Once you know the basics, Nic Jackson has a great tutorial which also covers microservices, but in the first videos he goes over the fundamentals. I’m subscribed to Mario Carrion and Golang Dojo for regular Go content, and once you’re comfortable I would definitely recommend to start getting into the language specification, documentation and articles from the official Go blog.

Learning Go can be a rewarding experience, and there are several approaches you can take to become proficient in the language. Here is a roadmap to get started with learning Go::

Learn the basics
Practice writing code
Explore Go package and libraries
Learn best practice
Build larger projects

Your roadmap looks like great starting point for beginners and by continually expanding and updating it you can provide a valuable resource for those interested in learning golang.