Developer Advocateという仕事
Cloudflareという会社でDeveloper Advocateとして働いています。この「Developer Advocate」というのはなかなかレアなロールで、馴染のない方も多いと思います。僕も他の同じロールの人たちがどんなことしてるのかを十分理解しておらず、人によってやってることは様々です。
今回はDeveloper Advocateについて理解するきっかけとして、僕が日々どんなことをしてるのかを紹介します。
発端
そもそもどうやってDeveloper Advocateになったか。Cloudflareへの入社の経緯は以前書きました。
そこでも触れている通り、当初はシステムエンジニアとして声をかけてもらったのですが、当時の部長にあたる人から
開発とAdvocateどっちがやりたいんだ?
と聞かれて「Both」と答えた結果Developer Advocateになりました。質問された時点では「Advocate」というキーワードを知らず、急いで調べて、それでもイマイチ腑に落ちず。それでも自分に向いてそうだなと思いました。
製品と開発者をつなぐ
Cloudflareでは開発者プラットフォームといって、一般的の開発者が自身でアプリケーションを開発し、デプロイできるプラットフォームを提供してます。それがCloudflare Workersであり、D1やKV、R2などといった周辺のプロダクトです。
僕を含む後述するDevRelチームは開発者プラットフォームとそれを使う開発者をつなぐのが役目です。
Developer Relations
Developer AdvocateはDeveloper Relations、略してDevRelチームに所属しています。このDevRelチームが興味深いです。Developer Advocateの他に以下のロールの人がいます。
- Community Manager
- Developer Educator
- System Engineer
Community Managerの1人は、CloudflareのDiscordサーバーを管理しています。また、もう一人はWeb上で質問を受け付けるフォーラムの管理をしています。オフラインのイベントを開催することもあります。
Developer Educatorというのも珍しいロールです。その名の通り開発者プラットフォームを「教育する」役目で、ビデオを作ったり、Examplesを作ったりしています。ビデオは開発者プラットフォーム用のYouTubeチャンネルを持っているので、そこで発信しています。以下はEducatorの1人、Craigが出てるビデオです。
皆さんに馴染みがあるところではAWS向けのJavaScriptクライアントaws4fetch
を作ってるMichaelがSystem Engineerにいます。
ちなみにドキュメントはDevRelとは別にProduct Content Experience、略してPCXというチームが担当しています。DevRelチームはPCXチームと密に連携をとっています。Web上のドキュメントのソースは全てGitHubにあり、誰も貢献できるのが面白いところです。
最近、DevRelチームは少々マーケっぽいところに配置されましたが、もともとはEmerging Technology and Incubation、略してETIという開発者プラットフォームを開発している部署にの中にいました。今でも、ETIとの距離は近く、「こんな機能できたから使ってみてよ」と開発側から連絡が来ます。また、我々も新しい機能やコンセプトを知りたいので、Wikiやチャットを見ているし、コミュニケートする場面はあります。
DevRelチームのメンバーは世界各国にいます。
- ニューヨーク
- オースティン
- サンフランシスコ
- 日本
- インド
- オーストラリア
- オランダ
- ポルトガル
- イギリス
これはチームのメンバー数名を世界地図にマッピングしたものです。
チームのミーティングは週に1回だったのですが、時差が辛いってことで、ヨーロッパフレンドリーな時間にやる週とアジアパシフィックフレンドリーな時間にやる週と代わりばんこでやることになって、僕は2週に1回しかミーティングがありません。
変わったチームで、とても楽しいです。
3つのこと
仕事はどんなことをしてるの?と聞かれると3つのことをやっていると言ってます。
- Honoの開発
- イベントの開催
- イベント登壇
これが僕のDeveloper Advocateの仕事です。
1.Honoの開発
Honoの開発をしています。
業務時間でも趣味の時間でもやってる感じです。
- Honoを開発する
- HonoはCloudflareで動く
- Honoを開発することはCloudflareをAdvocateすることになる
という論法です。
実際、DevRelチームが作るExamplesやビデオ内でのコードではHonoが全面的に使われています。以下、Craigのビデオの中にHonoのコードがありますね。
また、Cloudflareのプロダクト内でも相当使われています。例えば、Workers LogsではAPIが全部Hono製ですし、Cloudflare KVというサービスでHonoで作ったアプリが全リクエストを受け止めています。
HonoはめちゃくちゃCloudflareのプロダクトに貢献しているわけです。
2.イベントの開催
Cloudflare Workersを始めとした、開発者プラットフォームがテーマのイベントを開催しています。その一つがWorkers Tech Talksで、過去に東京で4回、大阪で1回と合計5回やってます。東京では毎回70人程度、大阪でも30人とオフラインにしてはそこそこの規模です。
これは東京で3回目にやった時の写真です。DevRelチームのマネージャーのRickyとこのあと出てくるKristianが来てました。
トークする人はもちろんのこと、参加者も開発者が多く、深い技術の話ができるいい場所になっています。
イベント開催は入社以前から、Perl関連のYokohama.pmやPerl Casual、またYAPC::Asiaとやってきました。ですので、得意だし、楽しくやれてます。
3.イベント登壇
Cloudflare、もしくはそれに限らずHonoや最近だとJavaScriptやTypeScriptをテーマに各種イベントで話しています。
その他
他に開発っぽいこともやっています。例えば、Honoの開発の一環でCloudflare Workersの環境をエミュレートすることがあって、その知識を共有するためにETIのメンバーと相談したり。新しいプロダクトのアイデアを出したり。また、いわゆるPoCを作るのを手伝ったりしています。
日本を拠点とする営業やSolutions Engineerの人たちとも絡みがあって、たまーに打ち合わせに呼ばれたりしています。
やっていることのまとめ
紹介した特に3つのことは入社以前から自然にやってきたことなので、それは得意なことだし、好きなことです。それらが仕事になるDeveloper Advocateというロールはやはり自分に合ってるのだと思います。
Kristian
Cloudflareの他のDeveloper Advocateの1人としてKristianを紹介します。KrisitianはCloudflareの中で一番歴の長いDeveloper Advocateです。
- チュートリアルビデオの作成
- オンラインコースの作成
- Examplesの作成
- ライブラリの開発
をやっています。
以下が「101」といって人気のある初心者向けのビデオです。
ちなみに2回会ったことがありますが、めちゃくちゃいい奴です。
他のDeveloper Advocate
僕が日々やっていることを紹介しました。僕とKristianの仕事内容が異なるように、他の会社、組織のDeveloper Advocateの人たちはまた違うことをやっているはずです。
イベントやります
Developer Advocateを含むDevRelの人たちの話を聞きたいなーと長らく思っていたのですが、このたびDevRelがテーマのイベントをすることになりました。その名も「DevRel Talks!」です。2月19日の水曜日にやります。ちょうど来日してるとのことで、VercelのDevRelリードのLee Robinsonにも話してもらいます。
タイムテーブルがすごい。
「俺得」なイベントですが、他の方にも刺さると思うのでぜひご参加を!
まとめ
僕がDeveloper Advocateとしてやっていることを紹介しました。やっていることが入社以前とあまり変わらずに会社やプロダクトに貢献できるのはとても嬉しいことです。また、DevRelのチームにいることがとても楽しい。
以上、Developer Advocateのひとつの例として見てもらえれば幸いです。
Discussion