This is a roadmap i would take if i wanted to start over my learning path. It includes all things i considered important and useful. I divided it into several stages including some topics more than just backend alone. Hope you enjoy. I'll try to keep it updated.
- Data structures
- Time complexity concept and calculation
- ArrayList & LinkedList & Trees (binary and self balancing trees) & Queue & Stack
- Hashing & Hashtable
- Graph
- Graph Theory Tutorial from a Google Engineer first 2:30 hours
- Algorithms
- Sorting - ( bubble - insertion - quick - merge - heap ) sort
- Graph ( dfs - bfs - mst - shortest path - topological sort )
- Basics of string manuplation
- Searching
- Train in hackerearth it has tutorials and question
- Basic knowledge of network
- Computer Networking: A Top-Down Approach - section 2.2: The web and http
- Web Architecture 101
- Golang basics
- Tour of Golang official intro
- Go by Examples good for refreshing
- Uber Go Style Guide
- Clean Go Code
- Concurrency in Go First three chapters
- Git
- Linux Basics
- Text Processing Tools - sed,awk,tail,head,nano,trim
- How To Set Up SSH Keys
- Command Challenge
- Golang Useful Things
- Go Modules
- Parsing JSON files With Golang
- Reading And Writing To Files in Go
- Context package
- Creating a RESTful API With Golang
- Consuming A RESTful API With Go
- Basic HTTP Server
- Working With Environment Variables in Go
- https://levelup.gitconnected.com/a-practical-approach-to-structuring-go-applications-7f77d7f9c189
- Postgresql
- Design patterns
- Authentication
(cool things go brrrr)
- Introduction to Docker
- Go concurrency design patterns
- Concurrency in Go 4th chapter
- Go Concurrency Pattern: Worker Pool
- Test Driven Development
- Bash Scripting
- System Architucture & Microservice Concepts