Roki

Software Engineer

Profile photo
  • Male
  • Tokyo, JP

私について

CyberAgent,Inc. でデータインテグレーションエンジニアをしつつ,その傍らソフトウェアの開発/公開,技術情報や入門記事の執筆,勉強会での発表等をしています。

経歴
  • データインテグレーションエンジニア

    株式会社サイバーエージェント グループIT推進本部全社データ技術局データインテグレーションチーム

    2025/03~

    2024/08~2025/03までの新規開発や保守業務を継続しながら,複数の大規模プロジェクトを同時並行で遂行。前期に開発した端末管理システムについては新機能の追加開発を進めるとともに,不正なデータとしてアラートされたデバイスの調査や報告といった保守業務にも従事した。

    社内SSO刷新プロジェクトにおいては,全社顔写真配信システムの新規構築を担当。既存社内SSOの調査から新規構築,導入まで一貫して携わり,不明瞭点が多く工数の見積もりも未定だった状態においてClaude Codeを駆使することで2週間程度での完遂を実現した。

    全社で運用する100台超のセンサーカメラについては,AWS,Snowflake,trocco等を活用したUp/Down監視システムの構築から運用保守全般を担当。複数の部署間で連携を図りながらAWS WorkSpacesを用いた確認環境の整備および確認ツールの開発・運用・保守を行い,他拠点での利用を前提とした自社IdPによる認証を活用したAWS WorkSpaces環境の構築やセンサーカメラのファームウェアアップデートにも対応した。

    また,全社のSlack環境に適用可能なメンバ自動同期システムの開発にも着手。S3上に定義されたSlackメンバーおよびチャンネル情報に基づき,その定義通りにメンバーを同期するシステムをECS Fargateで構築した。既存の社内ツールに対してはself-hosted runnerの導入を提案・設置し,GitHub Actions Workflowを整備することでデプロイフローの自動化を実現。さらに,全社利用のメッセージ送信システムの新機能開発や,社内ナレッジの収集からSnowflakeへのデータ保持まで一貫したシステム構築も手掛け,特に後者についてはClaude Codeを最大限活用することで仕様策定後4時間以内に本番運用のアプリケーションと環境の配備を達成した。

  • データインテグレーションエンジニア

    株式会社サイバーエージェント グループIT推進本部全社データ技術局データインテグレーションチーム

    2024/08~2025/03

    2024/07,KLab株式会社を退職,同年8月にて株式会社サイバーエージェントへ入社。AWS Lambda上で実行されるKintoneとのレガシーなRuby on Rails PC管理台帳同期バッチのインシデント対応/保守に勤めたのち,MDM (Jamf, LINC Biz emm) を活用したSnipe-ITによる数千台規模のスマホ台帳システムを新規開発,刷新。社内外への情報発信を行う(関連:数千台のモバイル端末の管理: Snipe-ITを活用した大規模MDM連携システム | CyberAgent Developers Blog)。同時に,社員番号から多種多様な連絡手段を介して連絡/通知を行うシステムを開発/運用。

  • サーバ運用パイプラインエンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2023/05~2024/07

    同様の案件にて,Jenkinsを用いたアプリビルドのパイプラインやCI/CD,社内ツールの開発,改修,保守を担当するテックメンバーとして従事。GHESの管理や新卒向け講義の講師を兼務しつつ,案件内へのGitHub Actions導入,実用や森ビル計画停電への対応など様々なレイヤでの業務を勤めた。技術同人誌の執筆など,情報発信にも努めた。

  • サーバ運用エンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2021/08~2023/04

    同様の案件にて,サーバ運用,保守に関するテックメンバ,サブリーダーとして従事。特に,メンテナンス手順書については最終レビュアーを担当,実オペレーションから指揮統御を行った。また,インシデントや案件内外からのゲームデータ調査要望へ対応し,社内オンプレサーバ(Debian Linux)+MySQL(水平分割)やログ調査用途にAWS Athena,BigQuery,Grafana等を用いた。特に,毎年開催のゲーム内世界No.1プレイヤーを決める大会施策においては,サーバ運用の代表を務めた。さらに,メンテナンス作業を効率化するソフトウェアの開発(使用言語:Go)や社内への共有を行い,他案件での使用要望を支援するなど社内全体への浸透,横断的な活動に務めた。その他,21年からのバージョン管理研修の講師に加え,基本的なRDBやKVSの概念,具体的な使い方を教授する新卒向けデータベース演習の講師を務めた。

  • サーバサイドエンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2020/08~2021/07

    全世界累計5000万DL超,某サッカー漫画IPの大規模スマートフォンサッカーシミュレーションゲームにおけるサーバサイドエンジニアとして従事。ゲームや社内CMSの新規施策に準じた新規開発,改修を担当。Python3+Flask+uWSGI+Nginx+MySQL+Redisを使用し,チームでの開発を行った。また,GitHub Enterprise Admin Groupに案件と兼務で所属,GitHub Enterpriseの管理,更新,保守,サポート対応を行った。また,Git等バージョン管理システムの基本的な使い方を教授するバージョン管理研修の講師を務め,社内外への情報発信を行った(関連:Hakyllで個人ウェブページを作りましたので全体概要を紹介 | KLablog)。

  • アプリエンジニア(プロトタイプ)

    KLab株式会社

    2020/04~2020/07

    2020/04,KLab株式会社へ新卒入社。新卒社員が複数チームに分かれ,ゲームのプロトタイプを制作するプロトタイプコンテストではパズルゲーム『BOOM!!!』をチーム開発。C#+Unity+XCode+Android Studioを使い,アプリ全体に適用されるインタフェース開発,3DCGモデルとの連携やiOS,Androidバイナリのビルドから同社開発のEMLauncherへのアップロードを一括で行うパイプラインの開発を行った。

  • 学部生

    デジタルハリウッド大学デジタルコミュニケーション学部デジタルコンテンツ学科

    ~2020/03

    卒論では型理論やコンパイラについて研究,Haskellで自作のCコンパイラhtccを開発し,圏論との関係性から関数プログラミングでコンパイラを開発することの優位性について説いた。

スキル

主にHaskell,C++,Python,シェルスクリプトをよく使っています。Haskellは専ら自作ツールの開発に使用しており,本ページの生成にも使われています。C++は速度が必要なときや低レイヤーを触るとき,テンプレートメタプログラミングがしたいときに使います。C++20までは標準化委員会のドラフトなど言語仕様を詳しく追っていました。Pythonは主に業務や素早くプロトタイプを作りたいときに使っています。シェルスクリプトは,普段のそもそもの操作のほとんどをzsh上で行っていることもありますが,定常的に実行したいタスク等で記述することが多いです。エディタは主にvim(nvim)を使用していますが、最近ではCursorもしばしば使っています。

好きな技術
車輪の再発明

車輪の再発明が好きです。これまでの主な車輪の再発明リスト:

関数プログラミング

関数プログラミングが好きです。一番好きな言語はHaskell。 C++テンプレートを純粋関数型言語だと思っており,一例としてはその機構を使ってコンパイル時 Lazy K インタプリタを作ったりしていました。

C++20まではC++言語仕様書の重箱の隅をつついたり,ドラフト仕様や提案を追っていました。

その他

その他自分自身でよく使う自作の物々:

badge