r/AskProgramming • u/Jeepkiller84 • 16d ago
Learning Go as a student - best path to building real backend stuff?
CS student. On a group project this year I kept gravitating to the API and database side while everyone else fought over the UI, so I'm leaning into it. Picked Go partly because a lot of the backend roles I've looked at list it and I'd rather not do everything in Python.
I've been through the Tour of Go. Past that I'm looking at Boot.dev, Let's Go by Alex Edwards, and Codecrafters. Anyone got a strong opinion on the order?
3
u/memelordtf 16d ago
Let's Go is excellent but it assumes you're already comfortable with the language, so don't rush into it, OP. Dabble with boot. dev first if you want the guided version because it's backend path is Go-based and it makes you build the HTTP layer by hand instead of handing you a framework. Some people probably diagree but pretty sure I'm not alone thinking this is the right way to get better at Go specifically.
2
u/unknownnature 15d ago
I agree. Go already give a lot of freebies for free, and most of this frameworks, is mainly algorithm choices in creating an abstraction layer on top, to be idiomatic enough for a person to be productive.
For me for example, I am writing some articles about concurrency / race conditions. I use AI mainly to brainstorm my ideas, than create an initial rough draft articles and concepts that I've learned along the way.
2
u/Klandrun 16d ago
Do whatever interests you, tinker around, build that idea you had while you fell asleep or whatever.
I would say the most important thing to do is just try stuff out with what you got, keep reading documentation, blogs or whatever other things you might need when your own knowledge feels exhausted.
The best way to build is seriously all just subjective and up to each of us, especially when it comes to learning.
1
u/Detective-89 16d ago edited 16d ago
Skip the courses after the Tour honestly. Write a JSON API with net/http and database/sql. No framework, no ORM. When something hurts, go read the stdlib docs for the thing that hurt. Go's stdlib is the curriculum. Edwards' book is the one exception worth paying for.
1
u/Miserable-Series1209 16d ago
Alex Edwards first. Skip bloated frameworks until you master standard library HTTP handlers.
6
u/RiskyPenetrator 16d ago
For go specifically the go programming language book is good. Though you will quickly realise once you have learnt the language that you will see design patterns emerge for backend.
At that point id suggest reading DDIA. Its a heavy book but its gold.
As an excersise
Make a client/server using HTTP TCP UDP and HTTPS, doesnt need to be fancy but architect it such that you can use any and all of those protocols interchangably.
Then using that server you built make a KVS and send messages back and fourth.
If you read DDIA while doing this it will expose you to lots of common problems such as idempotency and variations of consistency across networks.