インフラ部署の新卒コンビ!近い世代だからこそ教えられる“幅広いスキルを持ったエンジニアになる”方法

サイゲームスには、新卒・第二新卒のスタッフにキャリア形成及び生活全般の様々な悩み相談を行うメンターと業務上必要なスキルを教えるトレーナーがつくメンタートレーナー制度があります。その対象者に、それぞれのコンビで対談していただく連載企画「SJ対談」。
先輩(Senior)と後輩(Junior)、それぞれの立場から見た制度期間中の思い出や成長の軌跡などを話します。

第4回は、ゲーム開発・運営における縁の下の力持ち・インフラエンジニアのSJ対談をお届けします。

トレーナー/2013年新卒アキヒサ
gutenberg-examples
2013年に新卒として入社。『ナイツオブグローリー』でフロントエンドエンジニア兼サーバーサイドエンジニアを担当後、2016年にインフラエンジニアに転向。現在に至る。
2017年度新卒ジュン
gutenberg-examples
2017年にエンジニア職として新卒入社。新卒研修を経てインフラチームに配属され、現在は社内の各タイトルにインフラエンジニアとして関わっている。

「同じ目線で話してくれる」
お互いの印象

ジュン アキヒサさんは、常に同じ目線で話してくださる先輩です。インフラは、インフラ全般に対する広い知識が必要な業務ということもあり、経験を積まれたベテランスタッフが多い部署です。その中で同じ新卒出身者だからこそできるお話やアドバイスをしてくれ、そのおかげでインフラチームに溶け込めたと思っています。本当にありがたかったです!

アキヒサ インフラは他の部署に比べて新人が少ない部署ですよね。私が2013年度新卒なので、新卒の先輩として「精神的にも技術的にもチームに馴染むのは大変だろうな」と思っていました。そこでジュンさんのトレーナーをすると決まったときに、可能な限り同じ視点に立った“横から目線”を心がけて接するように気をつけようと決めました。

ジュン 横から目線……!

アキヒサ 今回の対談テーマは“横から目線”です。覚えておいてください!

ジュン はい!アキヒサさんの横から目線をすごく感じたのは、僕がインフラに合流してしばらく経った頃、プログラムの数値を間違えて設定し、チームに迷惑をかけてしまったときです。そのときにアキヒサさんは「自分も合流当時にこういう失敗があって……。そのときはこうやって解決したよ」と同じ立場に立って、改善点を教えてくれました。失敗した直後はただ焦ってばかりでしたが、その言葉のおかげで前向きになることができ、「今どうすべきなのか」「次に同じ失敗をしないようにするにはどうすれば良いのか」を考えられるようになりました。

アキヒサ それは良かったです。ジュンさんは配属当初からアドバイスをする必要がないくらいに仕事への姿勢や受け方がきちんとしていた印象です。改善点を伝えると素直に吸収できる柔軟性もあったので、トレーナーとしてアドバイスのし甲斐がありました。仮にトレーナーのようなポジションの人がいなくても、自分のすべきことを見つけてしっかりと成長できるタイプだと思います。

実感した「テストコードを書く大切さ」
制度期間中の思い出

ジュン 制度期間中、印象に残っているのは「テストコードを書いてテストを行う大切さ」を教えてもらったことです。テストコードは、プログラムが期待通りの動作をすることを様々なケースで検証するためのコードです。それまでテストコードを書いた経験がなく、まずは「テストコードとは何か?」を調べました。最初の頃は、テストコードの必要性がわからず、「プログラムを動かすためにテストコードは必要ないけれど、書いておいた方が良いのだろう」くらいに思いながら書いていました。

アキヒサ そうだったんですか?ジュンさんの書いたテストコードは、初めてとは思えないぐらいきちんと書けていてびっくりしました。

ジュン ありがとうございます!アキヒサさんに出来上がったコードを確認してもらった際、アキヒサさんの失敗談を聞いて「テストコードを書く大切さ」に気づきました。

