エンジニアの生産性を上げるための非効率な雑談

最近チーム内でやっているTips 共有会 (通称:LiBz Tips) について紹介します。チーム内で好評なのだが、無駄じゃないかと思うくらいに毎日やってます。

コトの発端

なんでやろうと思ったのか?

その理由は過去に起った事件である。

GitHub Pull Request

GitHub のPull Request はUnified とSplit という形式で閲覧できる。 きっと多くの人は当たり前に知っていることだろう。少なくとも僕は知らなかった。ふとしたきっかけで、たまたま他のメンバーがこの機能を使っていることを知った。

「このPR 差分が見づらいな・・・ :fearful: 」と何度思ったことか。あのイライラしていた時間はなんだったのか。そもそも、何故もっと早く教えてくれなかったのか! :rage:

些細なTips を共有すると良いこと

コードレビューでは、プログラミングの設計や書き方に関して気づきが得られるが、ショートカットキーや便利なツールの使い方などの作業効率に関する気づきは得られない。

要するにこーゆーことである。ただ知らないだけで、非効率で退屈な作業に身を投じていることに気がつかない可能性がある。

問題なのは、誰かが優しく気づかせてくれないと自分自身では気づきにくいということ。ペアプログラミングや誰かの作業画面を覗き見しないと発見できない。

最近ヒットしたTips

  • コミットメッセージに [ci skip] と入れるとCI を実行させないでコミットできるよ
  • 破壊的メソッド (.gsub!) でモデルの属性変更しても save で更新されない・・・
  • 正規表現で文字列を抜き出したいときに grep -o すると幸せになれる
  • Google カレンダーの通知アラートを控えめにできる機能があるよ
  • Slack のメンション通知はチャンネル単位で設定できるよ!

運営(ファシリテーション)のコツ

前提:特にジャンルは問わないこと

普段業務で使っているプログラミング言語やフレームワークに関することはもちろん、それ以外の技術でもOK. プログラミングに限らず、使っているシェルやエディタなどのツール類に関する事もOK.

とにかく作業中に発見した些細な気づきを共有すればよい。他の人の作業を見て知ったことを共有しても良い。

聞く側の心構え

  • 「それ知ってた」感を出さないこと
  • 関連することや思いついたことを被せて共有すること
  • 感動したら「なぜ早く教えてくれなかったのか?」とキレること

発表する側の心構え

  • みんなもきっと知っている(自分の中では当たり前)と思っても共有すること
  • 空気を読まずに、ドヤッ感を出すこと
  • 自分が披露したTips より、もっと良いTips が生まれても凹まないこと
    • むしろ「なぜ早く教えてくれなかったのか?」と逆ギレすること
  • ネタが無いときは質問するのもあり
    • Vim の便利なプラグイン無い?
    • API の動作確認したいんだけど良い方法知らない?

初回はLT っぽくいくつかネタを準備してやってみるとスムーズにはじめられるかも。

言い忘れましたが、実はエンジニアだけでなくデザイナーも一緒になってTips 共有しています。 とにもかくにも小さな発見があって楽しいので、はじめてみることをお勧めします。