index

Attempting to master Golang

· 2min

What’s this about?

I’ve been putting off the idea of learning to write Golang for the last year. It has mostly been because of my laziness and partly because life, work has been extremely hectic.

I’ve now decided to document my learnings on a day-to-day basis so that I’ll have the motivation to see this through. I’ll keep on updating this blog post with learnings, and updates from each day.

I’m also documenting how I’m approaching the whole thing. I’d consider myself a solid mid-senior level engineer. Since I’ve been coding professionally for the last 5 or more years, my approach to learning a new language is very much different compared to how I would have done it when I was a junior. Most of the progamming fundamentals more or less remain the same between languages, so its gonna be fun attempting to pick up Golang.

Time to disable the cursor tab for Go. I’m not going to really use any assisted coding utilities through-out this process. I’d definitely use the ask-mode on cursor for some back and forth at times, cause that’s just more efficient.

My approach

I have picked out a fun little project to build as part of the learning process. My idea is to build a TUI combining Monkey type & Type racer.

The feature set that I have in my mind are as follows:

  • Core keystroke capture mechanics
  • Engine to calculate WPM (Words per minute)
  • A global/regional leaderboard
  • A type racing lobby (this helps me explore sockets in Golang)

Day 1 - 25 May

I’ve been scouring the internet and found few fantastic resources.

The above three have been super helpful with helping me get familiar with the syntax. I haven’t gone through everything in these three yet, that’s humanly impossible haha. I’m using these as quick lookup textbooks, sort of.

I’ve not really started working on the project yet, I’m taking the time to get used to the quirks of the language itself (mostly things like syntax, declaration etc).