Lead, Backend Team in Mercari JP / Catalog Team • Joined Mercari JP in November 2018. • Go : About 1 year experience in coding as the Production Code. • Community : Kubernetes Meetup, Cloud Native Meetup, … etc • My current interests: Go, GCP, Kubernetes, Microservices, CNCF Products.
..etc) • Experience developing and operating in large-scale service • Experience with AWS, Sakura(cloud services) and On-premises • More than 10 years experience in Backend/Infra Engineer
Getting Started Phase 2 More practical Phase 3 practice, .. and practice through GitHub Issues/PRs Community, Social Media Code Code, Doc Code, Doc Code, Doc
Language ◦ Documentation https://golang.org/doc/ ◦ A Tour of Go https://tour.golang.org/list ◦ The Go Programming Language Specification https://golang.org/ref/spec ◦ Packages https://golang.org/pkg/ My approach to learn Go (1/4)
• CodeReviewComments https://github.com/golang/go/wiki/CodeReviewComments • Goに入ってはGoに従え https://ukai-go-talks.appspot.com/2014/gocon.slide • Go at Google: Language Design in the Service of Software Engineering https://talks.golang.org/2012/splash.article • Uber Go Style Guide https://github.com/uber-go/guide/blob/master/style.md My approach to learn Go (2/4)
practice and practice • Practical Go: Real world advice for writing maintainable Go programs https://dave.cheney.net/practical-go/presentations/qcon-china.html • High Performance Go Workshop https://dave.cheney.net/high-performance-go-workshop/sydney-2019.html • Looking for Issues/PRs and Reading Code ◦ in OSS ( Kubernetes, Docker, go and etc) • Attending a study session/Go community ◦ In my case, GoFriday, mercari.go
The Go Blog • go.dev, pkg.go.dev, learn.go.dev • Go community ◦ The Go Project https://golang.org/project/ ◦ Gophers (gophers.slack.com) FYI: to join gophers.slack.com ◦ golang.tokyo , Go Conference , mercari.go and etc in Japan. • reddit - r/golang • Twitter Golang Weekly(@golangweekly), Go News(@golangnews), Go Time(@GoTimeFM) My approach to learn Go (4/4)
• Many useful tools prepared in cmd package. • e.g. go vet, go generate, go build, ...etc • I frequently used go tool :) https://golang.org/cmd/go/ https://godoc.org/golang.org/x/tools https://godoc.org/golang.org/x/tools/cmd
• gofmt • goimports • Lookup Godoc • Code completion/Code navigation • Debugger FYI: My recommendation: GoLand “GoLand is an IDE by JetBrains aimed at providing an ergonomic environment for Go development.” GoLand 2019.3: Faster Than Ever Before with Improved Go Modules Support, New Quick-fixes, and Much More