職務経歴
紹介文
ITのソフトウェアエンジニアです。SI、IoT、Webサービスと幅広い現場で18年ほどソフトウェア開発をしてきました。2018年からは株式会社はてなで、小説投稿サイト「カクヨム」、続いてマンガビューワプラットフォーム「GigaViewer」を開発するマンガメディアチームのテックリードを務めています。
自分は「中の上のソフトウェアエンジニア」を自認しています。特定領域を極めるタイプではないと自覚した上で、幅広い現場で得た引き出しの多さと運用の勘所を「転ばぬ先の杖」として、システムを確実に作り上げ、動かし続けることで価値を出してきました。「自分にしかできないことはないが、誰にでもできることなら何でもできる。自分がいればだいたいなんとかなる」が提供価値です。生成AIの普及で「具体的な実装をイメージできること」の価値はむしろ上がっていると感じており、AIと組んで楽しく開発しています。
できること:
- Webサービスのテックリード業(技術選定・移行戦略・非機能要件・チーム横断調整): 2019年から
- AWSを中心としたインフラの設計・構築・運用(ECS Fargate, Aurora, CloudFront, Terraform): 約10年
- Webバックエンド開発(Perl, Go, PHP/Laravel, C#/.NET, Node.js): 約18年
- 生成AIの開発プロセスへの組み込み(利用ポリシー策定、AIエージェント前提の開発フロー設計・実践)
Blogのカテゴリに履歴をまとめています。適宜参照ください。
https://koudenpa.hatenablog.com/archive/category/%E5%B1%A5%E6%AD%B4
やや砕けた志向は https://koudenpa.hatenablog.com/entry/2020/07/16/000057 に詳しいです(少し前の記事ですが大きくは変化していません)。
このさきやってみたいこと
ITエンジニアとして一生を過ごしたいです。常により良いエンジニアリングを模索し、価値のあるIT活用を創出していきたいと考えています。
特にこのさきは:
- 生成AIを前提とした開発プロセス・チームのあり方を作っていくこと
- 長期運用されるサービスの技術的負債解消・レガシー移行を、戦略から実装まで一貫して主導すること
- マネジメント専任にはならず、現場に厚く関わるエンジニアであり続けること
領域は問わないのですが、主体的に既存の課題解決や、新規の価値創出ができる環境で仕事をしていきたいです。
環境に求めることは、ソフトウェア開発が事業の中心であること、技術選定を自社内で完結できること、クラウドの上位サポート契約などソフトウェアに金を払う姿勢があること、AI活用に前向きなこと、興味を持てる事業領域であること、フルリモート可であることです。
職歴
| 入社 |
退社 |
社名 |
備考 |
| 2018年11月 |
|
株式会社はてな |
|
| 2017年11月 |
2018年10月 |
株式会社ウフル |
|
| 2015年4月 |
2017年10月 |
DMM.com Labo |
DMM.com Labo は吸収合併済み: https://dmm-corp.com/press/press-release/22971 |
| 2008年4月 |
2015年3月 |
株式会社ネッツ |
|
他に、副業として下記に関わっています(「在籍企業ごとの職務内容」に記載)。
テクニカルスキル
| 技術 |
経験 |
レベル |
備考 |
| AWS |
約10年 |
指導できる |
ECS Fargate, Aurora, Lambda, CloudFront, IoT Core |
| Mackerel |
約9年 |
指導できる |
|
| GitHub Actions |
約7年 |
指導できる |
|
| Perl |
約7年 |
設計から一人でできる |
|
| Go |
約2年 |
設計から一人でできる |
gqlgen, echo, GORM |
| PHP |
約9年 |
設計から一人でできる |
Laravel |
| C# |
約10年 |
設計から一人でできる |
ASP.NET Core, Blazor, Azure Functions |
| Java |
約7年 |
設計から一人でできる |
Struts, Spring, Seasar2 |
| MySQL |
約15年 |
設計から一人でできる |
|
| Terraform |
約9年 |
設計から一人でできる |
|
| Docker |
約9年 |
設計から一人でできる |
|
| GraphQL |
約4年 |
設計から一人でできる |
|
| OpenTelemetry |
約2年 |
設計から一人でできる |
|
| Laravel |
約9年 |
設計から一人でできる |
|
| Node.js |
約9年 |
一人で実装できる |
|
| JavaScript |
約9年 |
一人で実装できる |
|
| TypeScript |
約4年 |
一人で実装できる |
|
| Azure |
約10年 |
一人で実装できる |
Functions, App Service, Cosmos DB |
| Next.js |
約3年 |
一人で実装できる |
|
| React |
約3年 |
一人で実装できる |
|
在籍企業ごとの職務内容
株式会社はてな
2018年11月 〜 現在 / テックリード / Webアプリケーションエンジニア
小説投稿サイト「カクヨム」の開発・運用を担当し、2019年からテックリード。2021年からノベルチーム全体のテックリード。2022年にマンガビューワプラットフォーム「GigaViewer」を開発するマンガメディアチームへ異動し、同年から同チームのテックリード。現在は2チーム・十数名規模のエンジニア組織のテックリードと、非機能領域を所掌するユニットのリードを兼務している。
- 「カクヨム」のテックリードとして、サービス10年目を見据えた技術的負債対応と、AWSアカウント・IaaSの段階的な整理・移行を主導(Hatena Engineer Seminar #19 で発表)
- 「少年ジャンプ+」バックエンドのマルチテナント基盤への受け入れを、インフラ・負荷対策面でリード(Hatena Engineer Seminar #31 で発表)
- GraphQL APIのPerlからGoへの段階移行プロジェクトのテックリード。移行戦略・品質保証戦略のレビューと技術選定の最終判断を担当
- アプリケーションエンジニアとSREの混成ユニットを組成・運営し、健全性の指標化(SLI/SLO・四半期健診)を自ら設計・運用。リリースフロー標準化やセキュリティ強化は方針決定とトリアージを担い、実務はユニットのメンバーが担当
- チームの生成AI利用ポリシーの策定・改訂と、半期ごとのAI活用計画(試行→評価→横展開)の運用
- 全社横断のテックリード会にチーム代表として発足時から参加
- 新卒・中途のWebアプリケーションエンジニア採用面接、メンバーのオンボーディング・育成施策を担当
株式会社ウフル
2017年11月 〜 2018年10月 / ソフトウェアエンジニア
IoTコンサルティング部門の技術支援と、社内外の実証実験(PoC)システムの実装を担当。
- AWS IoT Core、Kinesis Data Firehose、AWS Lambda、Node.js、Node-RED、Raspberry Pi、BLEビーコンなどを用いたPoCの実装
- Mackerelを稟議から通して小規模導入
2015年4月 〜 2017年10月 / Webアプリケーションエンジニア
3Dプリントサービス「DMM.make」の保守・新規機能開発、ロボット事業のエンジニアリングを担当。最後の半年は主要サービスのオンプレミスからAWSへの移行を主導した。
- DMM.make の保守・新規開発、ロボット事業のエンジニアリング(Azure IoT SDK のロボット向けビルド等。会社技術ブログに執筆)
- 主要サービスのオンプレミス→AWS移行を2名体制で主導
- Mackerel の導入・活用事例で Mackerel Day (2017) に登壇
株式会社ネッツ
2008年4月 〜 2015年3月 / システムエンジニア
クライアントワーク: 複数の派遣先・請負先(非公開)
中小SIにて受託開発(下流〜直請け)。Java系の業務システム開発が中心。
- Struts系国産フレームワーク、Spring2、TERASOLUNA、SAStruts + S2JDBC を用いた業務システム開発
- POSレジアプリケーションのプリンタI/F再実装による印刷高速化
- フレームワーク拡張(アノテーションベースの権限チェック機構、設計書からの帳票自動生成)
- UMLが成果物の請負案件における品質リカバリの主導
副業: WebサービスのPHP開発・運用
2017年7月 〜 現在 / 開発・運用全般(副業)
ユーザー参加型コンテンツのWebサービス(全体5名前後、エンジニア1〜3名)で、システム開発・運用全般の最終責任を担っている(有償)。2017年から継続して運用しており、省力で安定して動かし続けられていることが価値だと考えている。
- サービスインフラ構成の検討・構築、アプリケーション開発(PHP / Laravel)、CI/CDの構成
- Webデザイナーの起用やTwitter Cardの構成など、Webサービスの定石を適用できる体制づくり
- 2026年にVPS上のLAMP / Laravel 5構成を、AWSサーバレス(Lambda) + TiDB Cloud + S3 上のLaravel 12へ、生成AIエージェントを活用してフルリプレイス
- 以降はIssue起票→AIがPR作成→ディレクター確認→リリース、というAI前提の開発フローを運用
主なプロジェクト
「少年ジャンプ+」バックエンドのマルチテナント基盤への受け入れ
株式会社はてな / 〜 2024年3月
マンガアプリ「少年ジャンプ+」のバックエンドを、複数出版社のマンガメディアが同居するマルチテナント配信基盤「GigaViewer for Apps」へ移管する大型プロジェクトで、インフラ・負荷対策領域をリードした。
- 既存テナントと規模の異なる大型テナントを無事故で受け入れるため、負荷見積りと負荷試験を主導
- 大型テナントの流量が既存テナントへ波及しないよう、リリース前にインフラを分割する判断を下した
- 予定通りリリースし安定運用へ移行(リリース後のスケール対応はチームで継続)
- 取り組みは Hatena Engineer Seminar #31 (2024-10) で公開発表。イベント自体の企画窓口も担当
要素技術: Perl, AWS, ECS Fargate, Aurora MySQL, CloudFront, Terraform, Mackerel
関連: https://developer.hatenastaff.com/entry/engineer-seminar-31-report
GraphQL APIのPerlからGoへの段階移行
株式会社はてな / 2024年1月 〜 現在
長年Perlで開発されてきたマンガ配信基盤のGraphQL APIを、スキーマ・エンドポイント・クライアント無変更のまま、GraphQL Federationを用いてGo実装へ段階移行するプロジェクトのテックリード。設計・実装はチームメンバーが主体で、自分は全体進行と意思決定を担った。
- チームが検討・設計した移行戦略と品質保証戦略(継続的E2Eテスト・負荷試験・OpenTelemetryによる観測)の構造化レビュー
- Federationルータのセルフホスト採択やGo側技術スタック(gqlgen等)といった技術選定の最終判断
- 社内外の合意形成・調整。キックオフ文書の初稿を生成AIに書かせて読み合わせで合意形成するなど、リードがボトルネックにならない進め方を工夫
- 主要メディアの本番環境への段階導入を完了し、フィールド単位の移行が進行中
要素技術: Go, gqlgen, GraphQL Federation, OpenTelemetry, AWS, Terraform
非機能領域専任ユニットの組成とリード
株式会社はてな / 2025年1月 〜 現在
「サービスの開発や運用を健全な状態に保つ」ことを所掌する、アプリケーションエンジニアとSREの混成ユニットを組成し、ユニットリードとして運営している。自ら手を動かす範囲とメンバーに委ねる範囲を分けて進めている。
- チームとプロダクトの健全性を関心事ごとのインジケータで定量把握する仕組みを設計し、四半期ごとの健康診断書作成とインジケータ見直し方針の策定を自ら担当
- イテレーション運営、バックログのトリアージと優先順位付け、ユニット外との調整を担当
- リリースフローの標準化、ランタイム更新ポリシー、依存更新の滞留解消などの運用標準について、方針を定めて推進(実務はユニットのメンバーが担当)
- セキュリティ・Bot対策では対応方針の決定と事業側との調整を担当し、検証と実装はメンバーが実施
- 非機能課題を「気づいた人がやる」状態から、指標起点で計画的に返済する運用へ移行を進めている
要素技術: SRE, SLI/SLO, AWS, セキュリティ, リリースフロー
チームの生成AI活用推進
株式会社はてな / 2023年1月 〜 現在
出版社の著作物を扱う、著作権的にセンシティブな事業領域で、生成AIの利用ポリシー策定と活用計画の運用を担当している。
- チームの生成AI利用ポリシーをテックリードとして執筆し継続改訂(取引先の著作物の扱い、出力の確認責任など)
- 半期ごとのAI活用計画を策定し、複数ユニットでの試行→ヒアリング→評価→横展開のサイクルを設計(試行の実務は各ユニットが担当)
- 分析SQLを生成AIに書かせるハンズオンを主催し、運用監視へのAIエージェント適用(DevOps Agent・コスト異常検知)を自ら検証
- 個人としても2023年からAIエージェント前提の開発を実践し、実証事例をブログで継続発信
要素技術: 生成AI, GitHub Copilot, Claude, AIエージェント
「カクヨム」の技術的負債対応・AWSインフラ再構築
株式会社はてな / 2019年8月 〜 2022年3月
小説投稿サイト「カクヨム」のテックリードとして、サービス10年目を見据えた技術的負債対応を主導した。
- AWSアカウントとIaaSの段階的な整理・移行(コンテナ化・マネージドサービス移行)を推進し、整備作業の約1/3を自ら担当
- 中長期運用に向けた施策を軌道に載せることをミッションとし、2021年からはチーム全体のテックリードを兼務
- 取り組みは Hatena Engineer Seminar #19 (2022-04) で「カクヨムの10年目を見据えた技術」「インフラ編 ―AWSアカウントとIaaSの段階的移行―」の2本として公開発表
要素技術: AWS, Terraform, コンテナ, 技術的負債
Webサービスのオンプレミスからクラウドへの移行
DMM.com Labo / 2017年3月 〜 2017年10月
オンプレミスの仮想マシンにホスティングしていた複数の中小規模Webサービスを2名体制でAWSへ移行した。必要作業の洗い出しから実現手法の検討、実施まで実作業全般を担当。
- IaC導入によりステージング・本番環境の差分を解消し、環境由来の検証不備を防止
- ビルドからデプロイを自動化し、10分/回程度の手作業をリポジトリPush後の完了通知待ちに短縮。「本番を手作業する」ストレスからの解放が特に好評だった
- 常時SSL対応を実施。後日の社内全サービスSSL対応時に追加作業が不要となった
- 大量・大容量のユーザーコンテンツをファイルシステムからオブジェクトストレージへ移管し、サブシステム間インタフェースもオブジェクトストレージとメッセージでの接続に変更して対障害性を向上
要素技術: AWS, Terraform, Ansible, CircleCI
関連: https://www.slideshare.net/KeikoNishioka/mackerel-80523541
IoTの調査検討・PoC
DMM.com Labo / 株式会社ウフル / 2016年1月 〜 2018年10月
業務・プライベート両面でIoTの実現に当たっての調査検討、PoC作成を行った。ソフトウェアエンジニアの手が届く範囲は一通り抑えている。
- Arduinoでのマイコンプログラミング、Raspberry Piでのデバイスプログラミング
- Azure IoT HubやAWS IoTなどでのリアルタイム双方向コミュニケーション
- 一部の事例はBlog記事などで発信
要素技術: Arduino, Raspberry Pi, AWS IoT, Azure IoT Hub, Node-RED
関連: https://koudenpa.hatenablog.com/archive/category/IoT
登壇
- 2024-10 Hatena Engineer Seminar #31: マルチテナントのサービスインフラに大きなテナントを受け入れるまで
- 2022-04 Hatena Engineer Seminar #19: カクヨムの10年目を見据えた技術 / インフラ編 ―AWSアカウントとIaaSの段階的移行―
- 2021-09 .NETラボ 勉強会: Blazor WebAssembly × Windows Forms
- 2020-08 第1回 Azure Cosmos DB 勉強会: Cosmos DB の使用感(LT)
- 2018-11 Node-RED UG 勉強会: 自作ノードの紹介(LT)
- 2017-10 Mackerel Day: アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アウトプット
OSS / 公開パッケージ
- NuGet: App.Metrics.Reporting.Custom.Mackerel, ShiftJISExtension
- npm: node-red-contrib-mackerel, node-red-contrib-pixela
- GitHub Action: mackerel-deleted-resource-status-change-action
個人開発
- SRC — VB製フリーソフト Simulation RPG Construction の C#/.NET 移植 https://github.com/7474/SRC
- shumilog — 趣味ログサービス。実装の95%以上を生成AIエージェントに任せた実験 https://shumilog.dev/
執筆
- ブログ https://koudenpa.hatenablog.com/ (2016年〜、約340記事)
- アドベントカレンダー寄稿: Mackerel、はてなエンジニア、AWS、Microsoft Azure、Blazor 等、通算20本超
リンク
- GitHub: https://github.com/7474
- Blog: https://koudenpa.hatenablog.com/
- X: https://twitter.com/koudenpa
- Speaker Deck: https://speakerdeck.com/7474