blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2022.10.13 カルチャー・環境

サーバサイド開発者が DeNA のインフラ部門にジョインしてみて... [DeNA インフラ SRE]

by Kosei Izawa

#infrastructure #sre #branding #recruiting

はじめに

こんにちは!2022 年 5 月に中途入社した Izawa です。 現在は大規模ゲームタイトルのインフラの運用を担当しています。

前職では、主にサーバサイドのアプリケーション開発を担当していました。 具体的には、Java を使用した Web API サーバや、Python を使用したデータ基盤のデータ処理アプリケーション等です。

一部プロジェクトで、

  • AWS の各サービス (EC2, ECS, Lambda, CloudWatch, etc…) を利用したインフラ構築
  • Chef, AWS CDK 等の IaC の導入や既存リソースの改善
  • Kubernetes を使用したインフラ構築・運用

等のインフラ関連業務に携わったことがきっかけでインフラ分野の技術に特に興味を持つようになりました。 より専門的にインフラ方面の技術を深めていきたいと思い、世界有数規模のプロダクトを運用している DeNA にポテンシャル採用で入社しました。

DeNA のインフラエンジニアは、

  • AWS/GCP などのクラウドベンダーが提供する各サービス
  • 各種データストア、 Web サーバ等のミドルウェア
  • IaC ツール

等々、幅広いスキルを深く理解して使いこなす必要があります。

本記事では、私が入社してから DeNA のインフラエンジニアとして必要な 幅広いスキル をキャッチアップしていく中で良かったと感じた要素(取り組み・カルチャー)を紹介します。

私自身インフラ経験が少ない中でインフラエンジニアにジョブチェンジしたので、入社前は技術的にキャッチアップできるか不安に感じていました。 そのため、同じような不安を持つ方が DeNA のインフラエンジニアとして働くイメージを深め、興味を持っていただくきっかけになれば幸いです。

取り組み

宿題

冒頭にも記載した通り、 DeNA のインフラエンジニアは幅広いミドルウェアの知識を深く身につける必要があります。

私の所属するグループでは ミドルウェア に関する知識習得の宿題が用意されています。 新たにジョインしたメンバーは、実際の運用業務をする前に業務内でこの宿題の内容を調査することが推奨されています。

Middleware-Homework の一例

Middleware-Homework の一例

上記は、 宿題内の Elasticsearch に関する設問の例となります。

この宿題では、

  • 使用している各種ミドルウェアの基礎知識
  • 各ミドルウェアの DeNA での使い方
  • 関連するアラートに対する対処方法
  • そのミドルウェアが動いているサーバがダウンした際のサービス影響

等に関する設問があり、これらの調査を通じて運用に必要な基礎知識を身につけることができます。 また、これらの回答をグループのメンバーにレビューしてもらい、深掘りすることで理解の曖昧な部分を潰していくことができます。

DeNA で使用しているミドルウェアは、私が今まで触った経験のないものが多くありました。 そのため、それらの運用に必要な実践的な知識を体系的に習得できる仕組みはとてもありがたかったです。

1 on 1

入社してしばらくはグループの先輩にメンターとしてついてもらい、毎日30分程度 1 on 1 を行う時間を設けてもらえます。 1 on 1 で進めているタスクの中での課題や疑問に関して相談することで、知見の深いエンジニアの観点や知識を学ぶことができます。 また、現在のタスクで触っているものと関連するコンポーネントなどの情報なども教えてもらっています。 これによって、手探りで調査するのは難しい、膨大なシステム全体の体系的な理解の助けになっています。

そして、1 on 1 はメンターとは毎日実施しますが、他のメンバーとも気軽に技術や課題に対してディスカッションができる風土になっています。

カルチャー

DeNA の IT 基盤部では、

  • 運用の「品質 > スピード」を徹底する
  • 事象に対して「なぜ」を深ぼることを重視する

というカルチャーが根付いています。 そのため、タスクの中でさまざまなエラーや課題にぶつかった際、暫定的な対処をするだけでなく時間をかけてでもその原因を深く追求することを推奨されています。

入社して間もない頃は自分のタスクの進捗の遅さに焦りを感じ、無意識的にスピードを重視した進め方をしてしまうことがありました。その際にメンターの方に、「今はスピードを重視せず、タスクの中で扱う技術をしっかり丁寧に理解したほうがいい」とアドバイスをもらっていました。

そこからは、

  • オペレーションの手順の中で使用するツールやスクリプト (例えば gi 等) のソースコードを読み込み、理解する
  • エラーにハマった際に、時間をかけてでも該当のソースコードを読み込んだり、使用ツール/ミドルウェアの仕様やバグを詳細に調査したりして根本原因を追求する

など、1つ1つのタスクに対してより深い理解をすることを心がけて取り組むようにしていきました。

タスクを処理する速度よりもシステムへの理解度を上げることを重視したことで、通常のオペレーションのみではなく warn の原因調査など、できることの幅も着実に増えていきました。

時間こそかかるものの、結果的には実践的なスキルを身につけることができていると感じています。 また、事象に対して根本を追求していくことはエンジニアの仕事の1つの醍醐味だと考えていて、それを重視している組織は自分に合っていたなとも感じています。

おわりに

私自身インフラ経験が少なかったため、入社前は技術的にうまくキャッチアップできるかを不安に感じていました。 しかし、いざ入社してみると、

  • オンボーディングのための仕組みが整っている
  • メンバーの方がしっかりサポートしてくれる
  • 技術としっかり向き合うことができる環境である

こともあり、今では日々スキルを伸ばしながら業務に取り組めています。

上記で紹介したのは一例にはなりますが、同じような不安を持つ方の参考になれば幸いです。

現状ではインフラ経験が少ない方でも、

  • コードを書くことが好き
  • インフラ分野のスキルを深めていきたい
  • 問題の原因を深く追求していくことが好き

という方にはぴったりの環境だと思うので、興味を持っていただけた方はぜひ IT 基盤部で一緒に働きましょう!

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。