Golang was released in 2012, making it a relatively new language when compared to competitors like Python, which was released nearly two decades prior, yet it’s managed to stay ahead of the game as not only a coveted language by employers, but also loved by programmers.
Literally, my LinkedIn page is constantly flooded with recruiters looking for Go programmers, so if you’re looking to pick up a language, you’ve come to the right place.
But what’s the best way to learn Golang?
Like most things in life, there’s no one right answer, and in this article, I’ll break down the 7 best ways to learn Golang so you can find one that suits your unique circumstance.
🔗 Learn Go the interactive way
Science and students alike attest to the power of interactive learning, and that’s why one of the best ways to learn Golang online is to do so interactively. For this style of teaching, my favorite go-to option is right here on Boot.dev. Its ingenious use of a browser-based coding portal makes practicing the coding techniques feel like second nature.
In their Learn Go course, where you’ll get to practice basic and advanced coding methods like creating a local Go environment, concurrency, and special data types. The real cherry on top though is everything is geared towards getting you employed. So, not only do you get the necessary hands-on experience, but you’ll get access to Go interview prep and learn what to expect and how to ace your next interview.
And once all that is done, you get to hop on discord to chat with the Boot.dev community to discuss not only the learning material but also current trending hot topics in the field.
🔗 Learn Go the free way
If you’re not sure about spending money just yet, there’s always the free method of learning Golang.
This is a great way for potential new programmers to get a taste of coding, and the computer science industry in general, and gain a better idea if it’s a right fit for them before investing. It’s also useful for experienced programmers who just want a brush up on their Golang basics.
The easiest way to learn Golang for free is with freeCodeCamp, a non-profit organization that’s mission is to help anyone who wants to learn how to code, code no matter their circumstance.
With over 8,000 tutorials, you’ll get access to free Golang tutorials, projects, and guides that promise to give you what it takes to become a Golang programmer. Their video lessons are also integrated with YouTube, so you can watch all the videos there ad-free!
While they cater to all skill levels, I would suggest beginners invest in other courses at some point, if only for more constructive hands-on experience, however, professional programmers will probably have enough knowledge under their belt to do fine.
Boot.dev also offers free access to its courses, and you’ll get to test out the interactive features for the first few lessons before having to commit.
🔗 Learn Go your own way
Some people like to take the already cleared path, while others like to pull out a chainsaw and start hacking away at shrubs to create their own. If you identify with the second person, then the best way to learn Golang might be to blaze your own path.
If structured syllabi stress you out and tutors annoy you, then hop over to YouTube or the Golang documentation for an unstructured heap of resources covering everything from fundamentals to deep dives into advanced topics.
There are hundreds of dedicated coding channels on Youtube to choose from on the site, starring programmers that have devoted hundreds of hours to giving us content, but my favorite is the Tech with Tim channel.
Tech with Tim is a verified channel that has over 20 videos centered around Golang concepts. They all sit at around 20 minutes each, so they’re short and sweet and perfect for any lifestyle. What I also really appreciate about Tim is his real-world insight into the coding profession, so you get great advice alongside great content.
All of his Go videos were also made recently, so you don’t have to worry about learning out-of-date concepts and methods.
All in all, this channel, along with many others, give you the flexibility to create your own curriculum, which I know is highly desirable for experienced coders already intuitive enough with programming to not need the hand-holding aspect of online courses.
🔗 Learn Go the fast way
Not everyone has months to spend learning a language, they need to master the Go language quickly, and in that case, I recommend learning Golang by completing projects.
Golang is an open-source language, meaning it’s free to use by everyone, and because of that there are plenty of open-source projects for you to work on. This is the fastest way to learn Golang because it throws you into the deep end, so to say, making you come to grips with implementing concepts faster. It also helps shape your thinking around coding quicker.
GitHub is a great resource for this style of learning. It’s where coders go to thrive, and there are tons of useful projects to work on, as well as communities to join where they can help you with error handling and show you different methods.
It’s best if you choose a project that actually benefits you. For instance, choosing a project that automates a function that helps with work. This will help motivate you to complete the project, but also gain a useful tool afterward.
If you like the idea of learning with projects but want something with a bit more structure, Boot.dev also uses mini-projects throughout its teachings to help you practice coding as well as to measure your progress.
🔗 Learn Go the fun way
Taking online courses often feels like picking up another full-time job. Between studying, memorizing, and practicing, especially after a long day, it’s hard to retain and enjoy the information you’re learning, but luckily there’s a fun option.
CodeWars has entered the chat
Codewars is a fantastic new coding platform that turns coding into a competitive browser-based game. Compete alongside other coders in your same skill level bracket in missions called “katas”. Here you’ll be tested on how fast and efficiently you solve the coding problem.
You’ll play through the ranks all while sharpening your skills and gaining new techniques by receiving instant feedback on your answers. The community is also a great place for collective wisdom and learning about different styles from all over the world. You’ll even get the chance to craft your own katas for the platform.
You do have to prove a basic understanding of the language you want to play with, so it’s not for complete beginners, however, it is a welcoming and fun environment for new and old coders.
I also think this is a great resource to use alongside any of the other methods listed here to help build your critical thinking when it comes to coding.
🔗 Learn Golang the old-fashioned way
If the above methods have left you longing for the simpler days, when you just needed a book, pen, and paper to learn what you needed, then perhaps the best way for you to learn is the hard way.
I wouldn’t say this is the hard way per se, especially if you’re akin to this style of learning, but it can take longer to learn and requires a certain level of attention and motivation from your end.
Either way, the first book I draw your attention to is The Go Programming Language by Alan A. A. Donovan and Brian W. Kernighan. This book is like the bible of Golang, you’ll see it first on nearly every list, reigning in praise from not only new programmers but also experienced ones.
Constructed of 13 chapters, this book assumes the role of the reader as completely new to Golang and starts by breaking down basic concepts, data types, and the program structure of Go, then in later chapters moving onto concurrency, low-level programming, and testing.
Beginners will find its thorough digestion of the language useful for building that core foundation needed to work with the language, while advanced programmers will appreciate the ability to reference back to more complex aspects that aren’t stored in your accessible memory.
However, if you want something a bit more friendly – and cheaper – An Introduction to Programming in Go by Caleb Doxsey is an excellent choice. If you’ll notice in the title, it’s an introduction to programming in Go, not an introduction to Go. Therefore, this book’s primary aim is to show aspiring coders the thinking and understanding behind the art of programming itself first, and the language second.
This works because:
- You need to learn to walk before you can run. Programming itself is a craft that you need to understand before building elaborate applications.
- Golang is an incredibly simple language to learn, so it’s an ideal language to support the teaching of programming as a whole, making this book the perfect culmination of fruitful learning for new coders.
These books also make great additions to the other forms of learning Golang, to help seal in knowledge and provide resources.
🔗 Learn Golang the Certified Way
There’s no one right way to learn Golang, as we’ve seen, but there is the certified way that leaves you with proof of your expanded skill set, ideal for portfolios and future interviews.
Typically after completing a course you’ll receive a certificate demonstrating your knowledge, and one great place you see this is Coursera. Coursera offers courses on a wide variety of topics that are instructed and accredited by formal universities. So, not only do you get certification from the site, but you get it from the partnered university.
For example, their Programming with Google Go Specialization by the University of California is a three-part series that teaches you Go basics, methods, and concurrency.
The only downside to this program is it’s not for true beginners, so you’ll need to have some related coding experience, and Coursera’s courses take a while to complete. You’re banking on taking around 6 months on average to complete their work. It’s also more expensive, with courses costing $45+ a month. The real draw here though is in the University accredited certification.
However, if you want a cheaper option – or quicker – Boot.dev offers certification with their courses when you subscribe, giving you a less intensive alternative to certified learning.
🔗 The Best Way To Learn Golang For You
There are tons of ways to learn Golang, some better than others, and some working better together! But the question isn’t about what’s the best way to learn Go, but what’s the best way to learn it for you.
Don’t hesitate to try out multiple methods listed above, especially the free ones, and create your perfect learning environment.
In the meantime, audit our Learn Go course for free, and head over to our playground for some light coding practice!