Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

2013年の(主に技術的な面ので)まとめ

本エントリでは、2013年の主にエンジニアリング面での活動について、外部に公開されたリソースに基づいて、定量的・定性的なふりかえりを行います。

数字によるふりかえり

まずは数字によるふりかえり。イベント登壇、GitHub上の活動、執筆活動を見ていきます。

社外イベントでの登壇

今年は、社外での発表は以下の5件(パネラーなども含めると7件)でした。去年はもう少し多かったので、あんまり話せなかったなあ。

ひとりでしゃべるという意味での登壇とはちょっと違いますが、以下のイベントにも登場しました。

GitHubでの活動

kentaro (Kentaro Kuribayashi)に見られる、公開リポジトリのみの数字は以下の通り。

Fri, 28 Dec 2012 20:47:16 GMT till Sat, 28 Dec 2013 20:47:16 GMTのコントリビューションランキングに、241位でぎりぎりのっていました。

また、今年に新たに開発したソフトウェア、ライブラリ等は以下。

執筆関連

本を1冊と、雑誌特集を2回書きました。

月別ふりかえり

このブログから、技術的なことに関するエントリを取り上げて、月別にふりかえります。

1月

CROSS 2013というイベントで「継続的なWebサービス改善」というパネルディスカッションに、パネラーのひとりとして参加することになり、当日は500ml缶ビールを3本飲みながらしゃべるという過酷ぶりでしたが、イベントとしても盛り上がったし、後につながる話(後述)もできたので、参加できてよかったと思います。引き続き、2014年のCROSSでもなんか出ることになってるみたいです。

コープさんを迎えてのDCIトークは、語りてのコープさんとなんかうまいことセッションできなくて、観客のひとりとして大いに反省したのですが、話の内容自体は非常に面白くて、帰宅するなり上記エントリをまとめたりしたほど。昨年後半から今年前半にかけてのWebアプリケーション設計上の様々な議論のうち、ひとつ先を開いた議論でした。いまもうみんな飽きたみたいになってるけど、まだ汲み尽くせていないと思っています。

2月

2月はけっこうコードをたくさん書いていたような感じがします。1月のDCIトークを受けて思いついたmethod_repositoryや、FluentdのLTSV対応を含む、Fluentd関連の様々なコード、小ネタgemなどなど。

去年に引き続き、今年はさらにあれこれとFluentdを使う機会が増えて、仕事的にも大活躍してもらいました。そのあたりの取り組みについて、Fluentd Casual #2で発表したりもしました。

あと、カヤックさんとこにお呼ばれしてなんか話すみたいな会があったので、ちょうどその頃にあれこれと考えていたことをまとめるいい機会だなと思って話した時のスライドが以下。この話も後に続くよいものだったと思います。

3月

3月は、仕事のレイヤがじょじょにインフラ側におりてきつつある時期だったように、ふりかえってみるとわかります。しばらく前からPHPアプリケーション開発環境のVagrant化をすすめていて、この頃あたりからは僕が直接関わっている以外のアプリについてもそれが行われつつあった時期です。

Vagrantなどの仮想化ツールそれ自体はよいものですが、前提としてコード化された構成管理がないと元も子もない。そう思って、それまでちゃんとはやってなかったChefやPuppetを本格的に触り始めたのがこのあたり。

id:shiba_yu36と一緒にやっているPrePAN - Social Reviewing for Perl Modulesというサービスを、それまでレガシーな感じだったのを、Chefで構成管理してAWSで動かすようにして、コンセプトを試してみたりもした。そんなこんなでmetacpanのチームに入ったり。

社内でもそのあたり盛り上がってきて、社内勉強会でChefについて話したりもしました。

その他、1月のDCI Meetupのフォローとして行われたDCI Hansei Meetupで、以下のスライドに基づく話をしたりしました。

4月

4月は、ほとんどエンジニアリング関連のエントリがありませんでした。なぜかというと、一番最後のエントリにある通り、本を書いていたからです。

この頃は、6月に刊行される予定のWEB+DB PRESSの原稿を書きつつ、Puppet本を同時に書いているというありさまで、なかなか忙しかったように記憶しています。Puppet本については、今年の新卒エンジニアの研修に使おうと思って、締め切りが決まっていたので、けっこう大変でした。しかし、その本も少なくとも仕事という面においては、かなり良い結果をもたらし得たと思うので、がんばってよかったなあといまとなっては思っています。

また、これは仕事上のことですが、以下のような活動も行いました。

感情をなくして仕事を効率化 ペパボ、顔面白塗り制度を導入!

5月

Chef Casual的なイベントになりそうなところに、Chefだけの話でいいのか!といちゃもんをつけて、前月の『入門Puppet』について宣伝をする機会をいただいて、Puppetもいいよ!と話をするも、特によい反応を得られず悲しい思いをするという体験をしたりしました。

3月にはkdmsnrさんのレゴスクラム研修に参加して、非常に感銘を受けたので、是非社内でもやりたいと思い、人事の協力を得て、@hsbtさんといっしょに全社的にレゴスクラム研修を行い始めました。結局、全部で10回ほどやったでしょうか。まずはスクラムについて基本的な知識と、その雰囲気を伝えられたかなと思います。

レゴスクラムについては、2014年3月にペパボの会議室を使って開催されるので、興味ある方は是非ご参加ください。とてもよい研修です。

6月

