4人の技術スペシャリストなエンジニア

鈴木天音氏(以下、鈴木):それでは「技術スペシャリストなエンジニアの仕事やキャリアとは?」ということで始めます。

まず、このタイトルにある「技術スペシャリスト」という言葉について説明します。DeNAのエンジニアを大きく分けると、事業部に配属されてサービスを作っているエンジニアと、横断組織に所属しているエンジニアの2種類がいます。そのうち、この横断組織に配属されて専門的な技術を見るロールが技術スペシャリストです。

このパネルディスカッションでは、以下の4つの部署から登壇してもらって進めていければと思います。まずはセキュリティ、次にIT基盤、このIT基盤というのはインフラを意味しています。またSWET、これはSoftWare Enginner in Testの略でテストの技術を中心としてサービスを円滑に開発していって品質を上げていくような部署になります。そして、データサイエンスの4つの部署から登壇いたします。それではさっそく、登壇者の紹介に移ります。最初に石塚さんお願いします。

石塚凌氏(以下、石塚):みなさんこんにちは。石塚凌と申します。僕は2020年にDeNAに新卒入社して、現在はセキュリティ部のセキュリティ技術グループに所属しています。趣味は競技プログラミングという、アルゴリズムやコーディングの速度を競うコンテストに参加しています。今日はみなさん、よろしくお願いします。

鈴木:それでは井早さん。

井早匠平氏(以下、井早):井早匠平と申します。自分も石塚君と同じで、2020年に新卒として入っています。自分はIT基盤の第2グループでインフラをやっています。趣味でいうと、副業でWebアプリを作ったりしているのと、最近はけっこうお酒が好きで、ビールやジンのボトルを買ってみたりしています。あとは、サッカー観戦とか。プログラミング言語はTypeScriptが一番好きです。本日はよろしくお願いします。

鈴木:では、稲垣さん。

稲垣和真氏(以下、稲垣):稲垣和真と言います。僕は2021年にDeNAに新卒入社しました。現在はSWETグループに所属しています。趣味は、僕はVimが好きで、Vimを使うためにプログラミングをしているぐらい学生時代はVimいじりにふけっていました。けっこう最近だと、『大乱闘スマッシュブラザーズ SPECIAL』にハマっていて、悪役キャラをメインに使っていたりします。本日はよろしくお願いします。

鈴木:それでは最後に、本日MCを務めています私の自己紹介をいたします。鈴木天音と言います。2019年に新卒でDeNAに入社しまして、今はデータ統括部に所属するデータサイエンティストです。趣味は、主にゲームをよくやっていまして、最近だと『Among Us』というゲームで上司をキルして遊んでいたり。

(一同笑)

あとは個人開発をやっていたり。最近、DeNAがオフィスを移転して、渋谷スクランブルスクエアのWeWork中に入っているんですけど、オフィスでビールが飲めるようになって大変幸せな気持ちでいます。本日はよろしくお願いします。

高い技術力を駆使して、コントロールされたセキュリティを実現する

鈴木:それでは、まず各部門の仕事内容の紹介ということで、みなさんがどんなことをしているのかを知ってもらえればと思います。それでは最初に、セキュリティ部の石塚さんから内容の説明をお願いします。

石塚:セキュリティ技術グループは、高い技術力を駆使して、コントロールされたセキュリティを実現することをミッションにしています。攻撃者目線で取り組むべきセキュリティ上の課題を発見したり、アプリやサービスに応じた適切なリスクコントロール手段を提案・実現しています。

セキュリティ技術グループの業務内容は、主にこちらです。アプリやサービスの脆弱性をリリース前に発見している脆弱性診断を中心に、このような業務を行っています。ツール開発では、チート対策などのセキュリティ対策を内製化しています。他にもインフラセキュリティやセキュリティインシデントの監視やセキュリティ施策のコンサルティングも行っています。

この中で、私は主に脆弱性診断とツール開発を担当しています。脆弱性診断では、Webアプリやスマホアプリの診断を担当しています。サーバーとの通信や端末内で動いているロジック・データに改ざん対策が取られているかなど、セキュリティ上の問題がないかどうかのチェックを行っています。

ツール開発では、スマホゲームのチート対策ツールの開発を主に担当しています。具体的には、代表的なチートとしてroot化やエミュレータがありますが、それらのチートを検知する機能の実装や強化を行っています。また、ツール開発した機能の一部はオープンソース化していますので、興味がある方はぜひ見てもらえるとうれしいです。

最も安定して、最も安く動き続けるために必要なことすべてを実践

鈴木:続いてIT基盤部の井早さんから、業務内容を紹介してください。

井早:IT基盤部のミッションとしては「サービスが最も安定して、最も安く動き続けるために必要なことをすべて実践して、サービス開発者と共により良いサービスの創出、事業の成功に貢献すること」となっています。

