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.

94dcff33cbdf74b5d785369ac54bc1a8?s=128

Aditya Mukerjee

August 02, 2018
Tweet

Transcript

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

    It Aditya Mukerjee Observability Engineer at Stripe @chimeracoder
  2. It’s not about becoming a contributor to Go @chimeracoder It’s

    about making contributions to Go
  3. Why do people not contribute to Go? •Not sure where

    to start •Don’t feel qualified •Lack of time @chimeracoder
  4. @chimeracoder

  5. @chimeracoder The Go programming language is an open source project

    to make programmers more productive.
  6. Contributing to Go means contributing to the success of the

    Go programming language and mission @chimeracoder
  7. @chimeracoder

  8. …but Go hasn’t won yet @chimeracoder

  9. “How could programmers be more productive?” @chimeracoder Any answer that

    involves Go is a contribution to Go
  10. What are the biggest obstacles to Go’s success? @chimeracoder

  11. We’ve passed an inflection point – what skills will we

    need now? @chimeracoder
  12. @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
  13. Contributing to Go is an investment in your own personal

    development @chimeracoder
  14. How do I leverage these skills to contribute to Go?

    @chimeracoder How can I improve my skills as a developer by contributing to Go?
  15. 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
  16. Contributing to Go by helping other Go programmers solve problems

    @chimeracoder
  17. 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
  18. @chimeracoder

  19. 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
  20. Contributing to Go by sharing experience, knowledge, or perspectives on

    Go @chimeracoder
  21. 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
  22. 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
  23. 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?
  24. Writing is not about being right @chimeracoder Writing is about

    engaging in the process of exploration
  25. Writing about Go helps us know what makes Go code

    good @chimeracoder
  26. Contributing to Go by connecting Go programmers together @chimeracoder

  27. 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
  28. @chimeracoder

  29. Contributing to Go by writing code @chimeracoder

  30. Over the next 5-10 years, most of the code that

    advances the mission of Go will be written outside the standard library. @chimeracoder
  31. Make a commitment today: open-source the next utility library you

    write @chimeracoder
  32. But someone has to write code for the compiler and

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

    standard library …right? @chimeracoder Go Project
  34. 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
  35. There are over six hundred packages in the Go Project

    that are not part of the standard library or compiler @chimeracoder
  36. 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
  37. 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
  38. •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
  39. It’s not about becoming a contributor to Go @chimeracoder It’s

    about making contributions to Go
  40. We contribute to Go when we lead by example @chimeracoder

  41. Thank you! Aditya Mukerjee @chimeracoder