Note: available as https://kazuki-ma.github.io/cv.html.
簡単な自己紹介 / About me
キャリアの大部分を LINE 株式会社および LINE Digital Frontier 株式会社で、一貫してサーバーサイドエンジニア (JVM) として活動していました。(-2025/01) 現在は Gen-AX株式会社 でサーバーサイドエンジニアとして業務を行っています。
LINE Digital Frontier 株式会社では LINE マンガのサーバーサイドエンジニア / TechLead として、1日12億以上 (3万 Request/sec 以上) のリクエストを処理する Backend を担当し、安定化させました。 また、LINE マンガの広告露出制御用の Private DMP の概念浸透と実装を行い、広告露出制御の基盤を構築しました。
TechLead として、設計・実装・レビュー・運用改善・障害対応を分断せず、一連の責務として担当してきました。 また、Core Platform から見た Forward Deployed Engineer (FDE) として事業部門内の技術責任者を担い、LINE ショッピング / LINE トラベル等の新規サービスを技術面から支えた経験があります。 この FDE では、外部戦略パートナーへの LINE Platform 導入支援や、導入支援を再利用可能な技術記事・サンプルコードとして外部化する活動も行いました。 分散システム、データ同期、整合性の問題について専門的に扱いつつ、現実のサービス制約や複数チームの前提知識・運用体制を踏まえて、理解・実装・運用しやすい形に落とし込むことを得意としています。
Coding をする以外にも、チームを Lead / Motivate して開発プロセスの改善等も行い、PR のマージまでの時間を 89 % 減少させるなどの実績もあります。
所属するチーム (Unity 利用)で git-lfs filesize が大きくなったため git lfs dedup 機能を提案し、実装したり、spring-boot-gradle-plugin が monorepo 環境下で遅いので高速化したり もしました。
履歴 / Chronological history
2025-02 - Now/ Gen-AX(ジェナックス)株式会社. Senior software engineer. (Backend)2022-04 - 2025-01/ LINE Digital Frontier. Server-side senior software engineer and tech lead. - LINE Digital Frontier 株式会社。サーバーサイドシニアエンジニア、TechLead2019-10 - 2022-03/ LINE Corporation. Server-side senior software engineer. - LINE 株式会社(現 LINEヤフー株式会社)。サーバーサイドシニアエンジニア2018-10 - 2019-09/ Cluster, Inc. Server-side engineer of VR App and facility engineer etc.2015-02 - 2018-09/ LINE Corporation. Server-side senior software engineer and Manager.2013-01 - 2015-01/ JustSystems.2012-04 - 2012-12/ Sony Global Solutions.2010-04 - 2012-03/ Studied Information science at Nara Institute of Science and Technology. (Master of Engineering)2006-04 - 2010-03/ Studied Science at Kyoto University.
//www.facebook.com/matsuda.kazuki/about_work_and_education
資格 / Certifications
- 修士(工学) - 奈良先端科学技術大学院情報処理学専攻
- 学士(理学) - 京都大学
- IPA - ネットワークスペシャリスト
- IPA - データベーススペシャリスト
- IPA - 情報セキュリティスペシャリスト / 情報処理安全確保支援士
- IPA - システムアーキテクト
- Microsoft Certified System Administrator
- etc.
技術スタック / Technical Stack
Programming Languages
- Java, Kotlin - 問題無く書けます
- Maintainer of LINE BOT SDK Java
- Memory (GC) issue があっても、適切なプロファイリング・ヒープダンプ分析をして修正できる。
- 意図しない CPU 消費も、必要があればプロファイリング(FlameGraph)から始まる修正などが可能。
- C++ (?)
- 少しですが、CPU 利用効率を考慮した記述ができます。(した)
cv::Mat::forEachを使った高速なピクセル操作 https://qiita.com/dandelion1124/items/94542d8cd7b3455e82a0
Note that using forEach made the code about five times faster than using Naive Pixel Access or Pointer Arithmetic method.
Parallel Pixel Access in OpenCV using forEach https://learnopencv.com/parallel-pixel-access-in-opencv-using-foreach/
とはいえメモリ管理を自分で行わなければならない言語を Production 運用する気にはなれなくなりました。 (GC 付きの言語が好きで、それ以外でも Rust が気になっています。)
- Go
- Cluster, Inc. で 1年プロダクション環境で利用。
- “Writing An Interpreter In Go” を邦訳(『Go言語でつくるインタプリタ - O’Reilly』)が出る前に一通り読んで写経しました。
- Kubernetes Manifest - 所属企業社内ツールおよび一部本番環境でも利用したことがあり、一通りの運用(Manifest 記述とオペレーション)が可能。
- HTML, CSS, JavaScript (+AltJS) - Server-side
- etc.
Storage
- MySQL
- Clustered Index を考慮した大規模テーブル設計の実施やレビューが可能です。
- Redis
- シンプルな Key Value Store としてのみ利用、Pub/Sub 利用経験はありませんが、必要に応じて実装可能です。
- Remote Cache (Redis) と Local Cache を利用した Multi tier cache の導入(実装)を行いました。
- Elasticsearch
- 導入(self-install) 経験有り。基本は as a Service 版を利用するが、Index 設計が可能。
Others
- Monitoring
- Grafana, Prometheus
- 既存の Exporter が出力した Metrics の可視化・アラート設定はもちろん、 必要に応じてアプリケーションの要所に Gauge / DistributionSummary を実装することも可能です。
- Grafana, Prometheus
- gRPC, Thrift
- Server 間通信で利用経験あり。(Server <-> App 無し、Server <-> Frontend 多少)
- Protocol Buffers (protobuf)
- gRPC で多少の利用経験がある以外に、Redis 等での Serialization Format として日常的に利用。
- Distributed systems / data synchronization
- MySQL replication, Change Data Capture (CDC), Kafka / Debezium を利用した変更データ同期の設計・運用経験。
- Shared DB, API integration, crawling, data feed, API push, message queue などの複数の連携方式を、サービス要件・運用負荷・チームの習熟度に応じて使い分ける設計が可能。
- Kubernetes
- Manifest 記述、運用経験あり。
- Git
- Trunk Based Development への移行、Branching Model の改善などを実施。
- git-lfs dedup 機能の提案・実装。 - https://github.com/git-lfs/git-lfs/pull/3753
職歴 / Work history
2025/02 - Now Gen-AX 株式会社
- Senior Software Engineer. Backend engineer for Gen-AX’s generative AI SaaS product.
- Public interviews / articles:
2022/04 - 2025/01 LINE Digital Frontier Corporation.
- TechLead.
- Work example: Cache optimization: Introduce multi-layer cache system for reducing Redis hot-key problem.
- Kotlin Fest 2022 Speaker (based on CfP)
- Kotlin Fest 2024 Speaker (based on CfP; 採択率 17 / 111 = 15%)
Kotlin sealed classを用いた、ユーザーターゲティングDSL(専用言語)と実環境で秒間1,000万評価を行う処理系の事例紹介
サービスの体験をパーソナライズし、興味のあるコンテンツを楽しんで貰うためには、 各種クリエイティブ(バナー・ポップアップ等)のターゲティング(by 年代、性別、OS、etc)が欠かせません。
最初は個別に実装する事が多いですが、露出面nとターゲティング条件mが増えた場合、O(n x m) の実装・メンテナンスコストがかかってしまい、共通化が必要となります。
今回の発表は、新規作成された共通化Platform上における課題:『マーケターを初めとする全社員が、ユーザーの条件やその AND/OR/NOT の任意の組み合わせによるターゲティングを可能とする』を、 Kotlin で実装した YAML ベースのユーザーターゲティングDSL(独自言語)とその処理系によって解決した事例の紹介となります。
安定的な拡張を行うためにKotlinの型が果たす役割についても取り上げます。
- 標準的・基本的な Storage (MySQL, Redis, Elasticsearch) をなるべく理想的な形で運用し、安定的に 30,000 req/sec API を提供。
- MySQL / Redis を利用した HybridCache の実装と展開 - 1日12億以上のリクエストを処理! LINEマンガだからできる「SREエンジニア」の仕事
- Elasticsearch を1級ストレージとして、MySQL-based listing からの移行を支援。
- Embedding vector を利用した、作品リストの online re-ranking 実装。
- Grafana, Prometheus を利用した Monitoring(必要に応じて自分で Gauge / DistributionSummary 実装)
- 広告・ユーザー露出制御用の Private DMP (Data Management Platform) の概念浸透と実装。
- ClickHouse 等を利用した、大規模データの分析基盤構築。(補完用途)
en: LINE MANGA relies on numerous MySQL servers, but faced challenges with real-time analysis. Before introducing ClickHouse, we relied on custom scripts for each analysis. This approach was difficult to develop and review, and execution was slow.
In theory, almost all such tasks can be done with simple SQL, which could be naturally parallelized by the query engine. However, due to our vertical and horizontal sharding, this method became impossible.
ClickHouse’s integration engine resolves this issue. It allows data stored in different MySQL locations to be joined and aggregated with simple SQL. We believe this will serve as a helpful reference for improving the developer experience, as well as a good first step towards implementing ClickHouse.
ja: LINE MANGAでは多数のMySQLサーバーを使用していますが、リアルタイム分析に課題がありました。ClickHouseを導入する前は、各種分析に対して個別のカスタムスクリプトに依存しており、このアプローチは開発やレビューが困難で、実行速度も遅いという問題を抱えていました。
理論上は、ほとんどのタスクをシンプルなSQLで実行し、クエリエンジンによって自然に並列化できるはずです。しかし、垂直・水平シャーディングを行っているために、この方法では対応が不可能でした。
ClickHouseのインテグレーションエンジンは、この問題を解決してくれます。異なるMySQL上に分散しているデータを、シンプルなSQLで結合・集約できるようになるのです。私たちはこれが、開発者の体験を向上させる上で有用な参考例となるだけでなく、ClickHouseの導入に向けた第一歩になると考えています。
2019/10-2022/03 LINE Corporation.
- Senior Software Engineer at LINE’s Official Account (B2B2C Ad Platform).
- Led ステップ配信 platform.
- Ran massive state machine on HBase/MySQL mixed architecture for each OA x user relationship, and sent messages depending on each state and required schedule.
- Large scale CMS の変更データ同期を設計・説明。
- 22 系統の書き込み経路、50 以上の読み込み側サービス、270 超の Internal API を前提に、MySQL binlog / CDC / Debezium / Kafka による変更通知を設計。
- MySQL source / replica 間の replication delay を考慮し、通知を受けたサービスが更新後の状態を読めることを保証する設計に整理。
- Shared DB, API integration, API crawling, data feed, API push, message queue などの同期方式を、実運用の制約と複数チームの理解しやすさを踏まえて比較・説明。
- Led ステップ配信 platform.
- Trunk Based Development への Git Branching Model の修正などを実施
本セッションでは、サーバーサイド開発チームにおいて実施した、プロセスの改善について紹介します。 2019年、チームをスケールさせるにあたって、一部の指標、例えばコードレビューが完了するまでの時間が悪化している事が問題になっていました。 そこで今回我々は開発プロセス、特にリポジトリの管理とレビュープロセスに注目して、改善を進めました。 なぜなら、素早いフィードバックと、小さな改善を高速に適用していくことが、開発のスループットを向上させることに繋がると考えたからです。 結果として、PR のマージまでの時間は 89 % 減少させることができました。 具体的なプロセス改善について、事例を交えながら知見を共有させて頂きます。
Development Process Refactoring Case Study - LINE Dev Day 2020
2018/10-2019/09 Cluster, Inc.
- General server-side engineer. (Golang)
- Designed & implemented IAP (In-App Purchase) coin table & transaction
- VR event archiving server-side engineering lead
- VR content studio engineering.
- Tools: NDI (Video over Ethernet), Voice over Ethernet, Motion Capture, VIVE.
2015/02-2018/09 LINE Corporation.
2015/02-2017/Spring
- Lead engineer of LINE STORE.
- Digital Item EC Site / Server-side Engineer.
Achievements
- 社内各種 Microservice / Platform との API 連携。
- REST, Thrift, Thrift Web, Google Tag Manager (GTM) and Google Analytics.
2017/Spring-2018/09
- O2O (Online to Offline) Division, Forward Deployed Engineer (FDE) / TechLead (Manager).
- 社内公募制度を利用し、LINE STORE のサーバーサイド開発リードから O2O 事業室へ異動。
- Core Platform から見た Forward Deployed Engineer (FDE) として事業部門内の技術責任者を担い、LINE ショッピング / LINE トラベル等の新規サービスを技術面で支援。
- 戦略パートナーとの連携を含む FDE として、LINE ショッピングでは Value Commerce / LinkShare、LINE トラベルでは ベンチャーリパブリック社 との連携に関わりました。
- LINE トラベルでは、LINE Platform を外部パートナーのサービスに導入するため、パートナー側システム・社内 Platform・事業要件の前提をすり合わせ、API / ID 連携・運用・ローンチに関する技術調整を担当。
- 事業部門と開発部門・協力会社の間で、要件整理、技術的な調整、サービス価値の共有を担当。
- 複数のパートナー・事業で繰り返し発生する LINE Login / ID Federation 導入支援を、再利用可能なサンプルコードと技術記事として外部化しました。
- Technical Blog Entry: Spring Security + 設定ファイルで始める LINE との ID Federation
- 全社データ分析基盤上での ETL 設計 ~ Sales へのレポート設計など。
- 特許:【課題】実店舗で取引を行ったユーザの情報を比較的容易に取得することができる情報処理方法、情報処理装置、及びプログラム
Other works
- Maintainer of LINE BOT SDK Java
2013/01-2015/01 JustSystems
- Full stack engineer & Product Owner of GDMS.
- Working Backwards を全社で推進しており、新バージョンリリースの press release (のイメージ)を書く部分から担当。
- Java 6 -> Java 7 migration lead on Tomcat Servlet environment, JSP(HTML, CSS, JavaScript).
- SVN -> Git migration lead.
2012/04-2012/12 Sony Global Solutions
- Supply Chain Management SE