ただ、これだとちょっとわかりにくいと思うので、もう少し具体的に話すと、このQCDの図があって、それぞれコスト、クオリティ、デリバリーと3つの要素があり、これらの要素をすべて世界最高の水準で達成すると。そのためにパブリッククラウドをただ使うだけでなく、いかに使いこなすかを高いレベルで追及していきます。

業務内容としては大きく4つに分かれていまして、1つ目はサービスのインフラ運用です。弊社はいろいろなサービスをやっていて、それぞれのサービスによって求められるインフラの特性が変わってきます。ライブストリーミングであればリアルタイム性が求められたり、ヘルスケアであればセキュリティを非常に強固にしたりという感じです。

2つ目は社内システムのインフラ運用で、弊社はGitHubやConfluenceというシステムのエンタープライズ版を社内で使っているので、その運用を行っています。3つ目のクラウドの運用で言うと、弊社で管理しているアカウントが1,000ぐらいあって、それらのアカウントを統合的に管理しています。

最後の4つ目はネットワークのインフラ運用で、データセンター・オフィス・クラウドなどのありとあらゆる領域のネットワークを横断的に見ています。

自分の担当業務でいうとMobageやAnyca、もしくはいくつかの新規事業のインフラを担当していまして、そこで発生するサーバーの運用業務であったり、安定性やコスト改善の施策実施を行っています。

最近行ったタスクでいうと、Anycaというカーシェアのサービスがあって、そのインフラをオンプレからクラウドにまるっと移行したり、あるサービスにおけるサーバー台数を、アプリケーションをチューニングすることで台数を削減して、コストを半分以上減らしたりしています。

テストを起点としたDeNAサービス全般の品質向上

鈴木:続いて、SWETの稲垣さんからお願いします。

稲垣:SWETについて紹介します。SWETは、次のミッション・ビジョン・バリューの3つを掲げて活動をしています。ミッションは「ソフトウェアテストを起点としたDeNAサービス全般の品質向上、DeNAエンジニアの開発生産性向上により価値あるものを素早く提供できるようにする」ことです。

ビジョンは「Make Testing Fun, Smart, and Delighting End-Users」を掲げています。バリューは「高度・先進的なソフトウェアテスト技術のスペシャリティ」だったり「継続的アウトプット」、「ソフトウェアテストのスケーラビリティ」を掲げています。

このスライドは、SWETが具体的にやっていることを図に示したものです。サービスは、主に企画から始まって次に設計、そして実装が行われて、そしてテスターによるテスト、リリースという流れで行われると思いますが、けっこうバグだったり問題とだったりがいろいろなところで作り込まれます。早い段階で、例えば企画や設計で問題が見つけられれば、実装をする時などにそういった問題が解消されて、よりスムーズにサービスを開発できます。

SWETは、そういった問題を早期に発見できるように、さまざまなアプローチを提案することを主に行っています。

私は、Lintというところを主に担当しています。次のスライドで、Lintについて詳しく説明をします。

私は、Uniyプロジェクトを対象とした静的解析器の開発を主に担当しています。これは、社内フレームワークに起因する問題の検査だったり、既存の静的解析器にない機能を補完する目的で行っています。また、静的解析器を開発した中で得たノウハウを文書化して、DeNAの社員が見られるような状態にしたり、これらのノウハウを社内に発信して勉強会などで伝えるようなことも行っています。

データの力を引き出して「想像を超えるDelight」を想像/加速する

鈴木:最後に、僕のほうからデータサイエンス部について紹介します。僕の所属しているデータサイエンス部は、データ統括部という全社横断のデータ組織の中にあります。ミッションとして、「データの力を引き出して『想像を超えるDelight』を想像/加速する」と、かっこいいことを掲げています。

この部署にはどんな人が所属しているかと言うと、AI研究開発エンジニアだったり、リサーチャーだったり、あとは僕みたいなデータサイエンティストだったり。あとは、その機械学習のモデルなどを実際のサービスに届けていくところに専門性を持つ機械学習エンジニアだったり。データを分析する専門家のアナリストもこの部署に所属しています。DeNA×AIのWebサイトがあるので、ぜひ見てもらえればと思います。

僕はデータサイエンティストというロールなのですが、データサイエンティストは、会社によって意味合いがだいぶ違ってくる仕事なので、DeNAではどういう位置付けかを紹介すると、主に機械学習を必要とするプロジェクトにおいて、課題をヒアリングしてデータを分析して、モデルを作ってAPI化することを一気通貫で行う仕事です。

DeNAのデータサイエンス部の特徴としては、Kaggleというデータ分析のコンペサイトがありますが、その経験者が多く在籍していて、試行のサイクルの早さみたいなところに強みがあります。

