blog

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

2024.02.08 カルチャー・環境

中途入社の私から見た、DeNAの社内システム開発Gを紹介します

by Yusuke Taki

#情シス #onboarding #recruiting #blog

はじめに

はじめまして、IT本部IT戦略部システム開発グループ(以下、システム開発G)の滝です。
DeNAにJoinして約1年が経ち、業務に慣れてきたところなので、
私が所属しているシステム開発Gがどんなところか紹介します。

また、この記事の中では便宜上、
Google WorkspaceやSlackなど社外でつくられているものをサービス
内製でつくったものをシステムと表現しています。
一般的な使い分けではありませんが、悪しからずご了承をお願いします。

システム開発G

システム開発Gは、DeNAグループ全体で扱うサービス間の連携や、
既存サービスでは実現できない要望を、開発を通し叶えるところです。
ミッションはアーキテクト集団として社内システムの「あるべき姿」を設計するです。

システム開発Gの中には、2つのチームがありそれぞれ担当が異なります。
業務で利用するIT資産の管理を支援するチーム(HERBチーム)と、
バックオフィス業務を支援するチーム(ROMAチーム)です。

開発の例

開発を通しどのような支援をしているか例を使って説明すると、
例えば、新しく人が入社する場合に人事の方が入力された情報を元にGoogleやSlackのアカウントなどの発行の自動化が挙げられます。

この自動化には一部サービスのAPI利用が上限に達してしまう問題が発生したため、 API利用上限を回避するためのシステム(Greep) の構築も必要でした。
このように人からの要望と、システムやサービスの制限を、考慮しながら開発を行っています。

HERBチーム

ここまでは、システム開発Gの概要を説明してきました。 ここからは、私が所属しているHERBチームの紹介していきます。

業務内容

まず、日々の業務について説明します。
HERBチームの業務は主に以下の3つになります。

  1. 新規要望の対応
    • ユーザーが運用で行っている業務の自動化
  2. 既存システムの保守・改善
    • 前述のGreepなどのエラー時の対応
    • システムで利用しているパッケージバージョンの更新
  3. 新システムの開発
    • 業務の変化に伴う新システムの開発や既存システムの置き換え

詳しい業務内容については諸々の都合でここでは詳しく書けませんが、
3つ目の新システムの開発について現在行っている内容を少し説明をします。

現行システムは複数システムに跨って「人」「組織」「アカウント」扱っています。
ただ、その構成ではドメイン知識が分散するため、システムの管理や人のアサインが難しくなっています。
そこで各ドメインごとにシステムを分けることにしました。そして我々は現在アカウントを扱うシステムを開発しています。
このように、既存システムで稼働しているものでもより良いもの追求し、開発していくことも業務の一つです。

チーム文化

次に仕事をする上で何を大切にしているかを紹介していきます。
入社した当時に印象に残っていることを挙げると以下の3つとなります。

  • 現状のままにしない
  • プロジェクトの途中でも意見を言いやすい
  • 新しいものに挑戦していける

現状のままにしない

今まで私が経験した会社では既に決まっていることに対して疑問符をつけることは、
タブーとされていることが多くありました。

私がシステム開発Gに所属して一番最初に驚いたのが、新しく作業を始める時やコードレビューの際に、
現在の作業の目的と過去行ったことを同列に扱い、
仕事の目的を達成する上での最適な方法を話し合っていることでした。

最初こそ開発や改善のために速度を出すためには、
一旦過去の話はおいた方がいいのではないかと考えていました。
しかし、社内で利用するシステムは長ければ10年以上使われることもあり、
過去に行われていた最適が、現在では最適ではなくなっていることがあります。
つまり、先ほどの話し合いは、過去は良かったものでも、
現在でも良いものかを確認するためには必要なことだと今では考えています。

もちろん、話し合いの結果をいつでもすぐに反映できるわけではありません。
ただ、現状の問題点を把握することができ、次に繋げるための糧となっていると感じています。

プロジェクトの途中に質問をしやすい

ひとつ前の「現状のままにしない」という文化にはもう一ついいことがあります。

それは、自然と話し合いが発生するため、質問をしやすいということです。
DeNAには既存のシステムが多くあり入社した当初は、そのシステムが何を担っているか、目的を把握するのも大変でした。
また、システム開発Gの中だけでなく、IT戦略部全体で話しやすい質問し易い文化があるため大変助けられました。

新しいものに挑戦していける

社内システムというのは、いわゆる枯れた技術を利用していることが、経験上多かったです。
ただ、DeNAでは(必要な検証は行うものの)まだ、betaとなっているライブラリや、GA前のサービスを利用することに抵抗がないのが新鮮でした。

また、技術そのものだけでなく、人も新しいものに挑戦していける環境ということを強く感じます。
現在行っている新システム開発でも、
技術スタックは既存のシステムで扱っていないものを多く含んでいます。
その中で、やりたい仕事は意志を示せば優先して割り振って貰えるため、
社内システムを取り扱っているにも関わらず、古い技術だけでなく、新しい技術にも挑戦できる環境です。

まとめ

最後になぜこのような文化がシステム開発Gにあるかを考えてみると、
アーキテクト集団として社内システムの「あるべき姿」を設計するというミッションを持っているからだと思います。

社内システムのアーキテクトというのは、
システムそのものだけでなく、変わっていく業務や組織、システムを利用する方達のことを考慮して、
考え続けること、挑戦することを肯定する土壌があるのだと考えています。

さいごに

以上が私が入社して1年で得た、システム開発Gについての話でした。
私自身、入社する前は『システム開発Gとは何をするところだろう?』と疑問があったので、
この記事を読んでいただいた方に、知って貰う一助になれば幸いです。

また、今回は業務や文化のことを書きましたが、
次の機会には技術についての話を書ければと思っています。

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

recruit

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