Go Developer Roadmap 2020

From the article 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.

Roadmap

Roadmap to becoming a Go developer in 2020

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 Google
    • Read a few books about algorithms and data structures
    • Learn about the implementation of a basic Authentication
    • Solid principles, architectural & design patterns, etc
    • Basics of software testing (unit, integration, e2e)
  3. CLI Tools
    1. cobra
    2. urfave/cli
  4. Web Frameworks + Routers
    1. Echo
    2. Beego
    3. Gin
    4. Revel
    5. Chi
  5. Databases
    1. Relational
      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
      5. CockroachDB
    2. Cloud Databases
    3. Search Engines
    4. NoSQL
  6. ORMs
    1. Blue
    2. Xorm
  7. Caching
    1. GCache
    2. Distributed Cache
      1. Go-Redis
      2. GoMemcached
  8. Logging
    1. Log Frameworks
    2. Log Management System
    3. Distributed Tracing
  9. Real-Time Communication
    1. Socket.IO
  10. API Clients
    1. REST
    2. GraphQL
  11. Good to Know
  12. Testing
    1. Unit, Behavior, Integration Testing
      1. GoMock
      2. Testify
      3. GinkGo
      4. GoMega
      5. GoCheck
      6. GoDog
      7. GoConvey
    2. E2E Testing
  13. Task Scheduling
  14. MicroServices
    1. Message-Broker
    2. Building message-driven
    3. Frameworks
    4. RPC
  15. Go-Patterns

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 Roadmap

Contribution

The roadmap is built using Draw.io. Project file can be found at golang-developer-roadmap.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

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 the hype and trendy does not always mean best suited for the job.

License

License: CC BY-NC-SA 4.0

Categories:
W3TWEAKS
Latest posts by W3TWEAKS (see all)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *