LayerX エンジニアブログ

LayerX の エンジニアブログです。

オンボーディング関連のシステム作業の時間を87.5%削るまでの軌跡

この記事は、6月から始まっている #LXベッテク月間 38日目の記事です。 前日の記事は@akino_1027さんの「複数プロダクトに散らばったデータ統合に苦労した話」でした。

tech.layerx.co.jp

Oui。CTO室およびFintech事業部で色々やってる @ken5scal です。本記事はSlackの障害中に書いています。 突然ですが、皆さんは当社のイネーブル担当として入社した名村さん(執行役員)がスピーカーとして登場したエピソードを聞いていただけましたでしょうか

名村さんは「コーポレートエンジニアリング(PC、権限、アカウント付与)やオンボーディングがこの規模にしてめっちゃ仕組み化されている」と語っておられます(Podcastエピソードの14:28辺り)。

名村さんのようなレジェンドにWow/Aha体験を提供できたので、30秒ほど胸を張りたくなりますが、 当然、一朝一夕にできた成果ではありません。経営管理部(Corp)、人事、そしてCTO室が長年?積み上げて来た結果です。

本日は、そのようなオンボーディング体験を提供する今日までの軌跡を紹介したいと思います。

tech.layerx.co.jp

TL;DR

最もなれた作業者が45minかかる入社関連のシステム作業を、ステークホルダーとの適切な責任境界とモダン開発による内製化で実働時間10minまで減らしました。 個々人による品質のばらつきがなく、ログによる追跡が用意になり、作業時間の縛りがなくなります。 技術スタックは以下です。詳細な解説については Meetyをお申し込みください。

  • プラットフォーム(AWS): DynamoDB, Lambda, Step Function, ECS, EventBridge, CloudWatch Log, SES
  • 言語: Golang, 一部TypeScript, Terraform
  • CICDパイプライン: GitHub Action
  • 連携サービス: 各種社内基盤サービス

CTO室 屋台骨Engineerって何だ?!それ説明します! - 株式会社LayerXの中の人のカジュアル面談 - Meety

Phase 0 (2020/04~2020/12)

従業員数推移

当時はまだブロックチェーンに関するコンサル事業をやっていたのですが、2020/04にはコンサル事業での学びを反映し、自組織のプロダクト模索がはじまっていました。 今で言うバクラク、Privacy Tech、不動産小口化による証券ですが、当時はまだプロダクトの影も形もなく、大まかに長期・中期・短期での施策を検討していた時期になります。 自分自身も当時はCloudSign APを叩くClientを作ったりしてあーでもないこーでもないと頭を捻っていた記憶があります。

同時にISMSを2021/08に認定を受ける目標を建てるなど、ガバナンス強化もはじめていました。 詳しくは以前かいた「ISMSもとったし、エンジニアだけどITガバナンス主導してきた話をする」というブログを参照きたいのですが、この時にはすでに、クラウドネイティブな環境でのゼロトラスト・アーキテクチャを全体のシステム方針が据え、 それに伴うIDaaS, UEM/MDM, EDR, DLP, SIEMをシュッと導入し、Terraform化したAWSのOrganizationをGithub Actionで用意していました。

ISMSもとったし、エンジニアだけどITガバナンス主導してきた話をする - LayerX エンジニアブログ

ただ、オンボという観点では、そもそも人の出入りもかなり少なく、特に仕組みらしい仕組みはありませんでした。

Phase 1 (2021/01~2021/08)

Pahse1: 従業員数

そんなこんなで、2021/01にバクラク請求書(旧LayerX Invoice)がローンチします。 この時点ではアクセルを踏むことを決定していたと記憶していますが、実際にエンジンの回転数があがってきたのは、2021/04月です。

導入企業数

導入企業数もですが、事業をスケールするために全職種の採用が累乗的な増え方をしています。やばいですねー。 そのイキフンを定例や週次定例から嗅ぎ取り、入社に関する手順書とエクセルシートをガッとつくりました。 ついでに、いわゆるゼロタッチキッティングもこのタイミングでやりました。

この段階ではCTO室における手順のみで、実際の内定や労務に関する調整はアドホックにおこなっている段階でした。 それが2021/07~2021/08に過去にない増加率によりやや危機を迎えます。 アドホックだったので端末の用意などに無理が生じてきたのです。

特にISMSが運用に乗る間近であり、情報の機密性も品質管理する意味で、特定の構成を満たす端末(≒当社管理の端末)での業務を今までになく強化する必要があった時期でした。 業務開始時に端末がないということは論外であり、したがってアドホックではなく、内定者とのコミュニケーションを担当するHR、お財布と労務を管理する経営管理、システムを管理するCTO室が連携を開始するタイミングでした。

