2014年と2015年の話
〜エンジニア業界総決算と大予測〜

第1話
2014年を振り返る
第2話
ペパボでのチャレンジ
第3話
2015年のトレンド予測

2014年と2015年の話
〜エンジニア業界総決算と大予測〜

第1話  2014年を振り返る
第2話  ペパボでのチャレンジ
第3話  2015年のトレンド予測

今回の登場人物

栗林 健太郎

栗林 健太郎(あんちぽ)
ペパボの技術責任者兼技術部長。最近読んだ本は『イノベーション戦略の論理 - 確率の経営とは何か』。WEB業界で経験的にのみ語られがちな合理性の追求について、経営学的な視点から読み解くことのできる一冊。あわせて「100倍で考える - Preferred Research」を読むのがおすすめとのこと。

柴田 博志

柴田 博志
技術基盤チームのチーフエンジニア。Rubyコミュニティに最も貢献した個人へ贈られるRubyPrize 2014を受賞。愛妻家。最近読んだ本は『Rubyのしくみ -Ruby Under a Microscope-』と『Effective Ruby』。Rubyのコードについて、より理解を深めたい方におすすめの本。

近藤 宇智朗

近藤 宇智朗(うづら)
技術基盤チームのアドバンスド・シニアエンジニアとして福岡で活動。二児の父として子育てにも奮闘中。最近読んだ本は絲山秋子の小説『逃亡くそたわけ』。愛知から始まり九州に至るストーリーが、愛知出身・福岡在住の身にかなり刺さったとのこと。ブログでは「The Tao of HashiCorp - HashiCorp」が印象に残っている。

黒田 良

黒田 良
技術基盤チームのアドバンスド・シニアエンジニア。サービスパフォーマンスを最大化するための環境整備などを積極的に手がける、縁の下の力持ち。最近気になるブログは「ゆううきブログ」と「SOTA」。若手の台頭の気配を感じつつも、有用な情報を柔軟に取り入れ、粛々と日々研鑽に励む。

伊藤 洋也

伊藤 洋也(ひろやん)
技術基盤チームのアドバンスド・シニアエンジニア。新卒入社エンジニアなどの新人教育に力を注いでいる。最近読んだ本は『成人教育の現代的実践―ベダゴジーからアンドラゴジーへ』。“「教える」ことから「学ぶことの支援」への転換を考えるための一冊”として非常に啓発されたとのこと。

2014年にチャレンジしたことは?