アキヒサ それはきちんと話しておこうと思っていた内容だったので、印象に残っているのはうれしいです!
ジュンさんに話した失敗談は、誤って出してしまったある不具合についてのものでした。当時、フロントエンドエンジニアとして担当したソースコードにミスがあり、その結果「連日で受け取るはずのログインボーナスを1日目ですべて受け取れてしまう」という不具合を起こしてしまいました。不具合が見つかったのが休日だったこともあり、改修作業のためにたくさんのメンバーに迷惑をかけてしまいましたし、それ以上にユーザーのみなさんにも多大な迷惑をお掛けしてしまいました。
自身の書いたソースコードに責任を持っていたつもりでしたが、どこかに「おかしな部分があってもデバッグチームが見つけてくれるだろう」と甘えてしまったのだと思います。それからは自分でも可能な限りテストコードを書くよう心がけました。

サイゲームスのエンジニアの多くは担当プロジェクトに所属して業務をしますが、インフラはプロジェクトに所属せずに業務を行います。そのため、1年目でインフラに入ると、プロジェクトの様子が見えづらかったり、自分の仕事がプロジェクトにどのように関わり、ユーザーのみなさんに届いているのかを実感しづらかったりする可能性があります。なので、ジュンさんには自身がプロジェクトで経験したエピソードをなるべく伝えようと思っていました。
また、インフラはチーム内にデバッグメンバーがおらず、自分でテストコードを書いたり、動きの確認をしたりして品質を保つ必要があるので、なおさらこの経験はジュンさんに話そうと思っていましたね。

ジュン なるほど……!実際にテストコードには何度も助けられています。例えば、以前書いたソースコードを修正を無事に行えたことがありました。修正作業を終えてコミットしてみると、ツールでのテストコードの実行結果がNGとなっており、確認すると修正し忘れた箇所が見つかったんです。事前にミスを発見・修正できたため、実際に動かしてからバグを出さずに済みました。

アキヒサ たとえ自分が書いたソースコードでも、時間が経つと内容を忘れてしまう場合が多いです。本番前にテストコードできちんと確認すると、半年後や1年後にソースコードを改修しないといけない場合でも安心して作業できます。
また、ジュンさんはソースコードを説明するためのドキュメントもしっかりと書いてくれるので、新しく加入したメンバーから「ジュンさんの書いたソースコードは参考にしやすい!」と聞いています。1年目から周囲のことを考えた丁寧な仕事ができているのには感心しました。

ジュン 丁寧な仕事ができているのは、修正した方が良い点があったときにアキヒサさんが「○○さんが書いたソースコードを参考に直してみてください」ときれいでわかりやすいソースコードを確認しながら修正する癖をつけてくださったからです。

アキヒサ きれいで正しいソースコードは読むだけでも勉強になりますからね!チーム内にベテランが多いだけあって、インフラメンバーが書くソースコードはシンプルで、コメントやドキュメントがなくてもプログラムを見るだけで「何をしているのか」「どうしたいのか」がよく伝わります。そういったソースコードを見て、自分の書いたソースコードに改良を加えていけばスキルアップにも繋がります。
インフラは使っている技術やプログラミング言語が多岐に渡るので、身近にあるお手本をしっかりと活用してください。

「ツールを活用してスキルアップ」
印象に残っているアドバイス

ジュン 配属後、アキヒサさんにインフラエンジニアとして必要な知識を勉強する方法をご相談すると「Podcast(インターネットラジオ)内のテック系(科学技術の関連分野)番組を聞いてみると良いですよ」と教えていただきました。
そこでアキヒサさんにおすすめしてもらったIT技術・ガジェットに関する情報を発信する番組を聴きはじめました。新しい番組がどんどん配信されるので、色々な情報にアンテナを張ることができるようになりました。

