Movatterモバイル変換


[0]ホーム

URL:


IntroducingLessons by byteSizeGo. Short sharp lessons to help you master Go, with new lessons every week!
We all learn differently and at different paces. Finding content that is right for us is challenging. Below is my attempt to curate all the great content I have come across over the years into one place to hopefully help folks advance their Golang journey to the next step.

Learning Go in 2024; From Beginner to Senior


We all learn differently and at different paces. Finding content that is right for us is challenging. Below is my attempt to curate all the great content I have come across over the years into one place to hopefully help folks advance their Golang journey to the next step.

None of the links below are affiliate links, but some of the content has been created by me; usually because I created it to fill a gap. I have called out where this is the case. I also recently launchedlessons which I think will be useful for folks at all levels, so do check that out.

The way I see it, there are four main ways people like to learn:

I have therefore split each of the levels into these categories. It’s impossible for this to be conclusive, but feel free to leave comments with other recommendations. I’ll check them out and add them if I think they are great.

Just Starting Out - The Beginner Gopher

a beginner gopher

If you have minimal/no Go experience start here. If you have built at least one Go application that has some business logic and it runs, you can probably graduate to the next section.

Books/Blogs

Video Courses/Conference Talks

What Should I Build?

At this stage, the most important thing you can do is just get familiar with the syntax, get Go working on your machine and find an IDE you like.

As a project, I recommend building something with the following requirements:

  1. Is a CLI app.
  2. When you run your program, it asks you for the date of birth.
  3. The program calculates your age and prints it back to your console.
  4. Do not use any third-party libraries, use only the Go Standard library.

If you can complete this project without support, then:

If you’re looking for further things to build, check outCoding Challenges. At this level, the WC task seems a good one.

Listen

A Little Experience - The Junior Gopher

a junior gopher

If you finished the CLI exercise mentioned above, then you’re ready to jump into the content below to take yourself to the next level! By the end of this section you should have a deeper understanding of Go, have built quite a few applications and be ready to start applying for jobs.

Books/Blogs

Video Courses/Conference Talks

What Should I Build?

Exchange rate server

Requirements:

Commentary:

The GO team provides guidance onhow to organize a project, and here is a post byDave Cheney on how to write Table tests.

If you’re looking for further things to build, check outCoding Challenges. Building your own Spotify Client seems a good task at this level.

Listen

Some Experience - The Mid-level Gopher

If you have a few greenfield projects under your belt and have also made meaningful changes to existing Go codebases that you didn’t write, then you’re a mid-level gopher. Leveling up from here is digging into some of the more advanced patterns and tools that Go has to offer.

Books/Blogs

What Should I Build?

Develop a tool that scrapes information from websites and presents it in a useful format.

Requirements:

If you’re looking for further things to build, check outCoding Challenges. Building your own Memcached seems a good task at this level.

Video Courses/Conference Talks

Listen

A lot of Experience - The Senior Gopher

a senior gopher

At this point, you have shipped a ton of Go to production, maintained Go systems, and made improvements to Go code written by others. Leveling up from here is to learn more about architecture and technologies that complement your Go skills.

Books/Blogs

What Should I Build?

Build a framework that simplifies the development of distributed systems in Go.

Requirements:

Take inspiration fromgo-kit.

Video Courses/Conference Talks

Listen

Keeping up to Date

Software Engineering, both in Go and in any other language, is a lifelong commitment to learning. It’s important to dedicate time to keep up to date.

Wrapping up

It took me a long time to compile this list, so I hope you found it helpful. Let me know if it’s helpful and if there is any other content I should review and add!


[8]ページ先頭

©2009-2025 Movatter.jp