Upgrade to Pro — share decks privately, control downloads, hide ads and more …

You Might Be a Go Contributor Already and Not Know It

You Might Be a Go Contributor Already and Not Know It

Contributing to Go is more than just writing code for the compiler and standard library. Between other official Go projects, third-party projects, articles, workshops, and conference talks, you can even be a contributor to Go without ever even signing up for a Gerrit account.

Aditya Mukerjee

August 02, 2018
Tweet

More Decks by Aditya Mukerjee

Other Decks in Technology

Transcript

  1. You Might Be A Go Contributor Already And Not Know

    It Aditya Mukerjee Observability Engineer at Stripe @chimeracoder
  2. Why do people not contribute to Go? •Not sure where

    to start •Don’t feel qualified •Lack of time @chimeracoder
  3. Contributing to Go means contributing to the success of the

    Go programming language and mission @chimeracoder
  4. @chimeracoder Knowledge of how Go is used in companies of

    different sizes Logistics and event planning Isolating reproducible failures Presentation and public speaking Writing, editing, and publishing technical content Teaching and mentorship Graphical design Marketing Community management Knowledge of compiler design and architecture
  5. How do I leverage these skills to contribute to Go?

    @chimeracoder How can I improve my skills as a developer by contributing to Go?
  6. Leveraging your skills to contribute to Go •Helping other Go

    programmers solve problems •Sharing your experience, knowledge, or perspectives on Go •Connecting Go programmers together •Writing Go code @chimeracoder
  7. Slack, IRC, Stack Overflow, mailing list, help forums •Answering questions

    on Stack Overflow helps others •But asking questions on Stack Overflow helps others too! @chimeracoder
  8. Mailing list and Github issues •If you’re wondering, “is this

    an actual bug or not”, it’s worth asking •If the replies are terse, it’s not personal! @chimeracoder
  9. If you’ve ever felt frustrated by something in Go, you

    have an experience. So report it! @chimeracoder Experience reports describe problems that people have experienced
  10. Writing an experience report 1. Describe what you wanted to

    do 2. Say what you actually did 3. Explain why that wasn’t great, using concrete examples from production @chimeracoder
  11. If you’ve ever… •… debugged a tough bug in Go

    •… encountered a funny problem in a Go program •… helped a friend solve an issue in Go •… debated Go code patterns and style with a coworker @chimeracoder …why not write about it?
  12. Organize a local Meetup •Contact GoBridge, GopherCon, and other nearby

    organizers •Co-host events with other local developer meetups •Host a GoBridge event, or help out with one @chimeracoder
  13. Over the next 5-10 years, most of the code that

    advances the mission of Go will be written outside the standard library. @chimeracoder
  14. But someone has to write code for the compiler and

    standard library …right? @chimeracoder
  15. But someone has to write code for the compiler and

    standard library …right? @chimeracoder Go Project
  16. The Go Project is not a monolith build - continuous

    build and release infrastructure crypto - additional cryptography libraries exp - experimental code image - additional imaging packages mobile - libraries for Go on iOS and Android sys - low-level interactions with the operating system net - additional networking packages tools - tooling such as godoc, goimports, vet, cover, etc. … and much more @chimeracoder
  17. There are over six hundred packages in the Go Project

    that are not part of the standard library or compiler @chimeracoder
  18. Getting started •Use go-contrib-init to sign the CLA, set up

    codereview, and git aliases •The contribution guide provides a comprehensive overview •The contribution workshops this afternoon will guide you through it @chimeracoder
  19. Ideas for Contributing to the Go Project Repositories • Submit

    examples • Augment documentation (if you’ve ever been confused, that’s a problem!) • Look at open issues •…or even https://dev.golang.org/imfeelinglucky • Try running on obscure architectures and OSes @chimeracoder
  20. •Helping other Go programmers solve problems •Sharing your experience, knowledge,

    or perspectives on Go •Connecting Go programmers together •Writing Go code @chimeracoder Four Pillars of Contributing to Go