Phase 2 (2021/09 ~2021/12)

Phase 2: 従業員数

そうして、できたのが次の入社フローです。当時のHR、経営管理、CTO室でざっくりこんな感じだよね、と話つくりました。2021/09のことです。

入社フローver1

しかし、HRや経営管理においても増員があり、すぐに緩い連携が難しくなりました。 過去にいた方から業務を委譲された新しいメンバーが暗黙的な前提を知ることはできず、以前のような問題が再び浮上してきます。 そのため、新メンバーが来てもある程度、責任範囲や状態を把握できるよう言語化と責任分界を行いました。

入社フローver2

さて、CTO室としての作業は自分1人でも回るレベルでした。しかし、1人あたりの作業量はなかなか多くちょっと悲鳴をあげていました。

当時の悲鳴
右のスクロールバーに注目...

なお、結構多くのサービスがIDaaSからSCIMプロビジョニングされていたと思いますが、入社のフローは組織の状況によって変わるものです。 その状況に適合しやすいようにルールやロジックを組むだけでなく、変化を後続のメンバーが追跡できる形で透明性を持った実装をせねばなりません。 ここで人海戦術を獲ることもできましたが、それは LayerXのBet Technologyではありません 。 是が非にも内製化をすると決めたタイミングです。

が、採用は悠長に待ってくれません。グラフの通り、年度末が近づくにつれ増員数の加速度が高まっていきました。 当時、私はFintech事業部側でファンド運用における自動化のPoCも担当していたので、そちらも合わせると自動化の前にいよいよ破綻する予感が高まってきました。 そこで泣きついたか、見かねた石黒さんが進言してくれたか覚えていませんが(すみません...)、業務委託の募集を開始しました。

Phase 3(2022/01~2021/06)

さて試される大地Phase3です。やばい増加率です。

Phase3: 従業員数推移

幸い、2022/01~2022/06限定で委託をお願いできました。委託先はDXER株式会社様です。マジ感謝。 DXER様にいつもの作業をお願いしつつ(あわせて一部Zapier化してもらったり)、その間に内製化を進め、4月あたりから徐々にデプロイしました。 結論から言うと、この結果、45minの作業が10minまで削減されました。

喜びの舞

本当は技術的な詳細を書きたいのですが、もう十分な長さのブログ(そして遅い時間)になっているので概略のみを記載します(いつか書きます)。 あるいはMeetyより申込みをお願いいたします。

  • プラットフォーム(AWS): DynamoDB, Lambda, Step Function, ECS, EventBridge, CloudWatch Log, SES
  • 言語: Golang, 一部TypeScript, Terraform
  • CICDパイプライン: GitHub Action
  • 連携サービス: 各種社内基盤サービス

StepFunction

すべて愚直にAPIを叩かず、プランを上げることでの自動化もしております。 例えば、NotionおよびGitHubについては、CFO・CTOに相談し、メリットを共有したうえでエンプラ化を果たしています。

また、上記の環境は完全にdev, prdで完全にわかれています。社内基盤サービス(例: Slack)も含めです。 そのため、ローカルで使うAPIを発行できる、しくっても日々の業務に影響を及ばさないなど、安心・安全に開発できる体験も用意しています。

この内製化によるメリットは単純な作業量削減以外にも次の様なものがあります。

  • 既存の作業の延長上のメリット

    • 再現性が強まる
    • エビデンスの取得がより用意になる
    • プログラム側に問題があっても、マニュアル作業と互換性がある
  • 新しいメリット

    • 作業可能な時間の縛りがなくなった
    • 労働市場の少ない言語(日本語)への依存を減らせる
    • 人間が得意なことに集中できる
    • 今まで最大公約数的に対応せざるをえなかったことが、よりuser Centricにする余地が生まれる

今後の課題と締めに

山積みです。まだ、手作業もありますし、そもそもAWS Step Functionにこなれていません。恐らくStep FunctionはCDK化したほうが良いでしょうし、 入社管理シートはまだスプレッドシートです。実施された各ステップの通知もよりわかりやすくできるはずですし、成果物の検査をOPAにしたいです。

これらの課題を一言でいうと、よりBet Technologyできるということです。 つまり、1) ステークホルダー(HR、経営管理、メンター)と確認し解決可能な方法を見つけ、フロー(型)にそろえ、スケールさせるよう実装するということです。 その実装をCTO室では、モダン開発によって実現しています。

是非、こういったアプローチに興味がある方は、Meetyなどでお声がけいただけると嬉しいです

meety.net