Starting with a Golang journey
I want to rekindle my interest in programming again, and this time I choose to go with Golang.
Roadmap (how to start)
The first thing that comes to mind is having a structured learning experience. this time instead of going to the classroom, I looked up the roadmap.sh m, I look up the roadmap.sh (https://roadmap.sh/golang)
I decided to start learning a few things from the go.dev tutorial here; this is going to be a non-linear learning method, considering it like the open world exploration, random pecking into the Golang as we make demo program, and test writing codes. Hence I directly jump into the intrinsic part of the Golang how to refer to the module, basic error handling, and function, variable declaration. I guess the rest would fall into its place as we start building some mini-application. The quick tour of Golang, help me to understand and appreciate the cleanliness of the language itself. (https://go.dev/tour/basics/11)
Tools and Editors (what to use)
thinking of working on the Linux machine, primary choice Fedora Linux, Gnome
tested with GoLand, JetBrains product to observe how it goes. Eventually, I decided that this is kind of similar experience if one already knows how to customise for the VSCode. Hence I go with Visual Studio Code.
I have a feeling that JetBrains IDE is getting more and more like Visual Studio code. Perhaps behind the scenes, there is some kind of conspiracy for the cloud-based environment, cloud-native concept? (not sure, “shrug”). Nonetheless, I’m happy with the VS Code for now, given it offers me better flexibility and is kind of pocket-friendly at the moment.
Some ideas to build upon Golang
In order to make use of what Golang could offer, perhaps I could try with some cli, or TUI- terminal user interface, to build something that might be useful for me? Here’s some idea that pop into my mind.
using Golang to populate a database on MongoDB with some open-source self-hosted solutions information.
build something like a Multi-User Dungeon, in a text-based format?
contribute to the open-source project that’s written in Golang. Kubernetes, microservices related? example one: https://github.com/zeromicro/go-zero
study and learn tools in the CNCF Landscape. https://landscape.cncf.io/
Additional Inspiring content I found as I started on this article
Golang in the Game Development and operations in RiotGames https://technology.riotgames.com/news/leveraging-golang-game-development-and-operations
Learning Golang from the FreeCodeCamp resources: https://www.freecodecamp.org/news/tag/golang/
Why should go for Golang in the next big project: https://www.scalefocus.com/blog/why-you-should-go-with-go-for-your-next-software-project