職務経歴書


氏名

森 拓海

職務要約

2024年4月より新卒で、サーバーサイドScalaエンジニアとしてシステム開発に従事しています。主な業務としてハイトラフィックなチャットサービスの保守・改修を行いつつ、中期的なプロジェクトとして130億レコード規模のメインデータベースのHBaseからDynamoDBへの移行や、それに伴う周辺ツールのAWSインフラ設計から実装・リリース作業までを行いました。

職務経歴

2024/4~現在 株式会社kubell

サーバーサイドScalaエンジニアとして、チャットサービスの保守・改修を行いつつ、中期的なプロジェクトとして130億レコード規模のメインデータベースのHBaseからDynamoDBへの移行や、それに伴う周辺ツールのAWSインフラ設計から実装・リリース作業までを行いました。

2024年9月時点会社概要

事業内容 ビジネスチャット事業、周辺サービス・新規事業の開発運営
資本金 2,860,968,277円
従業員数 557名

職務詳細

職種 サーバーサイドエンジニア
役割 メンバー
仕事内容 チャットサービス用メインデータベースの移行
チーム規模 8人(エンジニア6人)
プロジェクト詳細 チャットサービスの中でもチャットメッセージ本文は、セルフマネージドなHBaseクラスタで管理されていました。 このHBaseクラスタ自体の管理コスト(特にクラスタを載せるためのOSのEOL対応)が重く、今回もクラスタを載せるHBaseのOSのEOLが近づいていたため、この機会に別DBへの移行が検討されていました。 管理コストを下げる目的であるため、フルマネージドなことが移行先DBの条件として挙げられました。 また、毎秒数万クエリを捌けることなどの非機能要件を満たすもののうち、近年の値下げによってコスト効率に優れるDynamoDBを選定し、ここへの移行作業を行いました。
担当業務
  • 130億レコードをできる限り少ないダウンタイムで移行するための移行ツールの設計・開発
  • DynamoDB用に行政対応のためのログ抽出ツールの設計・実装
  • 移行後のオブザーバビリティの向上
  • 移行後DBのコスト最適化
技術スタック Scala, Akka, EKS Fargate, ECS, Terraform, HBase, DynamoDB, AWS Batch, Snowflake, Datadog, OpenTelemetry, ArgoCD
主な実績
  • 年間コストをHBaseを使っていた頃に比べて約6000万円ほど削減しました
  • 行政対応のためのログ抽出ツールについては、HBase用のツールを完全にリプレースし、従来数時間かかっていた手作業の時間をほぼゼロにしました
  • 移行後のオブザーバビリティの向上については、特に一気通貫型のトレーシングを導入することで、移行後の問題発生時の原因特定時間を大幅に短縮しました
  • DynamoDBへの移行後は細かなコスト最適化を行い、最終的には想定よりも年間コストを4割ほど削減しました

資格

2022年11月 AWS Certified Solutions Architect - Professional 取得
証明書ダウンロード

技術スキル

種類 使用期間 レベル
プログラミング言語 TypeScript 5年 独学
Rust 5年 独学
Go 4年 独学
Scala 1年 実務経験あり
フレームワーク Next.js 4年 実務経験あり(長期インターン)
React Router (Remix) 3年 独学
Hono 2年 独学
Axum 2年 独学
Actix Web 3年 独学
Gin 3年 独学
Echo 2年 独学
Akka 1年 実務経験あり
ライブラリ Prisma 4年 独学
React 5年 独学
SQLx 4年 独学
ent. 3年 独学
その他 AWS 5年 実務経験・資格あり
Docker(Compose)
Kubernetes
5年 実務経験あり
Terraform 4年 実務経験あり
GitHub Actions 4年 実務経験あり
Vercel 4年 独学
Cloudflare 2年 独学
ArgoCD 2年 実務経験あり
OpenTelemetry/Datadog 1年 実務経験あり
Redis 5年 実務経験あり
PostgreSQL 5年 独学
MySQL 5年 実務経験あり(Aurora)
Kafka 2年 実務経験あり

自己PR

<自走力>

学生時代に独学でプログラミングを習得し、エンジニアとして長期インターンを経験しました。また、個人開発や資格の取得を通じて技術力を身につけてきたため、自走力には自信があります。

<ソフトスキル>

現職でアジャイル・スクラム開発を経験しており、チームメンバーと密に議論しながら開発を進めることができます。 また、新規開発等でエンジニア以外の社員とチャットで要件を擦り合わせながら進めることもあり、特にテキストコミュニケーションが得意です。

<技術力>

現職では、CQRSを用いた分散システムを経験するなど、大規模データベースやハイトラフィックなアプリケーションの設計や実装の実務経験が比較的豊富です。 また、現職での業務や個人開発、資格取得などを通じて、LambdaベースのサーバーレスアーキテクチャやECS, EKS等を用いた本格的なマイクロサービスアーキテクチャの設計・実装経験があります。AWS上のインフラをTerraform等のIaCを用いてWell-Architectedフレームワークに則って設計・実装することができます。 また、Google CloudやAzure、OCIについても簡単なコンテナオーケストレーションサービスのIaCを用いた構築経験があります。