株式会社ディー・エヌ・エー エンジニア特集

DeNA RECRUITING

エンジニア特集


エンジニアインタビュー


“DeNAはやる気にさせるプレッシャーを与えてくれる”
入社1年目でソーシャルゲームのトラフィック爆発を支えたインフラ・エキスパート
システム統括本部 IT基盤部
岩永 亮介
新卒でDeNAに入社。新人ながら、100人力のインフラ(今は主にデータベース担当)・エンジニアとして、ソーシャルゲームによるモバゲーの莫大なトラフィック増加に対応。なぜDeNAを選択し、なぜインフラを選択したのかを聞いた。

大学で学んだC言語がいまに活きている


  パソコンは小学校から家にあって、インターネットってものが流行りはじめたのは中学校くらい。テレホーダイが全盛の時代でした。親に「インターネットというものをやりたいんだが」という話をして、ISDNを家に引いたのがインターネットとの出会いです。大学入るまでプログラミングは全然知らなかったですが、ウェブに落ちてる情報からJavascriptで絵を動かしたり、CGIを設置したりしてましたが、基本的にはコピペです。
  本格的なプログラミングは大学の2年後半からのCとC++が初めてです。ロボットをやってたんですが、そこで初めてコンピュータでものを動かすという仕組みを勉強しました。機械屋さんはネイティブに近いところを触る必要があるので、必然的にCを勉強することになります。
  そのときC言語を触ったことは確実に今に活きてますね。コンピュータの基本的な部分がイメージできる。DeNAではPerlのプログラムが多いですけど、実際に動くときにはCがわかっていると、サーバーがどう動いているかイメージしやすいんです。
  けっきょくサーバー上のミドルウェアにしても、ほとんどCで書かれてますよね。ApacheやMySQLもCだし、LinuxもCで書かれている。必要となればソースコードがあるので「MySQLのここが問題」って絞り込むこともできる。そこまで詰めなくても、その動作原理がわかっていれば、ひとつ踏み込んでイメージできる。新卒で入って最初の研修でMySQLのパッチを書いたのですが、SQLすら書けない自分でもCが分かってるからなんとかなりましたね。

エンジニアを引き上げるDeNAのすごさ


  エンジニアといっても色々で、ずっとエンジニアで食ってますみたいな人もいれば、ぜんぜんバックボーン無くはじめる人もいます。DeNAではこうした色んな背景を持ったエンジニアが一緒に仕事をしています。必ずしも全員が入社したときからすごい技術者じゃない。それでいて、モバゲータウンを始め相当なトラフィックのサービスを少人数で運営しているというのは相当にすごい環境だと思います。
  たぶんですけど、Googleみたいな企業に入るエンジニアは、入ったときからすごいんです。でもDeNAでは、去年からエンジニア始めましたって人でもすぐにサービスを支えるエンジニアとしてやっていける。最初からすごくなくてもそこまで引き上げられるというのは、ウェブの会社だと他ではあまり聞かない話だと思って、DeNAに入社を決めました。

「知りたい」からインフラに


  ウェブサービスのDeNAでインフラを志望したのは「サービスの裏側」を知りたかったからです。
  DeNAがすごい量のトラフィックを捌いていることは知っていましたが、どうやって捌いているかがわからない。その仕組みをとりあえず知りたいっていう気持ちがありました。
  個人的に裏側をよく知らないでやるのはイヤなんですね。仕組みをわかっておきたい。ユーザーからのリクエストが来て、それがどんな経路をたどって、最終的にページがどう返されてるのかというところまで含めて理解するんだったら、インフラやるのが一番だなと思いました。
  各部署の部長から新人に向けた部署紹介があったのですが、今の上司が「インフラは3年は修行だから」って言ってて、じゃあ3年いないと身につかないんじゃんって(笑)。この会社に何年いるかなんてわからないんで、早く始めて身につけたほうが得かなっていうのもありました。

3年修行のうち4分の一を過ごして


  6月の配属から9カ月経ってますけど、1年後の時点でできたらいいな、と思ってた量は、たぶんはるかに超えた経験をさせてもらったと思います。
  インフラって下手すれば定常業務みたいな、いつもどおりの作業をいつも定期的にやってる形になるかもしれないですが、タイミング良く(悪く?)内製ソーシャルゲーム躍進のタイミングでデータベースの管理を任せて頂いたおかげで、本当に貴重な経験をたくさんすることができました。入社直後はselect文すら書けなかったのに、今ではデータベースの性能管理全般をこなせるようになりました。
  ソーシャルゲームの成長っていうのは、DeNAが今まで経験したなかでも、たぶんちょっと異常だったんですよね。モバゲーが何年もかけて築いてきたデイリーのPVが、数カ月で倍になってるんです。数カ月で倍なんて、さすがに誰も思わないじゃないですか(笑)。
  それに、たとえあらかじめ「倍になるから」と言われてても、「そうですか」って倍の設備投資は普通できない。普通にちゃんと計算して見積もってたんですけど、それを超えるスピードと規模で伸びました。そんな状況を、実際にサーバにsshしたりMySQLにつないだりしながら見てたわけです。ほんとに極限までサーバーが追い込まれたり、ネットワーク的に極限まで追い込まれるとどうなるのか? みたいなことまで垣間見ることができました。

よくわかんないままやってると、よくわかんないままの人になっちゃう


  今は立ち止まる暇がなくて、ずっとインフラのことを考えてないといけないから、仕事が楽しいかどうかを考える暇もないって感じですが、「やってる意味」はホントにものすごく感じますね。僕がやらなかったら大変なことになる状況も結構あって、責任感もあるし、それに応えたいとも思います。
  逆にそこまで任せてくれるからこそ、僕のほうも「よくわかんないけどやります」じゃなくて、「こうは言われたけど、それはなんでなんだろう?」と調べたり、勉強せざるを得ないですよね。よくわかんないままやってると、よくわかんないままの人になっちゃって、それじゃこの会社にいる意味ないんで。
  だから、性能劣化とか障害とかがあったらその原因やどこに影響が及ぶだろうみたいなことは可能な限り自分で調べてます。DeNAでは上(アプリケーション)から下(インフラ)までぜんぶ自分たちでやってるんで、いろいろ調べられるしソースコードもぜんぶ見ることができる。わからなかったら聞くこともできる。
  もちろんそれがアプリの問題のこともあれば、MySQLの問題だったり、そもそもハードウェアが異常だったりといろいろあるんで、それを切り分けるのがインフラの役割の一つですね。なにか起こったらとりあえず反応する。ただ、時間は有限なんで、どれを優先度高く対応しないといけないかっていうのは、もっと大きな視点で考える必要があります。
  基本的にはサーバーのリソースだけ見ていてもぜんぜん意味なくて、そのサービスがちゃんと利益出せてるかが重要。そこから考えなくちゃいけないのは、インフラでも開発者でも企画でも営業でもみんなおんなじですね。
  新人の僕にここまで任せてくれるってのは、そういうのをできてるからだとおもってるので、ずっと続けなきゃいけないです。これは結構大変ではあるんですが、吸収できることも多いから逆に助かってますね。そこまでプレッシャーを与えて「やる気にさせてくれる環境」が自然に存在してるというのがDeNAに入社して一番良かったと思うことです。