あんちぽ
ここまでで2014年におけるエンジニア界隈の動向であったりトピックなどの話をしてきましたが、ではエンジニアとしてチャレンジしてきたことも聞いてみましょうか。じゃあ柴田さん、どうですか?
柴田
僕はRuby頑張りました!
ひろやん
いつも頑張ってるじゃないですか(笑)
柴田
去年は特に頑張ったんです!これはちゃんと数字があってですね、去年のコミッターランキング3位なんですよ。
黒田
おーーー!
あんちぽ
全コミッターの?・・・ってことは、n0kada さん、akr さん・・・。
柴田
で、僕。僕の次が確か、ko1 さん、naruse さん・・・。
あんちぽ
凄いですね。そのコミットの内容っていうのはどういった感じのものなんですか?
新卒採用入社の話
柴田
例えば、僕がいろいろやり始める前は、後で消すみたいなコメントとか(笑)、普通に結構残っていたんですよ。そういうのをちゃんと消したりとか、テストコードはありつつ動いていないとか、いい加減もう10年目だから直したほうがいいものとか、そういう細かいところをせっせとやっていましたね。
あんちぽ
コードの質を上げることに注力したんですね。あとは他にも何か開発環境の整備とかやっていましたよね。
柴田
RubyCI っていうアプリケーションを使って、世の中に存在するいろいろなプラットフォームでRubyを実行してテスト結果を集計するっていうのをやってました。
あんちぽ
Twitterでよく言ってますよね。
柴田
そうですね(笑)Windowsで一部の機能が壊れたとかあって、テスト番長として落ちているのを無視しないようにサポートにも力を入れています。
あんちぽ
柴田さんは、仕事でやっていることをRuby界でも同様にやっていて、そういう活動が認められて去年 Ruby Prizeを受賞 されてましたね。その節はおめでとうございます!
一同
おめでとうございます!(拍手)
柴田
ありがとうございます!
あんちぽ
じゃあ黒田さんはどうですか?
黒田
僕は、仕事だとServerspecをサービスで現場に定着させたことですかね。heteml の方で僕がまず下地を作って、他のインフラエンジニアと一緒に横に広げていきました。いまは 30daysAlbum でも導入してます。
あんちぽ
何でそういうことを始めたんですか?
黒田
heteml の共用ホスティングサーバのOSバージョンアップのためです。サービス仕様は変えないんで、仕様を変えずにOSのバージョンを上げるために、まずはServerspecで仕様をちゃんと担保しつつ、複数OSに対応させるための設定検証やPuppetマニフェストの改修、リファクタリングをバンバンやってみたらうまくいった!Serverspec凄い!っていう(笑)。それをメンバーが横で見ていて恩恵を充分に感じてくれたことで、すぐに現場になじんで今は皆普通に書いてくれています。
笑顔のantipop氏
あんちぽ
ServerspecってRubyのコードで書く訳ですけども、抵抗はなかったんですか?
黒田
Rubyはあまり経験がなかったので多少の不安はありましたけど、Serverspecのテスト自体は簡単なDSLなので特に問題はなかったです。Rakefileとspec_helper.rbをどうすれば今ある運用にフィットさせられるかってところが一番難しくて、そこは結構悩みましたね。
あんちぽ
他のサービスでも導入されているんですよね。うづらさんも minne でやっていますね。
うづら
あと ロリポップ! ももう結構ちゃんと導入されていますね。
ひろやん
新卒研修でもやっているんです。
あんちぽ
新卒研修でServerspecをやっている(笑)。すごいですね。2014年で僕ら的にはこうやればイケるっていう、ベストプラクティス化したわけですね。ひろやんはどうですか?
ひろやん
僕は新卒研修にフルコミットしました。研修といっても教室でやるようなのではなくて、先輩エンジニアについてもらって、普段やっている仕事を横で見つつ、チュートリアルしてもらう空気というか、流れを作れるように頑張りました。2013年に比べて、より深く取り組んでいたっていう感じですね。
あんちぽ
一昨年と比べてここが違ったという部分はありますか?
ひろやん
先輩エンジニアの日々の業務に近い部分に位置して研修を進めたいという考えがあったので、執務スペースの真ん中に座席を取ってもらったり、社内の誰もが研修の内容にアクセスできるように、毎日の研修ログをGitHubのIssueで残してもらったり、エンジニアの集まるIRCチャンネルで研修プロセスを回すようにしてました。実際にいろんな先輩エンジニアからからコメントやレビューといったリアクションをもらえたのはとても良かったと思ってます。
ひろやんの横顔
ひろやん
「研修をやる」といっても、こちらが何か与えて教えるということには限界があるので、彼ら自身がやりたいことや学びたいことといった目的を掴み取ってもらい、自律して学んでいくことで、ペパボの一員としてのアイデンティティを確立してほしい、みたいなところも僕自身の中で特に意識した部分でしたね。それがどう成果として見えてくるのかというところは、まだまだ先の話なんですけど。
あんちぽ
研修を受けている若い子たちはどんな感じでした?楽しそうでした?辛そうでした?(笑)
ひろやん
楽しんでもらったと思いたい(笑)。良くも悪くも本当に素直で、僕が言うことをなんでも吸収してくれる。だから、間違ったことを言っても全部信じてしまうんですよ。いや、待って待って!今間違った!みたいな(笑)。彼らの吸収力に驚くとともに、指導する側として、自分が正しいことを言えているのか、ガイドできているのかってことを、改めて振り返るきっかけをもらいましたね。
あんちぽ
座学のような形で現場で活躍しているエンジニアから今やっていることや探究している技術について話してもらう機会を設けることによって、新卒スタッフの育成だけではなく、自身の向上心に火をつけることにも繋がるということですね。
一同
うんうん。
あんちぽ
うづらさんは2014年にチャレンジしたことはありましたか?
うづら
2014年は福岡のサービスを把握して、人と仲良くするっていうのにかなり力を入れていました。その合間合間で、新しい技術や、今まで僕が使って来たけどあまりペパボで使っていなかったような技術を社内に取り入れるように動いてましたね。
あんちぽ
例えばどのようなものですか?
うづら
特に力を入れて見ている minne では、インフラをPuppetで書き直したりDockerで自動テストを走らせたり、あとはさっき話していたようにServerspecの導入をしたりしました。その他の福岡のサービスは古いコードベースもあるんですけど、その中でもRubyの導入が進んできて僕が突っ込んでいける領域がどんどん増えてきたので、スクラム的なアドバイスやコードレビューをしていました。
あんちぽ
なるほど。10年以上の歴史のある大きなサービスを運用していく中で、変化に対応していかないといけない。先ほどのServerspec導入然り、それをどう乗り越えて新しいものにしていくかが一つの大きなトピックなんですね。
柴田さんも何かありますか?
柴田
去年だとMySQLのバージョンアップで、4.0を5.0にしました。サイズが500~600GBで、関係するサーバーが15台くらいある大規模なデーターベースクラスターのメインバージョンを上げたっていうことですね。今現在も5.6に向けて作業途中です。
あんちぽ
柴田さんは社内でもバージョンアップ軍曹ですけど、Railsとかどうでした?Rubyとか?
柴田
Rubyのバージョンはおそらく全部2.1に、Railsは4.1になっていますね。2年ぐらい続けてきて、結構やり切った感じがあります。
真剣なantipop氏
あんちぽ
新しいサービスに限らず、特に 30daysAlbum™ は6年以上サービスが続いている中で、最新のバージョンにあるような感じなんですけど、こういったバージョンアップや変化への対応だったり、新しいものに追従していくことの意義って何ですか?
柴田
僕が一番重要視しているのは、DX(デベロッパーエクスペリエンス)ですね。使っているミドルウェアや言語を10年前の状態を残しておくっていうことは、非常にDXを下げる要因になり得る。開発していて楽しくないと、良いアプリケーションは出来ないと思っているんですよ。開発効率を上げることで、開発者が楽しく開発ができるようになって、結果として良いアイデアを実現することに繋がるのかなぁと思っています。
あんちぽ
なるほど。作っている人が楽しくないのに、それを使う人が楽しむことはできないだろうと。
柴田
そう。朝会社に来て、おもしろくないコード書いて、不具合出して怒られて、つまんないって言って帰ってるような毎日だと、ロクなものができないと思うんですよ。ペパボの根底にあるスピード感や楽しさを忘れないように、開発者が作っていて楽しいし、放っておいても作ってくれるみたいな状況を用意しないといけないな、という使命感はもってます。どう見ても数年放置してるような問題に順番をつけて対処していくと、例えばMySQLの場合は、「やっとこのSQLが書けるようになりました!」とか「ググってでてくるようなSQLが実行できるようになりました!」みたいな声が開発者からあがってくる(笑)。
あんちぽ
技術的にチャレンジができるような環境を常に用意するっていうのが柴田さんの考えていることなんですね。黒田さんはその辺で思うことはありますか?
黒田
僕がやったのはOSの方なんですけど、柴田さんが言っているようなことはもちろんありますよね。レイヤーが違うだけで、感じるところは一緒かなと。あとはOSの方だと、セキュリティアップデートがなくなるんで、そもそも古いOSだと・・・(笑)。
あんちぽ
そうですね、僕らホスティングはOSをお客さんに提供している訳だから、安全性の担保は必須ですよね。
笑顔のlamanotrama氏
黒田
そうです。無理矢理ソースからビルドして頑張ってやれるところもあるんですけど、そうするとRPMとの依存関係がいろいろぶっ壊れていったりとか、それを繕うためにどんどんどんどん負債が積み重なっていくとかで非常に運用効率が下がるんで。やっぱりそこそこ新しいものを使っていかないとその辺をスムーズに進めることはできなくなっていきますよね。
あんちぽ
バージョンアップを続けていくことで、柴田さんが言うようなDXもそうだし、お客さんにもより良いものを提供できる結果に繋がるわけですね。そこの前提として「エンジニアって新しいもの好き」っていうところがあって、新しいことをどんどんやっていきたいなっていうのがあると思うんですけど、逆に慎重派のひろやんとしてはどうですか(笑)?
ひろやん
なんか語弊が(笑)。OSが古いと、必要なデータが取れないとか、ググったりしても見つからないとか、障害があった時にも足かせになるんで、随時アップデートしていかないと導入できるツールにも制限がかかりますし、決してOSが古いのがいいとかじゃないです(笑)。
あんちぽ
ひろやんといえども、カーネルは新しいものの方が良いということですね。周りのエコシステムと良い感じの環境を保ちながらやっていくっていうのは、OSSで運用している以上、ユーザーに価値を届けるためには必須のことでありつつも、僕らにとっては技術的なチャレンジである訳で、そこを仕事として楽しんでやっているところもありますよね。
柴田
そうですね、楽しんでいますね。


~第3話へつづく~