Welcome to the comprehensive roadmap for advancing your Go (Golang) skills beyond the basics! Building upon the foundational knowledge covered in the beginner section, this roadmap offers a diverse array of advanced topics, tools, and concepts to deepen your understanding and proficiency in Go development. Whether you're interested in web development, systems programming, distributed systems, microservices or exploring cutting-edge techniques, this roadmap provides a roadmap for your continued growth and mastery of Go. Let's dive in and elevate your Go programming expertise to the next level!
If you find this project useful for learning or starting your own solution, we would greatly appreciate it if you could give it a ⭐ star.
Thank you for your support!
-
Prerequisites
-
General Development Skills
- Learn GIT, create a few repositories on GitHub, share your code with other people
- Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
- Learn about implementation of a basic Authentication
- Read a few books about algorithms and data structures
- Solid principles, architectural & design patterns, ecc
- Basics of software testing (unit, integration, e2e)
- SQL
-
CLI Tools
-
Web Frameworks + Routers
-
Databases
- Relational
- Cloud Databases
- Search Engines
- NoSQL
-
ORMs
-
Caching
- GCache
- Distributed Cache
-
Logging
-
Real-Time Communication
-
API Clients
-
Good to Know
-
Testing
-
Task Scheduling
-
MicroServices
- Message-Broker
- Building message-driven
- Frameworks
- RPC
The roadmap is built using Draw.io. Project file can be found at ./go-advanced/golang-advanced-roadmap.drawio.xml
file. To modify it, open draw.io, click Open Existing Diagram and choose xml
file with project. It will open the roadmap for you. Update it, upload and update the images in readme and create a PR (export as png with 400% zoom and minify that with Compressor.io).
- Open a pull request with improvements
- Discuss ideas in issues
- Spread the word