苦しんで、悩んで、ものを作ろう。
2025年1月13日 • 13 min read • 6,247 words株式会社ディー・エヌ・エーに就職したぐっちーさん(新卒一年目、男性)のお話
この記事は、2025年一月に行われたインタビューを書き起こしたものです。ぐっちーさんは情報系の修士課程を修了後、2024年に新卒のエンジニアとして株式会社ディー・エヌ・エー(DeNA)に入社しました。ぐっちーさんの学生時代のインターン先のうちの一つで、ぐっちーさんとGAFAがえるさんはチームメイトでした。
今僕は社内の開発基盤系のサービスを開発するチームに所属していて、GitHub Actionsのジョブが動く環境をお守りしています。GitHub Actionsにはself-hosted runnersっていって、自前で整えた実行環境でジョブを実行してくれる機能があるんですけど、僕はその実行環境の運用をしています。ジョブが動くランナーがちゃんと立ち上がっているか、壊れていないか、とかの監視をしたり。あとは、費用対効果を高めるために、需要と供給を合わせる仕組みを考えたりとか、オートスケーリングの効率化をしたりしています。ジョブでAndroidのシミュレーターを動かしたいとか、Mac環境が必要だとか、そういう新機能の追加なんかもやっています。
DeNAは入社してから配属が決まるんですけど、僕は、この配属は狙っていました。僕はこれまではアプリケーション開発ばかりやっていたので、次はもうちょっと下のレイヤーをやりたいなと。あとは、アイディアを出すところから、それに必要なことをすべてカバーするところまで携わりたいと思っていて、DeNAのような大きな会社では、社外向けサービスよりも社内向けのものの方がそれがやりやすいだろうとも思っていました。どの配属先が人気だったかというデータは公開されていないのでわからないんですけど、周りの同期に聞いた感じでは、私と同じくこの配属先を希望している人はいませんでした。なんでなんですかね。(笑)
配属されてから五ヶ月ほど経ちました。ある程度慣れてきて、嬉しいことに大きめの仕事を任せられるようになってきました。チームは小さくて、メンバーは四人います。GitHub Actions周りのことは僕と先輩の二人でやっています。
仕事は楽しいです。本当です。(笑)月曜日なんかに休みだったらいいなと思うことはありますけど、始まったら、「やるか!」って気になります。基本働き方が自由なので、それがありがたいです。この会社に入って間違ってなかったなって思います。会社というか、この部署、このチームで働けているということはよかったなと思います。
学生時代、学部は物理系で、大学院で情報系に移りました。
学部で物理にしようと思ったのは、ちゃんと考えてのことです。高校の時に先生になりたいと思っていて、でも教育学科だと先生になることだけを目的にするようで視野が狭くなるかなと思って、何か専門的な学部がいいなと思っていました。僕、物理めちゃくちゃ得意だったんですよ。もう、ほぼ100点みたいな。その他の科目は全然だめで、それと比べると偏差値が1.5倍とかでした。
先生には結局ならなかったんですけど、それは、うーん、そうですね。普通に大変そうだったっていうのと、効率を求めて活動したいという気持ちがあって、先生という仕事はそれに合わなかったというのがありますね。僕は、こうしたら面白いんじゃないか、っていうよりも、こうしたら楽なんじゃないかって考えるタイプ。先生という仕事は、ずっと生徒といて、接して、というのがメインなので、本業で稼ぐためのお仕事としては辛そうだな、と思いました。お金のことを考えなくていいなら先生やりたいなと思います。情報とか物理の先生やりたいです。
ソフトウェア開発との出会いは、大学三年生の時にやった一社目のインターンです。それまでバイトで塾の先生をやっていたんですけど、コロナでシフトがめっちゃ減って暇だったのと、就活しないとな、インターンしたら有利に働くかな、みたいな考えで始めました。雑用みたいな感じで入って、めっちゃ働きました。Excelめっちゃいじってました。そこでやってく中で、エンジニアの適性あるんじゃない?と言ってもらえて、エンジニアの仕事をするようになりました。当時は会社に開発者が一人か二人くらいしかいなくて、トラブルに見舞われることも多かったです。
PHPを使った開発です。自分にとってはかなり大変でした。開発者は足りていないけど、スタートアップなのでもちろん教育には時間を割いて貰えず、自分でキャッチアップしていくしかない感じでした。お仕事のもらい方としては、こういう機能が作りたいというざっくりとしたものを受けて、細かい要件は開発を進めながら詰めていく、みたいな。ひぃひぃ言いながらリリースして、でもちょこちょこ壊れているので、不具合を直しつつ面倒見ながら運用していく、という感じでしたね。今振り返ればとてもスタートアップって感じでした。
開発していたのは中学受験をする子どもたちが勉強で使う動画サービスで、僕が作ったのは表彰機能というものです。このサービスでは毎週テストがあるんです。アップされた問題を全国の小学生が解いて、それに上からランキングがついて代表が名前を読み上げる動画をまた配信するという施策があって、それをシステム化するということをやりました。すごいんですよ。代表がカリスマ的な家庭教師で、生徒はみんなそこで名前を呼んでもらうことを目指してすごいエネルギーでがんばるんです。それまではランキングの情報がスプレッドシートで管理されていてそれをPDFに出力してからダウンロードして…、という感じだったんですが、それを随時順位が更新されてWeb上のテーブルで見られるようにしました。テスト結果の集計も自動化して運営コストを減らしました。
そのインターンは合計一年半やりました。半年雑用、一年開発です。エンジニアとしてはここでの経験で一番成長したと思います。とてもやりがいがありました。自分のおかげで誰かが何かをできるようになった、というのが嬉しかったですね。この頃にはもう、ソフトウェア開発が好きになっていて、大学院で情報系の研究をして、それからソフトウェア開発職に就こうと思っていました。
その一社目のインターン、エンジニア始めたての自分にとってはまじで大変でした。アプリケーションはPHPで書かれていたんですが、何もフレームワークがなくて、一人の天才プログラマーが作ったフルスクラッチのアプリケーションでした。コードはその人に最適化されていて、特に経験が浅い当時はほぼ読めませんでした。多分今でも全て完璧には読めないです。アプリケーションコードだけじゃなくて、CI/CDやインフラを含めた何もかもがその人の能力に最適化されていました。
その人はめちゃくちゃ頭がいい人で、きっとそのやり方はその現場としてはあっていたと思います。でも僕からすると、ソフトウェア開発というものの全体像を知らない中でそんな難しいシステムを触っていたので、一般的なソフトウェア開発ってどういうものなんだろう、って思い始めました。
大学院に進学することが決まっていた四年生の冬、別のソフトウェア開発現場での経験を求めて、二社目のインターン先を見つけました。IoTデバイスを使った海難救助ネットワークを作っているスタートアップです。ここでは経験豊富なテックリードと一緒にたくさんコードを書いていたのですが、あるタイミングで僕一人でサービス全体を引き受けることになりました。
この会社は、良くも悪くも何もルールがないので、自分で好きなことをやろうと思えば何でもできちゃうのがいいところです。その反面、これをやるべきだというのを自分で決めないといけないから、強い意志を持って「これをやるんだ」と言えないと辛い。「辛い」っていうのは、なんでしょうね、自分がプロダクトを引っ張っていかなきゃいけないのに、自分が自信を持ってやるべきことを言えない時、みんなが不安になっているのが伝わってくるんです。それを感じて辛い気持ちになります。求められているリーダーとしての役割をしっかり果たせていないなと。
エンジニアとしてやったことはいくつかあって、まずは新規機能開発です。海難事故が起こった際に助けを求める先を広げる「エスカレーション」と呼ばれる機能、ネットワーク内の人たちのアカウント管理ができる管理画面、そしてIoTデバイスのログからハードウェアの不具合を自動検知する仕組みを作りました。
次に大規模なリファクタリングです。このシステムはAWS Lambdaを使っているんですが、たくさんの関数が重複したロジックを持っていたので、それを共通化しました。共通処理を書いて各Lambda関数が短く済むようにし、テストを書いて、壊れにくく、変更しやすくしました。
あとはCDKのバージョンをv1からv2にあげました。これはちょっとタイミングが不運で、サービスの初期ローンチのすぐ後くらいにv2がリリースされて、それから二年くらいでv1がもうend-of-lifeになるという状況でした。スナップショットテストっていうんですけど、CDKから生成されるCloudFormationテンプレートをバージョンアップ前後で比較して差異があればエラーになるテストを使って、安全に、自信を持ってバージョンアップできました。
ここでは、大学四年の終わりから丸二年くらい働きました。
就職活動では、インターンと本選考を合わせて六個くらいしか応募してないです。友達がいないのでこれが多いか少ないかは分からないんですが、多分少ないんじゃないですかね。エントリーシートをちゃんと書いて出したところは大体反応をもらえたので、それで、一つずつ丁寧にやればいいんだって思うようになりました。
多分僕は就職活動はうまくいっちゃってる方なんですけど、なんでなんですかね。書類はバランスがよかったのかなと思います。さっき言った二つのインターン。一つ目は「役に立つものを未経験で作っていました」、二つ目は「モダンなテクノロジーを使って丁寧に作っていました」みたいな。
面接でうまくいったのは、多分自走できるというのが伝わったんだと思います。コーディング面接はありませんでした。今まで開発関連で一番がんばったことはなんですか、なんでそれをしたんですか、などと深掘られて、思考の深さを見られる、みたいな面接が多かったと思います。自分の場合、比較的うまく答えられているときでも、言うことがなくなるまで「なぜ」と言われるので、結局後味は悪かったです。
結果的に四つの会社から内定をもらいました。DeNAに入社することにしたのは、中の人が一番しごいてくれそうだったからです。DeNAは、ちゃんとやってるぞっていう誇りを持っている人が多い印象でした。インターン選考で不合格だったからというのもあります。自分が落ちるってことは自分より優秀な人が同期にいるはずだ、という考えで。あとは、「本当に技術が好き」ということを根底のバリューとして社員が集まっていると見える会社があって、そこは僕は合わないかもって思いました。僕も技術は好きなんですけど、それよりもどんなサービスを提供するのかということの方が大事でした。
改めて就活を振り返ると、うーん、総評70点から80点という感じです。DeNAは入る時に部署確約じゃないんですよ。入ってから配属が割り振られるのでガチャではあったんですけど、最終的に自分をうまくアピールできて行きたい部署に行けたのはよかったです。インフラ系がやりたくて、DeNAはそれに強い会社だったので、やりたいことができる部署に行ける確率は他より高かったと思います。一方、「インフラやりたい」だけじゃなくて、どういうサービス、どういう役割を担いたいというあたりをもっと考えられていたら、もしかしたら部署ガチャに頼らない選択肢が見えていたのかも、と思ったりもします。
結局、僕はこれがやりたいっていうはっきりしたものが見つけられてなかったので、入った後に選択肢がある大企業に入れたのはよかったです。決めるのを先送りにできるというか。何も分からない中で無限の選択肢から決めるよりも、入ってから少し解像度が上がった状態で考えて決められたのはプラスでした。
初めてソフトウェア開発をやった頃から比べると、ソフトウェア開発の幅が広がったなと思います。二社目のインターンで一人でいろいろ開発をして、どうにかする力はつきました。それから、いろんな技術を自分の時間に触ってみるようになりました。
DeNAに入ってからは、日本語を書くのが得意になったかもしれないです。技術ブログを書いたんですけど、それでいっぱいレビューをもらったりとか。ドキュメントを書くことも多くて、文章をちゃんと考えて書く習慣がようやくついてきました。Pull Requestに何を書くかとか、そういうレベルの話です。これをやりました、じゃなくて、どうしてそれをやるのが良いのかを、読み手のことを考えて書けるようになってきた気がしています。
技術ブログの書き方で学んだのは、書きたいことを書かない、ということです。思いついたことをそのまますぐに書かない。技術ブログって、自分の名前で有名なチームを代表して書くので嬉しくて、テンション上がるから、思うがままにあれもこれもと勢いで書いてしまいがちです。その結果内容がチグハグになっているとレビューで指摘を受けました。最初に全体の構成を考えて、何を伝えたいのか、何をアピールしたいのかをクリアにしてから書くのがよいと学びました。
一旦今のインフラの分野で難易度とインパクトの大きな仕事ができたら、次を考えたいと思っています。学生時代はアプリケーション開発をたくさんしていて、その後、インフラ系の開発がしたくてDeNAに入りました。次はその分野で実績を積めたら、また何か新しいことをやってみたいです。
今特に自分に強みがないので、三年後には何か揺るぎない強みがあるといいなと思います。開発においてこの領域はこの人に任せておけば大丈夫、と思ってもらえるような人になりたいです。そしてその領域は広ければ広いほどいいなと思います。
これからエンジニア就職を目指している人たちに何か言葉を贈るとしたら、うーん、なんというか、ちゃんと苦しんだり悩んだりして、責任を持って仕事や開発に取り組んで頂きたいなと思います。
有名企業でインターンしていましたとか、有名なハッカソンに出ましたとか、技術ブログを書きました、とかじゃなくて、小さくてもいいから自分でものを作って、それが誰かに使われて、といった経験をしてみてほしいです。多分最初の方はうまくいかないことが多いんですけど、そこで苦しんだり悩んだりした経験があれば、あんまり就活のことなんて考えなくても、その時になってエントリーシートを書いてみるとぐっと説得力のあることが書けるようになっている気がします。就活をゴールにしてやるよりかは、今自分が熱中できる開発をやるのがいいんじゃない?ということです。私が一社目のインターンで経験したのがそれです。一番成長したのがあの時でした。
GAFAがえるさんは日本のIT技術者のキャリアアップを応援する活動をしています。ご感想は hello@gafafrog.com
までお寄せください。また私たちの活動や当サイトの記事が役に立った、励みになったという方は、右のリンクより温かいご支援をお願いいたします。