Jason T Clark

Jason T Clark

Read. Interpret. Apply.

© 2020

Golang Learning Path

Life always seems to get in the way, but I finally got the chance to gather up a few resources to learn Go. With that, here’s how I plan to become a true shaman in golang…

Level I: The Basics

My current golang experience is quite slim. Based on what I’m trying to achieve, I should probably consider myself brand new to the language. I think that purchasing a few beginner and intermediate courses on Udemy to start of with should work fine, and there are enough courses on Go to shake a stick at. I damn near went broke buying all of the Udemy courses I could find on the subject. Nevertheless, I think that these courses are the easiest way to break into the language. Here they are (and in no particular order):

After covering the above courses, I’ll delve deeper into more specific topics with these Udemy courses:

Level II: Solving Problems, Answering Questions

Once I’ve completed all of the “level one” courses, I’m going to make a change in direction. At this point it will be time to step away from the comfort of instructor-led tutorials, and begin finding my own solutions to problems. For this phase of my learning, I’m thinking of tackling the following activities:

  • Advent of Code - I started working on these puzzles in Swift, and I thought that the exercises were a lot of fun. I’ll revisit this again and solve the puzzle using Go this time around
  • Hacker Rank - This will most likely be an ongoing thing- much like working out in the gym, I’m guessing that this site will simply become something that I can visit on regular basis to “bulk up”.
  • Stack Overflow - Being a golang expert also means that I have the ability to offer clarity where needed. I’ve reactivated my StackOverflow account, so by the time I’ve reached this level of my learning, hopefully I’ll be able to answer simple to intermediate-level questions about golang and help someone else in their journey.

Level III: Open-Source Contribution(s)

Finally, I think that once I have the ability to understand the basics, then it’s time to do one of two things:

  • Create a small, open-source golang project of my own, or
  • Contribute to the development an established golang project

Level IV: Now What?

I honestly have no idea what to do after I’ve reached this point in my learning. Perhaps the next challenge will reveal itself along the way or maybe someone that I encounter in my travels will shed some light on what the next move is from here. Perhaps the journey is to continue contributing golang code in an open source project, taking on more difficult bugs or feature implementations.

If you have any suggestions, I’m all ears. Otherwise, it’s time to get started!!