My approach to learning Golang for absolute beginners.

October 29th 2019 | By Morgan Shadung | In Learning  Golang  Back-End 
Image

Everyone who knows me (professionally) knows my obsession with Google's Golang language. For the longest time, it was always a mission for me to understand GoLang's language spec, and some of the potential Devs who've looked in there have run for the hills in the pursuit of other careers. Just kidding - some of us remained...

I don't really enjoy explaining code(Yeah, I'm working on improving this). I'd much rather give an overview of what I'm trying to accomplish, along with the code - and let curious minds follow the code and try to understand it. Playing with Golang has changed my approach to learning, in that - I've found that you will not really understand the language spec & docs unless you experiment a little.

A while ago, when I was taking an online course by Todd McLeod titled "Learn How To Code: Google's Go (golang) Programming Language", I found myself trying to get more examples of how I could learn about structs, interfaces, and methods. By the way, I highly recommend this course for anyone who wants to learn programming/developing as a career, or for anyone who wants to master Golang.

So, let me cut to the chase of why I wrote this article. Here are the steps to getting the most out of any online resource you wish to learn from:

-> Watch the videos and try to understand what's being taught.

-> Watch them as many times as you need to understand the lesson. There's no shame in not understanding.

-> Engage with the course instructor and other students who are taking the course. Join social media groups, slack channels/communities, sign up to newsletters.

-> After watching online video content, close or pause the video and try to recreate the examples taught. This is the most important piece of advise I picked up from watch watching online video tutorials.

-> Recreate the examples using your own scenarios. Try to write a whole new example if you have to.

-> Stay away from "cramming" solutions and using concepts you don't fully understand.

I taught myself the above-mentioned concepts when I started learning Golang. I remember looking online for real-world examples I could recreate in order to understand structs, interfaces, and methods. In one of Todd's videos he illustrates how one could make the use of structs, interfaces, and methods to calculate the area of a particular shape. Using the same example while unsure of what's being taught wouldn't have helped me. So I took to the "Google search streets" in pursuit of a different, but related example(I used this Volume calculation example here).

Below is the code I quickly put together in order to grasp the concepts that were being taught at the time:


This really helped me understand the concepts used because I was following an example I found and chose on my own. For once I could finally understand Todd's use of the phrase "Ease of Programming...".

So in conclusion, I urge you to use the examples given(in all tutorials and for any subject you're trying to learn) and to actually do the rookie thing of pausing and struggling on your own before looking at the solutions. This is how you will improve as a Software Engineer/Developer. I hope this helps anyone who feels discouraged in their journey.

Links to my Gist & Golang Playground link:

Read more articles below

Image
October 21st 2019 | By Morgan Shadung

As you all may know - "Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase." Dive in to read about my journey with Flutter.

Read More
Image
January 15th 2019 | By Morgan Shadung

I've been asked numerous times, and by many developers to help them find a productive learning strategy that works.

Read More
Image
January 13th 2019 | By Morgan Shadung

A reminder to stay curious and hungry. A reminder to keep working hard and holding yourself accountable.

Read More