こういう話をすると、だいたい学生の方から「Kaggleをやっていないと入れないんですか?」みたいなことを聞かれるんですが、そんなことはなくて、Kaggle未経験者もたくさんいますし、未経験で入ってきたのに、1年間でKaggleにメチャクチャハマって、Kaggleマスターになった例もあるので、そこはご安心ください。

実際にどういうプロジェクトが存在しているのかを紹介すると、ここで挙げているのが『逆転オセロニア』というゲームで提供しているツールの例です。1つ目が「オセロニア道場」で、これは何かと言いますと、『逆転オセロニア』はいろいろなデッキを作って対戦をするゲームなのですが、そのいろいろなコンセプトデッキを本当に強くハイレベルに使いこなす対戦AIで、実際に上位のプレイヤーと戦っても、歯ごたえのある対戦が楽しめるようになっています。

もう1つは「オススメ編成」という機能で、これは何かというと、デッキを組むというのはけっこう大変な作業で、初心者には難しかったりするので、デッキの中に入れたい駒みたいなもののうち「これは最低限使いたい」というのを指定して、ポチッとボタンを押すと残りの枠を良い感じに自動で埋めるものになっています。こんな感じの取り組みを行っている部署になります。

競技プログラマーからセキュリティエンジニアに

鈴木:それでは、ここからは3つのテーマについて、パネルディスカッションですからみなさんと楽しくお話していければなと思います。最初のテーマはこちらに出しているとおり、「なぜ自分の今の部署を選んだのか。なぜそこに至ったのか」について聞いていきたいと思います。

今回見ている方の中には学生も多いと思いますので、学生時代にやっていたことや興味を持ってやっていたことなどを絡めてお聞きできればと思います。

まず、セキュリティ部門の石塚さんに聞いていきたいと思います。実は僕、学生時代にセキュリティを意識したことが、恥ずかしながらあまりなくてですね(笑)。

(一同笑)

どういう接点でそこに至ったのかなみたいなものを聞いていければと思うんですけど。実際最初のきっかけみたいなものはどうなんですか。

石塚:そうですね。実は僕も学生時代はセキュリティというものを聞いたことがなくて。

(一同笑)

セキュリティに興味を持ったきっかけは、僕が学生の時にハマっていた競技プログラミングのコンテストでDeNAがスポンサーをしていて、その時に今のセキュリティ部の先輩方と出会ったのがきっかけですね。

鈴木:なるほど。

石塚:すでにセキュリティ部で働いていた先輩は、競技プログラミングとセキュリティ界隈でバリバリ活躍されていて、「競技プログラミングの知識がセキュリティにすごい役立つんだよ」と教えてくれたのが、きっかけですね。

鈴木:競技プログラミングの先輩が、すでにDeNAのセキュリティ部にいたという。

石塚:そうですね。

井早:具体的に競技プログラミングとセキュリティの2つはどういう関連性があるんですか?

石塚:競技プログラミングでは、他の人が書いたコードを読んで間違いを見つけるようなシステムがあるのですが、脆弱性診断でAPIやソースコードの間違いを見つけることに共通しています。競技プログラミングで、他の人のコードを読んだり理解したりする能力が、脆弱性診断でも、脆弱性を見つけることに役に立っていますね。

井早:なるほどですね。

石塚:他にも、自分でマルウェア解析をやってみたり、セキュリティ部の取り組みを自分で調べて、セキュリティ技術もすごくおもしろそうだなと思って、セキュリティ部に入ったという感じですね。

大規模なインフラ運用の経験を積みたかった

石塚:自分はこんな感じだったんですが、IT基盤やインフラは、井早さんから見てどうですか。どうしてインフラ技術に入ろうと思ったんですか?

井早:そうですね。自分は学生時代から個人開発みたいなことをやっていたんですが、それをやっているなかで、なかなか大規模なインフラの運用は1人だと経験が積みづらいなという課題を感じていて、なのでいわゆる技術ができる強い人が隣にいる環境で、実際の業務で触れていけると効率良く知識を吸収していけそうだな、というのがインフラを選んだきっかけですね。

あとDeNAのインフラは、けっこうAWSのカンファレンスなどにも登壇しているぐらい、インフラ業界としてもプレゼン性が高くて、それで惹かれた部分はありますね。

稲垣:ちなみに、その大規模という観点で見ると、IT基盤部のようなスペシャリストじゃなくて、事業部というか一緒にソフトウェアを開発するほうにも行けたと思うんですよね。どうしてそのIT基盤部をあえて選んだのか、ちょっとお聞きしたいです。

井早:そうですね。特定のサービスを1個集中してやるのも、もちろん良いと思うんですけど、自分の場合は、複数横断でいろいろなサービスのインフラを見ることで、サービスごとに求められるインフラ特性や構成などが変わってくるため、横断的に見るとより技術に集中できるかなと思ったのが、今の部署を選んだ理由になりますね。

