Here we introduce some useful resources that we think it can help Golang developers to learn and be prepare for this role. Although the list is short and the books are limited, we consider it as a starting point for enthusiasm developers to start from.
- The Go Programming Language, by Alan A. A. Donovan and Brian Kernighan
- Concurrency in Go: Tools and Techniques for Developers, by Katherine Cox-Buday
- Go in Action, by Brian Ketelsen, Erik St. Martin, and William Kennedy
- A Philosophy of Software Design, by John Ousterhout
- Building Microservices: Designing Fine-Grained Systems, 2nd edition, by Sam Newman
- Microservices Patterns: With Examples in Java, by Chris Richardson
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, by Martin Kleppmann
- Fundamentals of Software Architecture: An Engineering Approach, by Mark Richards
- System Design Interview - An Insider's Guide, by Alex Xu