The way I'm learning Go

23 Apr 2017

A few weeks ago I began to learn the Go language, and so far it has been a very enriching experience.

I discovered that it is true what most say: in a few days you can learn most of the features the language offers. It’s easy to install, it’s simple to read, it runs very fast and the tools are fantastic.

The first day was easy. Shortly after starting I had my Hello World program working. A little more and I had created my first package, and I had shared it on Github.

I created tests, ran benchmarks and formatted the code with the go fmt command.

Then I published a web application in Heroku following the Getting Started with Go on Heroku guide.

Being a Rails programmer for several years, learning the Go approach to programming felt great.

But {

After doing all this things I did not have good ideas on how to continue. I got to the point where I wanted to do something productive, but I still did not feel confident enough to start a project in Go.

I started reading documentation, and I ran some examples from the Go by example website, but I was not feeling motivated, and I finally got bored.

}

Luckily it occurred to me to start watching Go conference videos on YouTube, and I came across a presentation from Katrina Owen titled Mind the Gap. It’s a fantastic talk. Please, watch it!

The next thing I did was to follow her advice and start solving exercises in Exercism. And it was awesome!

Since then, this platform has helped me a lot to understand and improve my programming in Go. When you solve a problem, and your code passes the tests, you can submit your solutions and see other people’s code.

This has definitely helped me a lot to correct mistakes, to find more idiomatic ways to program and write better code in general.

I think what I needed was a bit more security. I feel that I am now much more fluent in the language, and I am beginning to feel like starting some new projects.

I strongly recommend this platform. I really want to continue learning Go this way, and then, maybe, start solving the Elixir exercises!!