GopherCon 2019 - Standardization of Go at GitHub

conference, golang, gophercon2019, notes

These are some notes from my experiences at the GopherCon 2019. I don’t expect these will be laid out in any particularly useful way; I am mostly taking them so I can remember some of the bits I found most useful in the future.


Benefits of Standardization

  • Less cognitive overhead
  • Developer portability
  • With the right processes, you get auditing and upgrade scrutiny

What to Standardize

  • libraries/packages

    • what versions of what code should be used?
    • process for evaluation of new packages
    • process for reviewing changes to existing packages
    • automation of upgrades
  • project structure

    • where do i find X in the code?
  • development lifecycle

    • how do i test this?
    • how does this get into production?

Process

  • Language working groups

    • volunteers
    • module vetting and upgrades
    • creating process

Challenges

  • buy-in

    • evangelize
    • open dialogue – venues for others to voice concerns, test, and give feedback
    • tons of automation for migration
  • migration

    • modules, packaging, and distribution
  • resources for implementation

    • people & time – hired full-time framework engineers
    • added okrs/roadmaps to motivate progress