まだネームドモンスターではないので手厚めに書いてみました。面白そうなお話があればぜひ!

Whois

フリーランスで活動しているバックエンドエンジニアです。メイン言語はGoで重めなアーキテクチャ設計が得意です。ドメイン駆動設計周りも好きなので、Goやドメイン駆動設計の相談など、何かしら貢献できますと幸いです。

スキル

Go

2015年の夏くらいから日常的に利用。 ライブ配信サービスにて動画処理部を主担当し、並列処理やパフォーマンスチューニングを強みとした。 複雑になりがちな非同期処理をGoの特性を活かして可能な限りシンプルに表現することを信条としている。

参考:非同期処理で荒れがちなchannelの使い方や、sync系パッケージについて

参考:デファクトスタンダードであるRTMPとH.264で実用レベルの実装がなかったため自作。(READMEの整備をサボっていますが本番導入済み)

動画処理以外(APIサーバなど)にも横断的に携わっていた。

2018年の秋くらいから大規模リファクタリングや新規サービス立ち上げを牽引する立場になり、特にDDDを意識したアーキテクチャ設計や開発生産性向上に強い興味があり、注力していた。

最近はcode generatorへの興味も強め。

参考:generator芸の一部

動画

2015年4月よりライブ配信サービスの立ち上げに携わり、動画処理周りを主担当していた。サービス運用に必要な各レイヤーの知識と経験は網羅できていると思っている。

今後は動画以外の領域を主戦場としていくつもりだが、動画界隈には引き続き携わっていく予定。

動画・生放送ストリーミング研究会 - connpass の運営にも参加している。

AWS

Aurora, ECS, EC2, S3, CloudFrontなどなど、ライブ配信サービスで活用できるものを中心に触れている。スキルレベルの説明が難しい領域だが、実運用の主導はしている。

コンテナ技術

2015年から触り始め、ライブ配信サービスはすべてコンテナ化して運用していたので少なくとも主要知識は網羅できているはず。 初期はECSで構築し、2018年夏にKubernetesへ移植した。

Kubernetes移植を主導し、Statefulな配信サーバ運用をKubernetes上で解決するなど(StatefulSetなどの既存リソースでは不可だった)、挑戦的に使用しているのでそれなりに強い領域と言えるはず。

アーキテクチャ設計

DDDを意識した、本質的で重要な実装のみに注力できるアーキテクチャ設計と構築に強みがある。 特にコード生成を前提とした設計と構築は、ビジネスへの高い駆動力と高い生産性を実現できる強みであると思い試行錯誤中。

職務経歴

フリーランスとして活動開始(2019/06 - 現在)

2019年5月末を最終出社として株式会社サイバーエージェントを退職し、フリーランスとして活動を開始。

サービスドメインは何でも楽しめる性分なので、どちらかといえば開発効率の向上に貢献できそうか否かで案件を検討しがち。

熱いメンバーが周りにいると感化されやすいので、熱い想いのあるサービスに携われるとより嬉しい。

株式会社サイバーエージェント:OpenSaaS Studio(2019/03 - 2019/05)

「人間がやるべき本質的作業だけに注力しよう」を広く展開すべく、OpenSaaS Studioに参加。

参考:OpenSaaS Studio - 強いSaaSを作り続けるOpenSaaS Studioの挑戦 - Speaker Deck

「Development Productivity Team」にて、Slack Botシステムなどを制作。「モチベーションを表現すればSlack、CLI、AWS Lambda、APIといった各種インターフェース層などが自動生成される仕組み」など。

株式会社サイバーエージェント:新規ライブ配信サービスプロジェクト(2018/10 - 2019/02)

テックリードとして新規ライブ配信サービスプロジェクトに参加。最終的には方針転換に伴い開発中止となった。

拡張性や可変性も高い巨大プロダクトを少人数かつ短期間で作成する必要があるため、開発方針は「人間がやるべき本質的作業だけに注力しよう」 とし、DDD、Kotlin Multiplatform、自動生成技術などを採用した。

下記のような「熟慮したい高価値な本質的作業」のみをモチベーション通りに実装していけば、他の関心が薄い実装(やドキュメント)は自動生成する見込みだった。

  • ドメイン概念の表現
  • アプリケーション概念の表現
  • View層(UIとそれに伴う柔軟な取得処理)
  • ビジネス価値の高い技術的詳細(動画プロトコルの実装など)

参考:成果物の一部

とにかく「人間がやるべき本質的作業だけに注力しよう」「実装=モチベーションを自然に表現するだけ」にこだわり抜き、高い生産性を実現していた。

株式会社サイバーエージェント:FRESH LIVE(ライブ配信サービス)(2015/04 - 2019/05)

2015年4月よりライブ配信サービス立ち上げに初期メンバーとして参加。最初期のミッションとして配信フロー構築を行い、その後も主担当として運用していた。

2015年時点では業界内でもインターネット生放送の知見が少なかったこともあり、検証や実装とともに積極的な情報公開なども実施した。

参考:やんちゃな HTTP Live Streaming トラブルシューティング集 - Speaker Deck

初期構築後は動画周りの拡張に主軸を置きつつ、横断的に全バックエンド領域への遊軍的な特務ミッションを実行することが多め。

ECSからKubernetesへの全移植や動画サービスならではの技術的課題解決を通し、特にGo言語、Kubernetes、動画技術周りはそれなりの経験を積めたと自負している。

2018年の秋頃より開発リーダーを引き継ぐ。

株式会社サイバーエージェント:バイラルメディア開発(2014/04 - 2015/03)

バイラルメディアの新規立ち上げでバックエンド全般を一人で担当。新卒5人によるサービス及び子会社立ち上げにCTOとして参画。 初期はCMSや各種ツールなども自作で行い、三週間でのリリースを行った。

インフラレイヤーの構造はシンプルだったため、RethinkDBを使うなど適度な技術的挑戦を行った。

子会社の方針転換に伴いサービス終了。チームからも離脱。

株式会社サイバーエージェント:ファッションアプリ開発(2013/06 - 2014/03)

画像投稿型のファッションSNSアプリの開発。バックエンド全般を一人で担当。内定者5人による新規サービス開発だった。 メンバーの入社に伴い運営終了。

株式会社サイバーエージェント:社内人事システム(2013/03 - 2013/06)

GeppoというHRテックサービスを開発リーダーとして初期リリースまで担当。

やっていきたいこと等

志向について

技術的なスペシャリストとして百人力、千人力となれるよう追求していきたい。

腰軽くプロトタイプを作るよりは重量級のアーキテクチャ設計の方が得意。継続的に価値を生める仕組みに興味が強い。価値を提供したい人の障壁を可能な限り取り除き、武力を提供したい。

チームマネジメント等について

基本的にはマネージャーではなくスペシャリスト志向。周りへのポジティブな影響やチーム成果への意欲は強く自発的に行動する性分だが、マネージャーという職務で責任を負うことへの意欲は薄い。特にネガティブな人の成果や成長にまで責任は負わない。

あくまで自発的な振る舞いとしては積極的に価値提供を図っていきたい。

懸念事項

  • 英語は弱い。ドキュメントを読んだり翻訳ツールの補助を借りてのやり取りはできるが、チャットや口頭でのコミュニケーションは厳しい
  • 記憶力と想起力が弱めなので即答でのコンサル業は苦手。下調べや確認の時間をいただいた方が効率よく価値提供が可能