アキヒサ それは良かったです!社内スタッフに教わるのも良いですが、それだけだと見落としてしまう情報もありますし、自分の興味がある分野ばかり勉強する傾向が強くなってしまいます。それは悪いことではありませんが、インフラに関わる様々な用語や概念を収集できるツールとして、多くの情報を耳に入れるようにするのは大切なことです。
特にPodcastの番組配信者は優秀なエンジニアが多く、彼らの雑談の中にも掴んでおくべき新しい技術的な事情や仕組み、業務の中で聞いたことのある技術の名前が出てきます。そこで出た内容を詳しく調べて、実際に手を動かすだけでもだいぶ違います。

あと、インフラでは英語の仕様書を読む機会も多いので、英語の番組を聴き流すのもおすすめです。「聴き覚えのある単語だ」「番組よく出てきていたから大切な用語なんだ」と仕様書の要点を掴みやすくなります!

ジュン 英語の番組も聴くようにしてみます!そういえば、最近は「デプロイ」や「ダンプ」といった「エンジニアをしていると耳慣れてくる単語」のニュアンスが理解できるようになってきたと感じます。
プログラムを運用環境に実装したときに「アップロードしました」ではなく「デプロイしました」と正しい用語を適切に使えるようになってきました。

アキヒサ それはすごい!専門用語を正しく使うのは、エンジニア同士のコミュニケーションを円滑に行えるようになるので、良い兆候ですね。

ジュン アキヒサさんに限らず、色んなインフラメンバーが、僕が間違った用語の使い方をしていると指摘してくれるからだと思います。この間は「プロビジョニング」を「プロビジョニングを準備しておきます」と使ったときに、「プロビジョニングは“必要に応じてネットワークやコンピューターの設備などのリソースを提供できるように『予測・準備しておくこと』”という意味まで含まれているよ」と教えてもらいました。そのときに「馬に乗馬」のような使い方をしてしまったことを知り、この用語にかかわらず、そういったところも改めて気をつけていこうと思いました。

アキヒサ その心がけは今後の成長に繋がると思うので、ぜひ持ち続けてください。それができるようになったら、インフラからプロジェクトメンバーに説明するときに、「プロジェクトメンバーが知らない用語を伝わりやすいように表現する」ように気をつけてみましょう!
インフラ内で伝わる言葉がプロジェクトメンバーに伝わらないこともあります。互いに齟齬を起こさず、より良いコミュニケーションが取れるように意識してみてください。

ジュン はい!試してみます!

「幅広い技術を使えるインフラエンジニアに」
トレーナーとして心がけていたこと

アキヒサ トレーナーとしてジュンさんには、私が入社1年目に感じた「もっとこうしておけば」を潰せるように仕事を依頼していました。具体的には「様々なプログラミング言語や技術を扱えるジェネラリストになってほしい」と色々な種類の仕事を依頼するように心がけていました。
なぜそうしたかというと、自分の場合、入社後すぐにフロントエンドエンジニアとして働きましたが、プログラミングの経験が少なかったため、最初の7~8か月間はhtml、CSS、JavaScriptを使った基礎的な業務を中心に取り組んでいました。基礎を学ぶのは当たり前ですが、今振り返ると1年目のタイミングでもう少し色々な技術に触れる機会を持てば、その後今よりも成長できたかもしれないと思いました。

なので、ジュンさんに対しては、たとえ小さなタスクでも、色々な言語や技術に触れる機会を作れるようにしました。結果的にインフラに必要な言語や技術の入り口のほぼすべてに触れてもらえたのではないかと……!

ジュン インフラの経験や知識がなかった自分に、アキヒサさんは「例えばこういう所から手を付けていくと良いかもしれないね」と様々な仕事を任せてくれたので、そこから少しずつ知識や使える技術を増やすことができました。インフラとして、プロジェクトや他セクションからの相談にスムーズに答えられることも増えてうれしいですし、やりがいを感じています。今後はどんな相談も解決できるように、よりインフラの仕事を極めていきます。

