Gopher道場LT大会および懇親会でのお話からエンジニアコミュニティに対して思うこと
LTにおいては数名の方がGopher道場に参加した理由や、卒業してみての感想を述べられていた。道場の質の高さと、それに対する感謝の気持ちを多くの方が述べれらていたのだが、個人的に最も印象に残ったのは、「一人で勉強することに対する不安への対策」という意見だ。
この発言をされた方(Mさん)はGoをはじめとしたプログラム歴は比較的長く、明らかに自分よりもコードが書ける方であった。しかし、お仕事ではメインの業務がPMということからも、集中してプログラムを書く時間が取りにくく、コードを書くことに対する自信は薄いようだった。これまでGoを書いてきたMさんだが、「動作はするが、本当にこのような正しい書き方で間違いないのか。そういった悩みを常に抱えている。」とLTの中でお話しされていた。
僕はコミュ障なのでGopher道場の同期の方とお話をしたのはこのLT大会の日が初めてだったのだが、僕と同じ悩みを抱えている人がいるんだなと、このMさんのお話を聞いた時に初めて感じた。
懇親会の際にmerpayの社員さんとお話させていただいたのだが、その場に一緒にいらしたHさん(SRE)は、「質の高いコードレビューを受けられるmerpayさんの環境が羨ましい」とおっしゃっていた。Hさんは僕と同じ他業種からの転向組ではあるが、僕よりもコードを書く能力が高いことはこれまでの課題のコミット履歴からも明らかだった。
エンジニアコミュニティの存在は、企業や個人といった枠組みから独立して、またその境界を跨いで存在している。そして質の高いプロダクトを生産するためのノウハウがコミュニティの中で育っている。僕がWeb業界に対して抱く尊敬の念のうち、最も重要なものの一つはこの点だと言える。独学におけるリスク回避の防御壁 / 矯正器具として今後も利用させていただきたく思いつつ、いつかは恩返しできる立場に立ちたいと願う。
みなさんのLT
1 課題3-1 のタイピングゲームを改造して、英単語学習ツールを作る(仮)
2 修行成果報告
3 Gopher道場からチーム結成
4 Goでのエラーハンドリング
5 未定
6 ちょっとだけdeadlock検知の中身を見てみた
7 Go & kubectl plugin について
8 GoとgRPCでHello world
9 Gopher道場での学びについて
10 Goでスケジュール通知アプリを作ってみる
11 Goベンチマークことはじめ
12 uetsu 0から始めたgolang ~ベンチマークとってみた~
1 Nさん
大学院生さん
Mac の sayコマンドを os/execで呼び出す⇨喋ってくれる
強制的に英単語ソフトが立ち上がるように、起動シェル
cgo CのパッケージをGoで呼び出す
2 Sさん
PM メインだけど開発もやる方
誰にもレビューしてもらえないので、嘘とともに生きているような気持ちになっていた
コンポジット型、五ルーチン、コンテキストがかなり身についた
3 Sさん
ISUCONチームを結成
DB, HTTPサーバなどを実装する。
gorutineなどでスピーとアップすることができる
4 Hさん
SREを担当されている
Go-multierror hashcorpのエラーパッケージ
Errors.Wrapを使うことで、情報を付与する
6 Tさん
Goのソースを解析
RUntime パッケージ goroutineの実装がある
言語の実装を見てみるのも楽しい
7 Kさん
Kubectl plugin mechanism
for WIndowsでどうやるか kubectrl自体に実装が入っていない
kubectrl plugin manager krew
プログラミング楽しい
9 Sさん
goroutineの理解を深めたかった、
PlayGroundがわかりやすかった
指摘が多かったもの
- エラーハンドリング
- テスト テーブル駆動、テストケース
- ゼロ値が使えるものは使う
Goならわかるシステムプログラミングを読んでいく
10 Hさん
簡単に予定が確認できる、複数人で共有できる。
GoogleカレンダーAPI
LINEクライアントライブラリ
文法上正しくても、実際の開発ではやるべきでないことがわかった。
11 Sさん
ゲーム開発のバックエンドをやられている
テーブルドリブンベンチマーク
sliceは容量がいっぱいになるとコピーが発生して重くなる?
benchmem オプション
12 Uさん
ゲーム開発 Perl
10GBは死んで ベンチマーク計測できない
20GBのメモリを消費した