まず始めに川上氏は「本日は『エンジニアの成長』という部分についてお話したいと思いますが、みなさんは何で勉強会に来るのでしょうか? ネットで調べるとか、まとめを見た方が良いのでは」「デブサミというイベントにはCTOな方々も数多く登壇されていますが、僕の話が一番役に立たないと思います」などのフレーズを投げ掛け、会場に数多く集まった参加者の笑いを誘い、場の雰囲気を和ませました。
絶対CTOから象徴CTOへの転換
自己紹介では「象徴CTO制」という点を強調。ドワンゴ社は、過去エンジニアの退職率が非常に低かったのですが、2011年頃に10%近くの大量離脱があったことを機に(この原因は川上氏曰く、よく分からなかったそうです)、絶対CTO制が崩壊し象徴CTO制に移行、今に至るそうです。ちなみに「象徴CTO」として行った仕事としては次のようなものを挙げていました。いずれも「CTOに就任してわずかな期間で決めたこと」とコメントしていましたが、これらいずれも劇的な改革・改善であると言えるでしょう。
- 女子マネ弁当:「今日は10時からのセッションですが、ドワンゴ社員は会場に誰も居ないと思っていました(笑)。社員は出社時間帯が遅く、早く来させようという思いで始めた」(川上氏)
- 銀座歌舞伎座への会社移転:「以前は地味な場所にあったので、(華やかな)場所に引っ越せば何とかなるんじゃないかと」(川上氏)
- インフラがボトルネック、かつプログラマーがインフラに触れないという部分の垣根を無くす
- 給与も“わりと”向上
川上氏はこれまでの経歴について「現在46歳。子供の頃はインターネットもなく、実際プログラミングを仕事としてちゃんとやったことがない」と謙遜して語りますが、学生の頃からBASICを触り始め、近所のパソコンショップに出入りしながらゲームを作ったり、独学で逆アセンブラを作りながらそれらを解析してマシン語を理解、ドワンゴ起業後には川上氏自身はネットワーク会社に就職しながらもゲームのシステムを作ったり、ネットワーク通信サーバの通信パケットを解析して業務に活かしたりなど、多岐に渡る経験を語りました。
ソースコードのメトリクスを法律文に適用してみた
こちらは少し本題からは外れますが、「象徴CTO」として最近行ったという、2年前のデブサミでドワンゴエンジニアが発表した「コードの技術的負債」を応用した「法律に対して循環的複雑度を測れるのか?」という取り組みを挙げました。プログラミングにおける循環的複雑度という指標を法律文に当てはめ、どれだけ法律が複雑であるかを測るというものです。2年前の発表時には対象としていたプログラムが「いかなる変更も誤修正を生む(バグ発生の元となる)」と判断される指標の値75を大きく超える(600以上)メソッドが多数あったのに対し、例示した法律文の複雑度は100オーバー。一見そこまで複雑でもないようにも見えますが実際の法律を眺めてみると……。ちなみにこの取り組みは「ドワンゴの業務には一切関係ない作業」(川上氏)とのことでしたので、面白い取り組みではあったのですが今は作業を止めているそうです。