meta,[object Object]Go Developer Roadmap | Sanitarium

Go Developer Roadmap

About 3 min

Go Developer Roadmap

Roadmap to becoming a Goopen in new window developer in 2021:

Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become a Go developer. I made this chart as a tip for everyone who asks me, "What should I learn next as a Go developer?"

中文版日本語版Versão em Português do Brasil한국어РусскийУкраїнська

Disclaimer

The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hype and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hype and trendy does not always mean best suited for the job.

Give a Star! ⭐

If you like or are using this project to learn or start your solution, please give it a star. Thanks!

Roadmap

Roadmap
Roadmap

Resources

  1. Prerequisites

  2. 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)
    • Don't be afraid of using Google, Power Searching with Googleopen in new window
    • Read a few books about algorithms and data structures
    • Learn about implementation of a basic Authentication
    • Solid principles, architectural & design patterns, ecc
    • Basics of software testing (unit, integration, e2e)
  3. CLI Tools

    1. cobraopen in new window
    2. urfave/cliopen in new window
  4. Web Frameworks + Routers

    1. Beegoopen in new window
    2. Chiopen in new window
    3. Echoopen in new window
    4. Fiberopen in new window
    5. Ginopen in new window
    6. Revelopen in new window
  5. Databases

    1. Relational
      1. SQL Serveropen in new window
      2. PostgreSQLopen in new window
      3. MariaDBopen in new window
      4. MySQLopen in new window
      5. CockroachDBopen in new window
    2. Cloud Databases
    3. Search Engines
    4. NoSQL
  6. ORMs

    1. Gormopen in new window
    2. Xormopen in new window
  7. Caching

    1. GCacheopen in new window
    2. Distributed Cache
      1. Go-Redisopen in new window
      2. GoMemcachedopen in new window
  8. Logging

    1. Log Frameworks
    2. Log Management System
    3. Distributed Tracing
  9. Real-Time Communication

    1. Socket.IOopen in new window
  10. API Clients

    1. REST
    2. GraphQLopen in new window
  11. Good to Know

  12. Testing

    1. Unit, Behavior, Integration Testing
      1. GoMockopen in new window
      2. Testifyopen in new window
      3. GinkGoopen in new window
      4. GoMegaopen in new window
      5. GoCheckopen in new window
      6. GoDogopen in new window
      7. GoConveyopen in new window
      8. Dockertestopen in new window
    2. E2E Testing
  13. Task Scheduling

  14. MicroServices

    1. Message-Broker
    2. Building message-driven
    3. Frameworks
    4. RPC
  15. Go-Patternsopen in new window

Wrap Up

If you think the roadmap can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to star this repository to revisit.

Idea from : ASP.NET Core Developer Roadmapopen in new window

Contribution

The roadmap is built using Draw.ioopen in new window. Project file can be found at golang-developer-roadmap.xml file. To modify it, open draw.ioopen in new window, 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.ioopen in new window).

  • Open a pull request with improvements
  • Discuss ideas in issues
  • Spread the word

License

License: CC BY-NC-SA 4.0open in new window
License: CC BY-NC-SA 4.0
Last update:
Contributors: mickmetalholic