今年9月に開催されたエンジニア職短期インターンシップ「ソフトウェアエンジニアリングコース」は、「人生で一番『“こと”に夢中になる』3日間」をコンセプトにチーム対抗でプログラムを実施。盛況のうちに終了しました。
実は今回の課題アプリを手がけたのは、全員22年新卒入社のエンジニア。若手エンジニアのみで構成されたチームでサマーインターンのコンテンツを開発するのは初の試みでもありました。
新卒2年目のメンバーが未来の仲間に向けて何を考えどのように取り組んだのか──そのプロセスと彼らの奮闘ぶりをお届けします。
目次 [隠す]
サマーインターンとは、DeNAのモノづくりと出会う場所
──DeNAのエンジニア向けサマーインターンプログラムは毎年、参加者から高い評価を得ていると聞いています。ここで改めて、DeNAがサマーインターンを開催する目的や、プログラムを通じて参加者に伝えたいことについて教えてください。
落合 彩乃(以下、落合):1番の目的は、1人でも多くの学生さんにDeNAを知っていただきたい、DeNAに興味を持っていただきたい、ということです。ありがたいことにここ数年、エンジニア向けサマーインターンをきっかけに就活エントリーしてくださる方も多く、「出会いの場」として機能している面はあります。ですので、働く「場」としてのDeNAを体感していただけるようなプログラムづくりを心がけています。
──DeNAのサマーインターンプログラムの特徴はどんなところですか?
落合:0→1フェーズやハッカソンのような形式で1からのプロダクト作成をテーマにするのではなく、DeNAの中で実際に起こりうるような課題、できる限りリアルな就業体験の機会にすること。そこがDeNAのサマーインターンの特徴だと思います。
──そのようなプログラム内容にする理由を教えてください。
落合:DeNAの仕事の進め方を体験してもらいたい、というのが大きいです。DeNAのエンジニアとして大切にすべき価値観を「DeNA Engineer Quality(以下、DEQ)」として明文化していますが、サマーインターンを通じてDEQに共感していただいた学生さんには、ぜひDeNAへの入社を志していただきたいという思いがあります。
同期だからこそ、のアプリをつくりたかった
──ここからは今回の課題アプリ開発の経緯について教えてください。まず、チーム全員が2022年に新卒入社したメンバーということですが、このメンバー構成にはどのような意図があったのでしょう?
落合:ここ数年は、既存コンテンツをベテランのエンジニアがメインでアップデートする運営を行ってきたのですが、今年は新たなチーム構成で新しい課題アプリを開発したいと考えました。もちろんそれを実現するためには時間も工数もかかりますし、社内のエンジニアに協力を仰ぐ必要がある。ですので、まずは新卒エンジニア採用担当である私がコンセプトを決めて、それに合うメンバーをアサインしていく形で進めることにしました。
そして新たなチーム構成で、と考えた時、現役学生になるべく近い視点を持ったメンバーで推進したいと思い22卒入社の若手エンジニアに声をかけたんです。私も22卒入社で同期なのもあって頼みやすい、という安心感もありました。
──22卒入社のエンジニアが30名以上いる中で、彼らに声をかけた理由は何でしょうか。
落合:そもそも今年の課題アプリには大元となったプロダクトがありまして。それは去年の新卒エンジニア研修でつくられた社内向けプロダクトの一つで、現在も社内で活用されています。1から開発するより、一度つくったものを再び課題アプリとしてつくり替えるというのはチャレンジングでおもしろいのではないか、と思ったのが今回の課題アプリ開発のきっかけとなりました。
開発チーム4名の内、2名はその大元のアプリの開発メンバーで、フロントエンド、サーバーサイドのエンジニアとしてまずアサインしました。そして、もう1人のサーバーサイドエンジニアとインフラエンジニアに関しては、HRから推薦し、適性を加味して各事業部長やグループマネージャーに最終ジャッジをしていただきました。
──全社的な協力の上でチームが構成されたのですね。
落合:はい。全社の協力体制が敷かれるくらい、サマーインターンはDeNAにとって重要なイベントとして位置付けられています。開発メンバーの選定については部長陣にも相談し、適性と現在の業務の内容を見た上で参加を承諾していただきました。その後、最終的に本人に合意を取って正式にアサイン、という流れになります。
部長陣が協力したいと思ってくださっているところは結構大きいんです。早いうちからこういう経験をしておくことには意味があるよね、という理解があってのアサインだと感謝しています。
ミッション:高難度の技術的課題を開発せよ
──エンジニアのみなさんがこのプロジェクトにオファーされた時の気持ちをお聞かせいただけますか?入社2年目にして、かなり重要な責務を負うことになったと思いますが……。
藤原 日向葵(以下、藤原):責任重大ですし、普段の業務と並行してやるのは大変そうだな、と最初に思いました。
大谷 俊介(以下、大谷):じつは、僕は学生時代にDeNAのサマーインターンに参加したかったけれど叶わなかった過去があって。なので、選ばれたのは単純に嬉しかったですし、こういった形で何かを発信できるということにワクワクしました。
佐藤 新太(以下、佐藤):僕はそんなに重く考えていなかったというか、気軽に参加した感じです。幸いにもDeNAのサマーインターンへの参加経験があったので、イメージしやすかったというのもあるかもしれません。
井上 大喜(以下、井上):僕は楽しみでしかなかったです。じつは学生時代に参加したDeNAのサマーインターンプログラムがめちゃくちゃ楽しくて、それもあってDeNAへの入社を決めたんです。あの時の経験を活かしながら自分の手でコンテンツをさらにパワーアップさせられる、開発に携われる、っていう貴重な機会だと思いました。
──今年の課題は佐藤さんと藤原さんが新卒研修で開発したプロダクトが元になりましたが、サマーインターンの課題として選ばれたことについてはどのように感じていましたか?
佐藤:つくった自分が言うのもなんですが、最初は正直、サマーインターンの課題に適したプロダクトとは思えませんでした(笑)。課題としてつくり変えるにあたり、課題解決としてのおもしろさと、アプリとしてのよさには違うところがあると考えていて……。何というか、これを改変するのは大変だぞ、と。
藤原:新卒研修で開発したのは、DeNA社員の個人ブログをキュレーションというか、共有するためのアプリなんです。技術的なことを調べる時、ネット上の記事や個人ブログをチェックしたりするのですが、最後まで読んで筆者を見ると「これ、社内の人じゃん!」っていうことがあるんですね。
だったら、社内のエンジニアがどんな知識を持っているのかを先に知っていれば、たとえばここから新しく繋がりが生まれたりするよね、みたいな話があって。ごく基本的な操作のみのかなりシンプルな仕様のプロダクトだったので、課題としてつくり直すのは、作問側としてはかなり難しそうだなと感じました。
──なるほど。落合さんは、なぜこのプロダクトを課題の土台にしようと考えたのでしょうか。
落合:まず、去年の新卒エンジニア研修で開発したプロダクトをインターンの課題にしたかったんです。「新卒研修でもこんなプロダクトを開発できるんだ!」という期待や希望のようなものをエンジニアを志す学生さんに届けたかった。社内で動いているプロダクトをチェックし、学生さんに興味を持ってもらえそうな言語を使用したものの中から絞り込んだ結果、このプロダクトを元にアプリ開発をお願いしようと決めました。
同期チームで挑んだ課題アプリ開発の舞台裏
──では、課題アプリの開発について聞かせてください。参加される学生さんの思考やスキルなどを考慮して課題をつくり、そこから何かを伝えるわけですよね。要件定義をする際に、何に留意をしてどんなふうにアイデアを出していったのでしょうか。
井上:新卒エンジニア採用グループがサマーインターンのコンテンツに何を求めているのか、どうやったら届けられるのか、というのをまずざっくりとメンバーみんなで齟齬がないように言語化しました。
今回求められていた体験の一つ、「DeNAの仕事のやり方を知ってもらう」という”体験”を例にすれば、「DeNAの仕事のやり方を知ってもらうって何だろう」ということをみんなで考え、DeNAの共有の価値観であるDeNA Quality(以下、DQ)で示されている5つの要素を体感してもらうこと、のように具体化していきました。
そうして、そこからさらにどうすればそれを達成できて学生に感じてもらえるのか。たとえば、フロントエンドとサーバーサイドの人が協力しないと解決できないような課題を設定するとすると、それを解決するためのコミュニケーションが必要になります。そこでDQにある「発言責任、傾聴責任」を感じられるよね、という具合です。
ある程度抽象的な要件の言語化をやり切った上でみんなで話し合い、具体的な要件だったり、難易度の設定、スキームの構築といった具合に具体的に落とし込んでいきました。
佐藤:今さらっと言ったけど、そんなにうまい感じでやれてないよね(笑)。
全員:(笑)
──ということは、スムーズには進まなかった、と(笑)。
佐藤:この要件定義のところ、何をつくるかっていうのを決めるところが思うように進まなかったんです。
大谷:確かに。手を動かし始めるまでに一番時間をかけた、というか、かかってしまった。
井上:進まなかったのは要件定義の議論が理由なんです。揉めたというより、みんなの中で何をつくるのかが今ひとつ曖昧で落とし込み切れていなかった。進んでいるようで全く進んでなかったんですよね。完全に駄目な流れでした。
藤原:エンジニア側が能動的に採用側からの情報をあまり求められていなかったんですよね。「これお願いします!」というオーダーを受けて、まずはその注文に応えようと頑張ってはいたものの、やっぱりうまくいかないところがあって。開発の手を動かす前の、この“考える部分”が当時の僕らにとって難易度が高かったところかなと思います。
井上:僕ら全員がそれまでビジネス職の方とやり取りをする機会がなかった、というのも原因にあると思います。普段はエンジニア同士のやり取りがメインで、ビジネス職側の要望をシステムに落とし込む、という経験のなさもあったのかなと。
落合:それで言うと、私にも反省点があります。私の想いややりたいことと、限られた時間の中でエンジニア視点で実現可能なことの違いを理解していなかったんです。
理想はなんとでも言えるんですけど、それを作問したり難易度を設定したり、といった点については違う議論が必要で、そこの職種間コミュニケーションの難しさがあったのを感じています。みんなに伝わっているものだと思っていたけれど、実はそうじゃなかった。私視点ではスムーズに進んでいると思っていて、どこまでできていたら安心なのかを全く理解していなかったんです。井上さんから「これまずいよ、今のままじゃ間に合わない」と言われ、初めて焦り出した、という感じでした。
「こと」に向かった、その先に見えたもの
──ということは、井上さんがこの状況を打破したのですね。
井上:期日までの時間が残り少なくなって「やばいな、何でこんなふうになっちゃったんだろう」と焦り出しました。深堀りしていくと、自分の中で誰かが決めてくれるだろうっていう意識があるな、と思い至って。
プロジェクトが始まってからを振り返ると、そういう気持ちでいたから何も決まらない。多分、みんなも誰かが決めてくれるだろうと思っていたんじゃないかな。だったら「僕が決めちゃえばいいか」と仕切り直ししました(笑)。
井上:何かを変えなきゃいけない、どう変えようか。その一つの答えが、僕が音頭を取ることでした。この行動は自分が所属している部署に起因するかもしれません。僕はインフラエンジニアですが、ゴールをどこに置くのか、どういう過程を経るとゴールまでスムーズに進行するのか、現在の進捗状況は、といったようなことをきちんと言葉にして報告すること、そのタスクを知らない人でもわかるように表現することを求められるんです。ふとサマーインターンの開発状況を誰かに説明することを考えたときに、これは大目玉を喰らうやつだな、と(笑)。
佐藤:議事録を見ると7月3日って書いてある。井上さんが採用側の要件というか、体験設計から考え直した方がいいんじゃないか、ということを切り出してくれた。そこからガラッと変わりました。
──それは、それぞれの行動を変えたのか、それとも意識を変えたのか。具体的にどういった変化を遂げたのでしょうか?
井上:僕はまず落合さんと、プロダクトの要素や言葉の定義を一つひとつ確認する作業を始めました。そこで、現在開発作業をしているものは、それほど大筋は外れてなさそうだ、ここでゴールを明確にして道筋をつければ大丈夫そうだねとなり、スケジュールを切ってみんなに投げた。そして、タスクを明確化する中で、技術統括部長のnekokakさん(※)と方向性のすり合わせをしよう、具体的なアドバイスをもらおうと、落合さんが中間報告の実施タイミングをnekokakさんに打診してくれましたよね。
※……常務執行役員 兼 株式会社アルム VPoE 小林 篤。社内では親しみを込めて「nekokakさん」と呼ばれている。
大谷:ここまで自分たちだけで走ってきていましたが、なんと言ってもまだ2年目ですし、ベテランエンジニアに意見を仰ごうと。nekokakさんは去年までサマーインターンで使っていたコンテンツの設計オーナーでもありましたし。途中経過を提出してフィードバックいただけたのはとても参考になりました。
──そこで目的が定まり、ゴールが見えたと。
佐藤:実際に手を動かし始めたのは、残り1ヶ月を切るか切らないかぐらいです。ほとんど突貫工事でした。
落合:佐藤さんには開発リーダーとしての力を存分に発揮してもらいました。
佐藤:(笑)。元々新卒研修でつくった時に僕がテックリードの役割だったこともあって、元のアプリケーションの設計などは僕が主に決めたものでした。なので、今回の開発でもリーダーの役割をもらっていたのですが、前述のとおり最初はうまくいかなくて。でも、体験設計をちゃんと考えてmust/want課題としてこれぐらい課題を用意しようというスキームを決めた後は、具体的に必要な作業を洗い出したり、各々で割り振って遂行したりということがある程度うまくできたのかなと思います。
井上:僕はインフラ担当で、具体的にコードを書くのはサーバー担当のメンバーが中心です。なので実装作業にはあまり関わってないんですけど、立ち返りの部分や進行については結構貢献できたのかなと思っています。あとは落合さんの通訳係(笑)。
落合:井上さんをはじめ、チームメンバーとの会話からはたくさんの学びを得ることができました。エンジニアだからビジネス職だから、みたいな壁をとっぱらってくれたことや、定義付けの重要性など。その経験は現在進行中の業務にもすごく活きています。ただ、このプロジェクトは私がオーナーとして運営してきましたが、メンバーが同期という気安さもあって、かなり甘えさせてもらいました。
佐藤:確かに落合さんには結構無茶ぶりされた感覚がある(笑)。
藤原:同期という点で話すと、僕は高卒でDeNAに新卒入社したのですが、10代は1人だけで……。みんな経験値や持ってる技術が高く、優秀なのを肌で感じていたので、少し気後れしていたところがあったんです。でも、このチームにアサインされて結果を残すことができたのは自信に繋がりました。
自らが主体になってサービスを開発する必要に迫られる中、非エンジニアからの依頼をどう形にしていくか。「こと」に向かうための仕事への向き合い方が変わりました。反省すべき点はもちろんありますが、とにかく、やってよかったなって。インターンのための取り組みではありましたが、自分自身も大きく成長できたと感じていますし、協業案件である普段の業務に今回の学びを活かしていきたいと考えています。
大谷:自分はこの開発期間がDQで言うところの「こと」にめちゃめちゃ向かっていた時期だなと。若手メンバーが主体となり、要件定義から開発までを行う中で、特に発言責任、傾聴責任の重要さを実感しました。それを意識していたからこそ、原初に立ち返り、チーム全体で「こと」に向かうことができたと思います。
学生インターンという“届けたい人”を明確に意識して開発したのが初めてだったので、とてもいい経験になりました。今回の経験を活かし、今後も発言責任、傾聴責任を意識し、チームの一員として「こと」に向かえるエンジニアを目指していこうと思います。
佐藤:僕はプロジェクトのライフサイクルを一通り体感できたのがよかったです。今携わっているプロジェクトは2〜3年のスパンで進行しているので、要件定義の段階からマネジメントまで経験できたのは、かなりの学びになったのを実感しています。
今回のプロジェクトではスケジュール管理などのプロジェクトマネジメント観点で反省点が多かったので、必要な知識を学んで、PM的な役割にチャレンジしたいという思いが強くなりました。今回の経験を通して、チーム全体で同じ方向に向くことの重要さと難しさを感じたので、どうすれば一人の力に依存しないスケールするチームを作れるのかを探求してみたいです。
井上:普段の業務ではインフラは裏方で、誰かに価値を届けているシステムを動かし続けることが仕事です。今回のインターンは普段の業務領域から少し離れて、実際に使ってくれる人がどうやったら喜んでくれるのか?どんな価値をつくれる?届けられる?といったことを考える貴重な機会でした。
誰かを喜ばせるためにつくるべきものを考えて、自分たちでそれを形にしていく。そういったことにもっと挑戦していきたいと考えています。
──最後にオーナーを務めた落合さん、今年のサマーインターンを経ての今の思いを聞かせてください。
落合:プロジェクトの途中では、「本当に大丈夫かな?完遂できるかな?」と不安になることも多く、うまくいかずに泣いてしまうことも多々ありました。ですが、思い悩み、本気でメンバーとぶつかったことで、最終的には背中を預けられる心強いチームになりました。
「短期のインターンで学べることなんて高が知れている」と考えていた学生さんが、参加後に「実プロダクトに近い課題ができると思っていなかった。こんなに本気になれると思っていなかった。参加して本当によかったです!」と言ってくださったのが、一番嬉しかったです。
私たちが悩みながらも「ゴールや課題を自分たちで見つけて、そこにどう向かうのか」というプロセスを踏んだことで、学生さんにも同じような、それ以上の体験を届けることができたと感じています。
※本記事掲載の情報は、公開日時点のものです。
執筆:片岡 靖代 編集:川越 ゆき 撮影:内田 麻美