アキヒサ 心強い言葉ですね!インフラの仕事は広範囲にわたるので、どの分野の経験もしっかりと積むには3~4年は必要かもしれません。
私はインフラに所属して2年半経ちますが、深めたい領域がまだたくさんあります。それにインフラに必要な技術や求められるスキルは日々変化・進化していくので、今身につけている技術が5年後には通用しない可能性もあります。だからこそ、エンジニアとして常に勉強する必要がありますし、日頃から情報収集をしなければいけません。

ジュン はい!

アキヒサ スキルアップの方法を1つ提案すると、新しい依頼があった場合、自分の中で「新しい取り組みや技術を1つ取り入れてみる」のがおすすめです。実際私も実行していて、こういった小さな挑戦を積み重ねておくと技術的に成長することができます。また、普段からそういった小さな挑戦を積み重ねていると、「この技術を新しく導入してみたいです!」と声を上げた際に、周囲に「普段からチャレンジングなジュンさんなら任せても大丈夫だろう」と信頼してもらえるかもしれません。
新しく挑戦した技術が、まだ社内で取り入れられていない場合には、社内でその技術の第一人者になれる可能性もあります。これらはジュンさん自身にとっても、チームにとってもプラスになるので、ぜひがんばってほしいです。

ジュン 新しい取り組みや技術……!個人的にはインフラ内での手作業業務を自動化し、業務効率を上げていくという新しい取り組みに挑戦したいと思っているので、今後はチャレンジするための力を蓄えていきます。
こういった挑戦したいことを見つけられたのは、トレーナー面談で「課題を発見できる意識をつけていくと、今以上に成長できます」と教えてもらったからです。それから「何か課題はないか」「もっと良い方法はないのか」と考える癖がつきました。本当にありがとうございます!

お互いへのメッセージ

アキヒサ 入社1年で、ジュンさんは周囲からすごく信頼される存在になりました。特に新卒業務で同期や他セクションスタッフとのやり取りをしている様子を見ると、色んな人に頼りにされているなと感じますね。インフラメンバーからも「頼みやすい雰囲気がある」「安心して任せられる」といった声をよく聞きます。
それはジュンさんが1年間で技術のベースがきちんとできたことに加え、普段の振る舞いや所作がきちんとしているからこそ信頼されているのだと思います。その信頼がエンジニア全体に広がり、最終的には会社全体に広がっていけば、ジュンさんが最初のトレーナー面談で目標シートに書いた目標を達成できるのではないでしょうか。

ジュン あのときに書いた目標は「お金と時間を自由に使える人」でしたね(笑)。これはトレーナー面談で目標を立てる際、なかなか何を書くか思い浮かばなかったので最終的に絞り出したものでしたが……人生の長期目標として設定し、叶えられるような人材になろうと思います!
そのためには「できる人の真似をする」のが1番早い方法だと思っているので、今後もどんどんアキヒサさんの真似をしていき、インフラエンジニアの道を歩んでいきます!
あと、私自身も1つ下の後輩のトレーナーをした経験から、これからはトレーナーとしても成長していきたいと思っていて、 まずは自分が後輩の課題を発見し、解決方法を提案できるようになりたいのですが、まだまだ勉強が足りないなと痛感しています。

アキヒサ ジュンさんは真面目で責任感が強いので、もう少し肩の力を抜いても大丈夫ですよ……!
トレーナーが課題や解決方法のすべてを知っている必要はないと思います。人を育てる方法は千差万別です。例えば、これまで経験したことのない技術でも、業務で必要ならば後輩に使い方を調べてもらい、2人で学んでいくスタイルも育成方法の1つです。

すべてを自分の範疇に収めようとしてしまうと、教えられる側の後輩はトレーナーの器の中でしか成長できません。後輩に知っている範囲の知識や経験をすべて教え、周りのベテラン勢にも力を借りながら、新人を育てられるようになってください。
お互いに成長し、インフラチームをよりパワーアップさせていきましょう!

ジュン はい!これからもよろしくお願いします!