# Starting with a Golang journey

## 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](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](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 a similar experience if one already knows how to customise for the VSCode. Hence I go with Visual Studio Code.
    
* ![The goland IDE experience](https://cdn.hashnode.com/res/hashnode/image/upload/v1726446479622/9fde343a-9e1d-410c-a410-d327a77bd40b.png align="center")
    

![this is the visual code example](https://cdn.hashnode.com/res/hashnode/image/upload/v1726641552518/d4e861d7-9b24-4e53-bc78-5f316738995f.png align="center")

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

To make use of what Golang could offer, perhaps I could try some CLI, or TUI- terminal user interface, to build something that might be useful for me. Here’s some idea that popped 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](https://github.com/zeromicro/go-zero)
    
* study and learn tools in the CNCF Landscape. [https://landscape.cncf.io/](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](https://technology.riotgames.com/news/leveraging-golang-game-development-and-operations)
    
* Learning Golang from the FreeCodeCamp resources: [https://www.freecodecamp.org/news/tag/golang/](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](https://www.scalefocus.com/blog/why-you-should-go-with-go-for-your-next-software-project)