6月は、RedDotRubyConf 2013参加のため、シンガポールにいってきました。シンガポールはなにもかもが刺激的で、本当に素晴らしい体験になりました。一応LTもしたりして、2月に書いたライブラリについて話しました。

また、同僚らと「継続的Webサービス改善ガイド」と題して特集を書いたWEB+DB PRESS Vol.75号が刊行されました。将来に向けてよりよいサービスを提供し続けていくために必要なこと、実際に自分たちがやってきたことを率直に、かつ、実践的に書いた内容です。グレートな内容であると自負しています。

WEB+DB PRESS Vol.75

WEB+DB PRESS Vol.75

7月

なんと、7月は技術関連のエントリがひとつもありませんでした。ではこの時期はなにもしていなかったかというとそんなこともなくて、同僚らとiOSアプリを作っていたのでした。初めてのアプリ開発だったのですが、いろいろと学ぶところが多くて楽しかった。

しかし、なんだかんだで結局アプリのリリースにまではこぎつけられなかったので、よくなかったなあと思います……。

8月

8月は、7月に作り始めたアプリの続きをやったり、本を読んだりしていたようです。この月も、これといって技術的なアウトプットはなかったですね……。まあ、そういう時もあるでしょう。

『失敗の本質』は、学生時代以来10年以上ぶりに読み返したのですが、いま読むとそれはそれでまたいろいろ面白い本です。是非読まれることをおすすめいたします。

9月

9月はカンファレンス月間。今年はついにYAPCへの登壇よりもPHPカンファレンスへの登壇を選択するということになりました。時代は変わるものですね。カンファレンスでは、直近で取り組んでいたPHPアプリのバージョンアップ戦略について話をしました。

その他、仕事であれこれ通知したいというニーズがあったので、hatoという通知管理ツールを作り始めました。もちろんfluentdと組み合わせるという使い方も想定しているので、プラグインを作ったり。これはとても便利なもので僕の関わっている仕事では使いまくっているのですが、まだまだ他に普及している感じではありません。もっと広めたいところ。

この月、忘れられないのが、ついに長年愛用していたEmacsを離れ、Vimに移行することになったこと。きっかけは『実践Vim』という本でした。とてもよい本。この本のおかげで、これまで3回ぐらい移行を試みては失敗していたのが、一発でいけたと思います。で、そのあとは例によって最適な設定を求めてひたすら.vimrcをいじりまくる日々。それはそれで楽しかったと思います。

10月

10月は、なんといってもGoにハマった月。YAPCの時にtypoさんと話していて、彼があまりにもGo素晴らしいと連呼するので、そんなにいうならというわけでやってみたら、ハマりました。Go楽しい。プログラミングを楽しいと思うようになった時の感覚を思い出した感じがします。

前月にPHPのバージョンアップについて発表しておきながら、いろいろあって失敗したりしていたので、そのアプリのアーキテクチャをなすnginxの設定についてあれこれ思い悩んだり、GCCPHPコードをプリプロセスすればバージョンアップが簡単になるのでは?ととち狂ってみたり、もう少し堅実な路線としてGoでshadow proxyを書いてみたりしていました。

そんなこんなでGoいいねといっていたらSerfの登場。この界隈が大きく動いた感じがして、誰よりも速く実用例を示そうと、/etc/hostsを管理する実例をコード付きで示したりもしました。

11月

前月、ずっとコードを書いていて全然本を読めなかったことと、いろいろ思うところもあって、この月はひたすら本を読んでいました。

今年は、このブログにあれこれ書いていたように、会社でスクラムを導入したりしていたので、いかにそれを成功させるかにいろいろと考えをめぐらせていました。角谷さんのご厚意によって参加したジム・コープリエンの研修を受けて、その結果を社内で実践してみたり、プロセスの効果検証について、あれこれと考えたことをまとめたりもしてみたところです。

秋のエンジニアぶつかり稽古 2013 - ペパボ技術基盤チーム | Doorkeeperという謎のイベントに登壇(?)したのですが、これはとてもおもしろいものになったと思います。内容については上記のエントリを参照していただきたいのですが、来年につながるムーブメントのきっかけを提供できたのかなーと思っています。

12月

今年後半、技術的に最も面白かったトピックがimmutable infrastructureの流れでした。それ自体は目新しいものではなくとも、名前がつくと一気に加速するといういつものアレではありますが、その進化は驚くべきほどのスピードで進んでいます。僕も、いろいろ思うところがあったので、エントリを書いたり、PoC実装を書いたりしてみています。

また、11月ぐらいから、経営学(その中でも組織論)についてしっかりと学んでおきたいという思いが高まってきたので、前月と合わせてその分野の学術関連の本を数十冊ほど読んでいるところです。来年は、その動きをさらに加速するために、新たな取り組みをしていこうとも思っています。

また、会社の人事関連で以下のような活動を行いました。

インフラエンジニアを採用したい! | ペパボ採用担当ブログ

まとめ

今年は、コードを書くことに加えて、執筆の面でいくらかできたことがよかったと思います。来年に向けての計画もあったりするので、引き続きやっていきたいと思っております。

コードを書くことに関しては、量的にはわりとやってはいるものの、大きな仕事ができた感じがあまりしないので、そのへんは毎年思っていることではありますが、継続的な仕事をやっていきたいなあと思っています。

来年は、新たな取り組みに入ろうということで、いくぶんか技術的なアウトプットが減ることが予想されますが、それはそれとして、エンジニアとしてはまずは技術的な活動が第一なので、引き続きやっていこうと思っております。