├── main.go ├── go-advanced ├── golang-advanced-roadmap.drawio.png ├── README.md └── golang-advanced-roadmap.drawio.xml ├── go-beginner ├── golang-beginner-roadmap.drawio.png ├── README.md └── golang-beginner-roadmap.drawio.xml ├── i18n └── README.md └── README.md /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func main() { 6 | fmt.Println("Hello Gopher - Welcome to the club") 7 | } 8 | -------------------------------------------------------------------------------- /go-advanced/golang-advanced-roadmap.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baselrabia/Golang-Roadmap/HEAD/go-advanced/golang-advanced-roadmap.drawio.png -------------------------------------------------------------------------------- /go-beginner/golang-beginner-roadmap.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baselrabia/Golang-Roadmap/HEAD/go-beginner/golang-beginner-roadmap.drawio.png -------------------------------------------------------------------------------- /i18n/README.md: -------------------------------------------------------------------------------- 1 | ## Welcome Golang Gophers Contributors! 2 | 3 | ### Contribute to Translation 4 | 5 | Thank you for considering contributing to the translation efforts of our README file. Your contributions play a vital role in making our project accessible to a wider audience. 6 | 7 | ### How to Contribute: 8 | 9 | 1. **Choose a Language:** Decide which language you'd like to translate the README into. 10 | 2. **Fork the Repository:** Fork this repository to your own GitHub account. 11 | 3. **Create a New Branch:** Create a new branch for your translation work. 12 | 4. **Translate the README:** Edit the README file in your chosen language, ensuring accuracy and clarity. 13 | 5. **Submit a Pull Request:** Once you're done with the translation, submit a pull request to merge your changes into the main repository. 14 | 6. **Collaborate:** Feel free to collaborate with others, review translations, or suggest improvements. 15 | 16 | ### Guidelines: 17 | 18 | - Ensure the translation is accurate and maintains the original meaning. 19 | - Keep the formatting consistent with the main README. 20 | - If you're unsure about any terminology or context, don't hesitate to ask for clarification. 21 | 22 | Thank you for your contributions in making our project more accessible and inclusive! -------------------------------------------------------------------------------- /go-beginner/README.md: -------------------------------------------------------------------------------- 1 | # Golang Beginner Roadmap 2 | 3 | Welcome to our beginner-friendly roadmap for learning Go (Golang)! This concise guide is designed to gently introduce newcomers to the language, focusing on fundamental concepts without overwhelming you with excessive content. Whether you're curious about programming or transitioning from another language, this roadmap will provide a clear path for acquiring essential skills and building a solid foundation in Go development. Let's embark on this journey together and unlock the exciting world of Go programming! 4 | ## Give a Star! :star: 5 | 6 | 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: star.
Thank you for your support! 7 | 8 | ## Roadmap 9 | 10 | ![Golang Beginner Roadmap](./golang-beginner-roadmap.drawio.png) 11 | 12 | 13 | ## Resources 14 | 15 | 1. Prerequisites 16 | 17 | - [Go docs ](https://go.dev/doc/) 18 | - [Tour of Go](https://go.dev/tour/welcome/1) 19 | - [Go by Example](https://gobyexample.com/) 20 | - [Go Modules](https://blog.golang.org/using-go-modules) 21 | 22 | 2. General Development Skills 23 | 24 | - Learn GIT, create a few repositories on GitHub, share your code with other people 25 | - Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS) 26 | - Learn about implementation of a basic Authentication 27 | - Read a few books about algorithms and data structures 28 | - Solid principles, architectural & design patterns, ecc 29 | - Basics of software testing (unit, integration, e2e) 30 | - [SQL](https://www.w3schools.com/sql/default.asp) 31 | 32 | 33 | 3. CLI Tools 34 | 1. [cobra](https://github.com/spf13/cobra) 35 | 36 | 4. Web Frameworks + Routers 37 | 38 | 1. [Gin](https://github.com/gin-gonic/gin) 39 | 2. [Chi](https://github.com/go-chi/chi) 40 | 3. [Echo](https://github.com/labstack/echo) 41 | 4. [Fiber](https://github.com/gofiber/fiber) 42 | 43 | 5. Databases 44 | 45 | 1. Relational 46 | 1. [MySQL](https://www.mysql.com/) 47 | 2. [PostgreSQL](https://www.postgresql.org/) 48 | 3. [MariaDB](https://mariadb.org/) 49 | 2. NoSQL 50 | - [MongoDB](https://www.mongodb.com/) 51 | - [Redis](https://redis.io/) 52 | 53 | 6. ORMs 54 | 55 | 1. [Gorm](https://github.com/go-gorm/gorm) 56 | 57 | 7. Caching 58 | 59 | 1. [GCache](https://github.com/bluele/gcache) 60 | 61 | 8. Logging 62 | 63 | 1. Log Frameworks 64 | - [uber-go/Zap](https://github.com/uber-go/zap) 65 | - [ZeroLog](https://github.com/rs/zerolog) 66 | - [Logrus](https://github.com/sirupsen/logrus) 67 | 68 | 9. Testing 69 | 70 | 1. Unit, Behavior, Integration Testing 71 | 1. [GoMock](https://github.com/golang/mock) 72 | 2. [Testify](https://github.com/stretchr/testify) 73 | 74 | 10. Next Step 75 | - by checking the [Go Advanced Roadmap](./go-advanced/README.md) 76 | 77 | 78 | ## Contribution 79 | 80 | The roadmap is built using [Draw.io](https://www.draw.io/). Project file can be found at `./go-beginner/golang-beginner-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](https://compressor.io/compress)). 81 | 82 | - Open a pull request with improvements 83 | - Discuss ideas in issues 84 | - Spread the word 85 | 86 | ## License 87 | 88 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) 89 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Golang Roadmap 2024 2 | 3 |