稲垣:なるほど。

オープンソース活動しかしていなかった

鈴木:稲垣さんにも聞いていきたくて。さっきの石塚さんと似たような質問になっちゃうんですけど(笑)。学生時代にテストは書いてはいましたけど、「テストをガッツリやっていくぞ!」みたいな印象はあまりなくて、どういうきっかけでテストという技術に注目して、そのスペシャリストになろうと思ったのかを教えてもらってもいいですか?

稲垣:自分は学生時代にイチからコードを書くよりも、ある程度かたちになったソフトウェアに対して、パッチを当てることが多かったんですね。具体的には、オープンソースでの活動をしていたんですが、その時、例えば自分がパッチを書く時やレビューをする時に、ただ人力でレビューをしたりするのがとてもつらかったんですね。

(一同笑)

「本当にマージして大丈夫なの? 動くの?」とか、そういうのがわからなくて、そういった時にこういったテストがあると、ある程度、実際にここは最低限動く、というのが担保できたりして、開発者をサポートできるんだということに気づいたんですね。そこですごく興味を持って、SWETに魅力を感じて、そのまま配属されたという感じです。

鈴木:学生時代から、けっこうオープンソースのソフトウェアに関わっていたみたいな感じなんですね。

井早:すごいですね。

稲垣:オープンソース活動しかしていなかったですけどね。

(一同笑)

いろいろなソフトに対していろいろなアプローチのテストができる

鈴木:稲垣さんが井早さんにしていたのと同じ質問を聞きますが、テストという意味だと、もちろんサービス開発をしているエンジニアや事業部のエンジニアもテストを書いているし、テストの技術を高めていこうという動きは絶対にあると思いますが、SWETという横断組織に着目すると、なんでその横断組織がいいと思ったんですか?

稲垣:これも、ちょっと井早さんの回答と被っちゃうかもしれないんですけど(笑)。やはり事業部として特定のソフトウェアに対してテストを書くことも、もちろんできたと思うんですけど、それだと特定のソフトウェアに対してのテストの技術に特化しすぎてしまって、いろいろなアプローチがたぶん選べないのかなと。

逆にSWETとして入ると、いろいろなソフトウェアに対していろいろなアプローチのテストだったり、業務改善のアプローチだったりを提示できるかなと思って、僕はその観点で幅広くいろいろなアプローチを提示したいと考えていたため、SWETを志望した感じですね。

鈴木:なるほど。やはり横断組織なので、いろいろなプロダクトと関わっていって、その幅の広さみたいなところが横断組織のうまみになるんですかね。

稲垣:そうですね。やはりそれが魅力的ですよね。

DeNAがKaggle枠という制度を発表した

稲垣:逆に天音さんは、なんでデータサイエンティストを志したんですか?

鈴木:僕は競技プログラミングの話と似ているんですけど、学生の時にKaggleにドハマりしていまして……Kaggleが大好きなんですよね(笑)。

(一同笑)

機械学習のいろいろな問題を解いていくわけなんですが、やっているうちに、機械学習を切り口にしていろいろなものを書いて、それが仕事でもできたら楽しいかなと思って、データサイエンティストという職種を選びましたね。

井早:このご時世では、本当にデータサイエンティストや機械学習をできる人って、けっこう引く手あまただと思うんですけど。

鈴木:ありがたいことに(笑)。

井早:その引く手あまたな環境の中でも、DeNAを選んだ理由は、何かあったりするんですか?

鈴木:そういう意味で言うと2つ理由があって、1つはメチャクチャ現金な理由でなんですけど(笑)。僕が就活をしていた時に、Kaggle枠というのをDeNAがぶち上げたんですよね。何かと言うと、Kaggle枠で採用されると「技術の研鑽のために業務時間の一部、20パーセントぐらいを使ってKaggleに参加していい」と言われたんですよ。メチャクチャいいじゃんと思って。

(一同笑)

そもそも、そういう制度を作ること自体もおもしろい会社だなと思って、DeNAを選んだのがまず1つ。これは現金なほうの理由で、もう1個はみなさんと似ていますが、DeNAはいろいろなプロダクトやいろいろな事業を持っていて、いろいろな種類のデータに触れると。

しかも、サービスを運用していた経験も長いので、データを集めたりデータをきれいなかたちで整理するのが文化としてけっこう根づいていて、すでにそのデータ基盤ができているので、データサイエンティストの力を発揮しやすい環境だなと思ったのが、魅力に感じたポイントですかね。

井早:いろいろなサービスのデータがあると、けっこうおもしろいですよね。

鈴木:そうですよね。いろいろあって、ユーザーのログだったり画像だったり、動画だったり、音声だったりもあるしみたいな感じで。題材としていろいろなものがあったほうが、飽きないで済むので(笑)。

(一同笑)

後半へつづく