How to learn backend with Go

Hi, everyone!

I hope you’re all doing well!

I’m having some trouble learning how to build real applications in Golang (or really in any programming language). I find myself overwhelmed by the vast amount of information and unsure of how to proceed effectively.

Here are a few specific challenges I’m facing:

  1. Where do I start? When I open my editor and start main.go, I often find myself staring at the screen for a long time, unsure of what to do next. I try to write something but end up feeling stuck and burned out.
  2. Confusing resources: I’ve tried searching for articles and tutorials, but they often make things more confusing by introducing a lot of packages and functions. I get overwhelmed by the various methods and structures without a clear sense of how they fit together.

I know I’m not alone in these struggles, as I’ve been able to learn algorithms before and found them manageable. However, real-world applications seem to have a lot more “wrapping” and complexity, especially with built-in packages like bufio, io, and net/http.

I would be genuinely grateful for any advice or strategies you might have for overcoming these challenges. I’m sure others have faced similar issues and might have found effective ways to work through them.

Thank you!

1 Like

Web apps means to me a web server and database connections. Backend is a part of web apps, but also involve many other things. Like html templates that is both backend and a bit frontend.

I started with the simplest possible. “hello world”. But even this is a challenge as you have to set up a server and manage the backend of the backend. This hello world is hosted on IONOS 1GBP a month VPS XS.

Searching without a personal goal, is to me a waste of time IMO. Decide what to build first and then take the next step. Baby steps…

1 Like

You are right, thank you, I was thinking about creating basic crud application, but got overwhelmed to where start even with that :dotted_line_face:, like file structure, how to connect database (docker again?).

But, now I think I will just ignore all of that and start everything in main.go, use sqlite and just print some messages for every endpoint

Yes, start building a Mercedes or Tesla is a big elephant to swallow. And Docker may not be the first thing you consider to learn?

Even using Sqlite may be overwhelming as a starting point. Just do the endpoints first and then add Sqlite later IMO. Besides this, you cannot learn backend without any knowledge of how to make it live on the internet.

Start small. I have given this advice plenty of times, but, a simple task tracking app for your own use only is a fun way to start. When I’m learning a new framework/whatever I often create a task tracking app (like I built one to learn Flutter a while back). Just try to figure out something that sounds fun to build, and build it! That’s kind of the best way to learn other than a structured learning environment IMO.



I am commenting to put your mind at rest. I am a great beginner who knows nothing about Golang, and who is not good at math at all, but I want to give it a try, and I here because I believe it is possible. I still feel overwhelmed, because I did a lot of research (online), but today I have decided to start.

If you are talking about the backend, that means you can even teach me :slight_smile:
Be reassured, and follow the advices of good souls who have replied.

I am genuinely grateful for your post, and wish you the best.
Thank you!


Try do something first. Strongly recommend Coding Challenges, pick something from it that you are interested in, dig the concept, then try to implement it in Go (or any language you would like to learn) =)

1 Like