4 | Golang Gopher Roadmap beginner to advanced 5 |

6 | 7 | 8 | 9 | > Golang Roadmap for becoming a [Go](https://golang.org/) developer in 2024: 10 | 11 | The charts below are a guide that explains the paths that will take you to learn and become a Go developer. This chart is created as a helpful tip for everyone who asks, "*What should I learn next as a Go developer?*" 12 | 13 | ## Disclaimer 14 | 15 | > GoLang Gopher Roadmap provides a clear path for your learning journey in GoLang. Our roadmap focuses on understanding the landscape, helping you choose the right tools for the job, and avoiding hype-driven choices. Dive in, explore, and enhance your skills with a well-rounded understanding of GoLang development. 16 | ## Give a Star! :star: 17 | 18 | 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: star.
Thank you for your support! 19 | ## [Go Beginner](./go-beginner/README.md) 20 | The Golang Roadmap is separated into two parts, the [Go Beginner Roadmap](./go-beginner/README.md) is designed to gently introduce newcomers to the language, focusing on fundamental concepts without overwhelming you with excessive content. to get more details check on [Go Beginner Roadmap](./go-beginner/README.md) 21 | 22 | ![Go Beginner Roadmap](./go-beginner/golang-beginner-roadmap.drawio.png) 23 | 24 | 25 | ## [Go Advanced](./go-advanced/README.md) 26 | The General Roadmap [Go Advanced Roadmap](./go-advanced/README.md) is 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. to get more details check on [Go Advanced Roadmap](./go-advanced/README.md) 27 | 28 | ![Go Advanced Roadmap](./go-advanced/golang-advanced-roadmap.drawio.png) 29 | 30 | ## General Resources 31 | - go.dev 32 | - [Go docs ](https://go.dev/doc/) 33 | - [Tour of Go](https://go.dev/tour/welcome/1) 34 | - [Go by Example](https://gobyexample.com/) 35 | - [Go Modules](https://blog.golang.org/using-go-modules) 36 | 37 | - [Gophercises: FREE coding exercises for budding gophers](https://gophercises.com/) 38 | 39 | - [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/) 40 | 41 | - [Educative Golang for Programmers](https://www.educative.io/path/golang-for-programmers) 42 | 43 | ## Youtube Resources 44 | 45 | - Golang Arabic Resources 46 | - [Gophercises Coding in Go (Arabic) by ENG Ramy Aboul Naga](https://www.youtube.com/playlist?list=PL-s79PvYsn56nex_VS-ms_APNmfDgmc3k) 47 | 48 | - [General Golang topics in Arabic playlist](https://www.youtube.com/playlist?list=PLfGmsV6pPP6R0_AxXS1h66NJMHWDpsP2b) 49 | 50 | - YouTube playlists of the very best conference talks and video tutorials, tailored for beginners, intermediate, and advanced Gophers respectively: 51 | - [Golang University 101](https://www.youtube.com/playlist?list=PLEcwzBXTPUE9V1o8mZdC9tNnRZaTgI-1P): introduces fundamental Go concepts and shows you how to use the Go tools to create and manage Go code 52 | - [Golang University 201](https://www.youtube.com/playlist?list=PLEcwzBXTPUE_5m_JaMXmGEFgduH8EsuTs): steps it up a notch, explaining important techniques like testing, web services, and APIs 53 | - [Golang University 301](https://www.youtube.com/playlist?list=PLEcwzBXTPUE8KvXRFmmfPEUmKoy9LfmAf): dives into more advanced topics like the Go scheduler, implementation of maps and channels, and optimization techniques 54 | 55 | - General YouTube playlists 56 | - [Go Code Club](https://www.youtube.com/playlist?list=PLEcwzBXTPUE_YQR7R0BRtHBYJ0LN3Y0i3): a group of Gophers who get together to read and discuss Go code and learn a lot about the Go language, the standard libraries, and good Go style along the way. 57 | 58 | - Google for Developers 59 | - [Google I/O 2012 - Go Concurrency Patterns](https://www.youtube.com/watch?v=f6kdp27TYZs) 60 | - [Google I/O 2013 - Advanced Go Concurrency Patterns](https://www.youtube.com/watch?v=QDDwwePbDtw) 61 | 62 | - YouTube channels to follow 63 | - [Gopher Academy](https://www.youtube.com/@GopherAcademy) 64 | - [GopherCon UK](https://www.youtube.com/@GopherConUK) 65 | - [GopherCon Europe](https://www.youtube.com/@GopherConEurope) 66 | - [Anthony GG](https://www.youtube.com/@anthonygg_) 67 | - [Melkey DEV](https://www.youtube.com/@MelkeyDev) 68 | - [Bitfield Consulting](https://www.youtube.com/@BitfieldConsulting) 69 | 70 | - Podcasts 71 | - [The Go Time podcast](https://changelog.com/gotime) by [Mat Ryer](https://twitter.com/matryer) 72 | 73 | 74 | ## Top GitHub Repositories 75 | - [Awesome Go](https://github.com/avelino/awesome-go) 76 | 77 | - [Go Data Structures](https://github.com/emirpasic/gods) 78 | 79 | - [Standard Go Project Layout](https://github.com/golang-standards/project-layout) 80 | 81 | - [Design Patten in Go](https://github.com/tmrts/go-patterns) 82 | 83 | - [Ultimate Go notes](https://github.com/betty200744/ultimate-go) 84 | 85 | ## Naming & Organizing Packages - Code Structure Practices: 86 | * [GopherCon EU 2018: Peter Bourgon - Best Practices for Industrial Programming](https://www.youtube.com/watch?v=PTE4VJIdHPg) 87 | * [GopherCon Russia 2018: Ashley McNamara + Brian Ketelsen - Go best practices.](https://www.youtube.com/watch?v=MzTcsI6tn-0) 88 | * [GopherCon 2017: Edward Muller - Go Anti-Patterns](https://www.youtube.com/watch?v=ltqV6pDKZD8) 89 | * [GopherCon 2018: Kat Zien - How Do You Structure Your Go Apps](https://www.youtube.com/watch?v=oL6JBUk6tj0) 90 | 91 | 92 | ## Contribution 93 | 94 | The roadmap is built using [Draw.io](https://www.draw.io/). The roadmap file can be found for the beginner roadmap in the `./go-beginner/golang-beginner-roadmap.drawio.xml` file and the advanced roadmap `./go-advanced/golang-advanced-roadmap.drawio.xml` file. To modify it, open draw.io, click **Open Existing Diagram**, and choose the `XML` file with the 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](https://compressor.io/compress)). 95 | 96 | - Open a pull request with improvements 97 | - Discuss ideas in issues 98 | - Spread the word 99 | 100 | ## License 101 | 102 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) 103 | -------------------------------------------------------------------------------- /go-advanced/README.md: -------------------------------------------------------------------------------- 1 | # Golang Advanced Roadmap 2 | 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! 3 | 4 | ## Give a Star! :star: 5 | 6 | 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: star.
Thank you for your support! 7 | ## Roadmap 8 | 9 | ![Roadmap](./golang-advanced-roadmap.drawio.png) 10 | 11 | 12 | ## Resources 13 | 14 | 1. Prerequisites 15 | 16 | - [Go docs ](https://go.dev/doc/) 17 | - [Tour of Go](https://go.dev/tour/welcome/1) 18 | - [Go by Example](https://gobyexample.com/) 19 | - [Go Modules](https://blog.golang.org/using-go-modules) 20 | 21 | 2. General Development Skills 22 | 23 | - Learn GIT, create a few repositories on GitHub, share your code with other people 24 | - Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS) 25 | - Learn about implementation of a basic Authentication 26 | - Read a few books about algorithms and data structures 27 | - Solid principles, architectural & design patterns, ecc 28 | - Basics of software testing (unit, integration, e2e) 29 | - [SQL](https://www.w3schools.com/sql/default.asp) 30 | 31 | 3. CLI Tools 32 | 1. [cobra](https://github.com/spf13/cobra) 33 | 2. [urfave/cli](https://github.com/urfave/cli) 34 | 35 | 4. Web Frameworks + Routers 36 | 37 | 1. [Beego](https://github.com/beego/beego) 38 | 2. [Chi](https://github.com/go-chi/chi) 39 | 3. [Echo](https://github.com/labstack/echo) 40 | 4. [Fiber](https://github.com/gofiber/fiber) 41 | 5. [Gin](https://github.com/gin-gonic/gin) 42 | 6. [Revel](https://github.com/revel/revel) 43 | 44 | 5. Databases 45 | 46 | 1. Relational 47 | 1. [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-2017) 48 | 2. [PostgreSQL](https://www.postgresql.org/) 49 | 3. [MariaDB](https://mariadb.org/) 50 | 4. [MySQL](https://www.mysql.com/) 51 | 5. [CockroachDB](https://www.cockroachlabs.com/) 52 | 2. Cloud Databases 53 | - [CosmosDB](https://docs.microsoft.com/en-us/azure/cosmos-db) 54 | - [DynamoDB](https://aws.amazon.com/dynamodb/) 55 | 3. Search Engines 56 | - [ElasticSearch](https://www.elastic.co/) 57 | - [Solr](http://lucene.apache.org/solr/) 58 | - [Sphinx](http://sphinxsearch.com/) 59 | 4. NoSQL 60 | - [MongoDB](https://www.mongodb.com/) 61 | - [Redis](https://redis.io/) 62 | - [Apache Cassandra](http://cassandra.apache.org/) 63 | - [RavenDB](https://github.com/ravendb/ravendb) 64 | - [CouchDB](http://couchdb.apache.org/) 65 | 66 | 6. ORMs 67 | 68 | 1. [Gorm](https://github.com/go-gorm/gorm) 69 | 2. [Xorm](https://github.com/go-xorm/xorm) 70 | 71 | 7. Caching 72 | 73 | 1. [GCache](https://github.com/bluele/gcache) 74 | 2. Distributed Cache 75 | 1. [Go-Redis](https://github.com/go-redis/redis) 76 | 2. [GoMemcached](https://github.com/bradfitz/gomemcache) 77 | 78 | 8. Logging 79 | 80 | 1. Log Frameworks 81 | - [Zap](https://github.com/uber-go/zap) 82 | - [ZeroLog](https://github.com/rs/zerolog) 83 | - [Logrus](https://github.com/sirupsen/logrus) 84 | 2. Log Management System 85 | - [Sentry.io](http://sentry.io) 86 | - [Loggly.com](https://loggly.com) 87 | 3. Distributed Tracing 88 | - [Jaeger](https://www.jaegertracing.io/) 89 | 90 | 9. Real-Time Communication 91 | 1. [Centrifugo](https://github.com/centrifugal/centrifugo) 92 | 2. [Melody](https://github.com/olahol/melody) 93 | 94 | 10. API Clients 95 | 96 | 1. REST 97 | - [Gentleman](https://github.com/h2non/gentleman) 98 | - [GRequests](https://github.com/kennethreitz/grequests) 99 | - [heimdall](https://github.com/gojek/heimdall) 100 | 2. [GraphQL](https://graphql.org/) 101 | - [gqlgen](https://github.com/99designs/gqlgen) 102 | - [graphql-go](https://github.com/graph-gophers/graphql-go) 103 | 104 | 11. Good to Know 105 | 106 | - [Validator](https://github.com/go-playground/validator) 107 | - [Glow](https://github.com/pytorch/glow) 108 | - [GJson](https://github.com/tidwall/gjson) 109 | - [Authboss](https://github.com/volatiletech/authboss) 110 | - [Go-Underscore](https://github.com/ahl5esoft/golang-underscore) 111 | 112 | 12. Testing 113 | 114 | 1. Unit, Behavior, Integration Testing 115 | 1. [GoMock](https://github.com/golang/mock) 116 | 2. [Testify](https://github.com/stretchr/testify) 117 | 3. [GinkGo](https://github.com/onsi/ginkgo) 118 | 4. [GoMega](https://github.com/onsi/gomega) 119 | 5. [GoCheck](https://github.com/go-check/check) 120 | 6. [GoDog](https://github.com/DATA-DOG/godog) 121 | 7. [GoConvey](https://github.com/smartystreets/goconvey) 122 | 8. [Dockertest](https://github.com/ory/dockertest) 123 | 2. E2E Testing 124 | - [Selenium](https://github.com/tebeka/selenium) 125 | - [Endly](https://github.com/viant/endly) 126 | 127 | 13. Task Scheduling 128 | 129 | - [Gron](https://github.com/roylee0704/gron) 130 | - [JobRunner](https://github.com/bamzi/jobrunner) 131 | - [Gocron](https://github.com/go-co-op/gocron) 132 | 133 | 14. MicroServices 134 | 135 | 1. Message-Broker 136 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-go.html) 137 | - [Apache Kafka](https://kafka.apache.org/) 138 | - [ActiveMQ](https://github.com/apache/activemq) 139 | - [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview) 140 | 2. Building message-driven 141 | - [Watermill](https://github.com/ThreeDotsLabs/watermill) 142 | - [Message-Bus](https://github.com/vardius/message-bus) 143 | 3. Frameworks 144 | - [GoKit](https://github.com/go-kit/kit) 145 | - [go-zero](https://github.com/tal-tech/go-zero) 146 | - [Micro](https://github.com/micro/go-micro) 147 | - [rpcx](https://github.com/smallnest/rpcx) 148 | 4. RPC 149 | - [Protocol Buffers](https://github.com/protocolbuffers/protobuf) 150 | - [gRPC-Go](https://github.com/grpc/grpc-go) 151 | - [gRPC-Gateway](https://github.com/grpc-ecosystem/grpc-gateway) 152 | - [Twirp](https://github.com/twitchtv/twirp) 153 | 154 | 15. [Go-Patterns](https://github.com/tmrts/go-patterns) 155 | 156 | 157 | ## Contribution 158 | 159 | The roadmap is built using [Draw.io](https://www.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](https://compressor.io/compress)). 160 | 161 | - Open a pull request with improvements 162 | - Discuss ideas in issues 163 | - Spread the word 164 | 165 | ## License 166 | 167 | [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) 168 | -------------------------------------------------------------------------------- /go-beginner/golang-beginner-roadmap.drawio.xml: -------------------------------------------------------------------------------- 1 | 2 | 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 -------------------------------------------------------------------------------- /go-advanced/golang-advanced-roadmap.drawio.xml: -------------------------------------------------------------------------------- 1 | 2 | 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 --------------------------------------------------------------------------------