Web 業界にやってきて丸一年が経過していたので振り返る
本記事の内容は個人の見解によるものです。
2022/11/01に転職し、IoT 系から Web 系へと移った。いろいろな勝手の違いに戸惑いつつも徐々に慣れ、気がつけば丸一年が経過していた。暦的に1年の振り返りの時期でもあったので、せっかくならばということで振り返りを書いておく。
やったこと
転職したことで WebRTC が自分の専門となったため、周囲へ追いつくためにひたすらインプット・アウトプットすることを重視した。
標準化会議への参加
現在、WebRTC 周辺の関係者は新たなプロトコルに関して議論している最中である。その最新動向を追うために標準化会議へ参加している。
- IETF 116 Yokohama
- TPAC 2023 Sevilla
技術ドキュメント読み
WebRTC や MOQT の知識を得るために、チームで関連文書を読んでいる。基本的には エクストリームリーディング 形式で参加者に負担がかからない形式で継続している。
- RFC
- RFC 8825 - Overview: Real-Time Protocols for Browser-Based Applications
- RFC 7478 - Web Real-Time Communication Use Cases and Requirements
- RFC 8489 - Session Traversal Utilities for NAT (STUN)
- RFC 8656 - Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
- RFC 8445 - Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal
- RFC 8838 - Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol
- I-D
- W3C ドキュメント
- WebRTC: Real-Time Communication in Browsers [WIP]
- WebRTC Extended Use Cases
記事執筆
勉強したことの中であまり情報が落ちていなそうなものがあれば、有益な情報を残せるよう記事を書くことにしている。
- 参加レポート
- 技術記事
イベント運営
コロナ収束に伴い WebRTC Meetup が復活したので運営に参加している。コロナ前とは情勢が全く異なるので、毎回 KPT を行いながら、時流に沿った形式で開催できるように改善を続けている。
登壇
初心者歓迎のイベントを中心に登壇させていただいた。W3C 日本会員会議は少し毛色が違うが、TPAC 2023 へ参加した流れで登壇の機会をいただき、WebRTC の最新動向について紹介した。
GitHub 公開
記事や登壇に関するコード、自分の趣味で書いているコードなどを公開するようにした。
Twitter アカウント立ち上げ
自分の活動を宣伝できるようにアカウントを立ち上げた。
(ギリギリ青い鳥アイコンの時代に開設できた)
感想
ここからは思ったことを中心に書く。
取り組みについて
転職前は比較的クローズドな環境だったこともあり、やったこと に書いた内容は (登壇以外すべて) 自分にとって初めての取り組みとなった。これらすべてがやってよかったと思え、特にアウトプットやイベント運営に関しては非常に有意義な活動だった。
アウトプットを有意義だと思った観点は、他者の役に立てる点・自分の勉強になる点の2つだ。前者は他者に貢献した結果、「面白かった」「勉強になった」などの感想をもらえることがあり、それが更なるモチベーション向上にも繋がっている。後者はアウトプット用に記事や資料を作り始めてみると自分が思ったより理解していないことがわかり、理解するためにより深く勉強する機会を得られた。 We Are JavaScripters! では TDD (Todan Driven Development) という考え方を押し出しているが、実際に参加してみてとても共感できた。
イベントの運営についてもコミュニティを育てるという貴重な経験ができて有意義だと感じている。同じ技術に関わる人同士が情報交換できる場を提供することで界隈の活発化に貢献することが目標である。アフターコロナのニーズにぴったり合った形式でイベントを開催することは非常に難しいと感じているが、改善を繰り返すことで何とか最適解にたどり着きたい。
Web 業界について
Web 業界はとてもオープンであり、必要な情報のほとんどが公開されている。これは非常に便利だが、裏を返せば情報の格差が生まれないため実力勝負の側面が強いと思っている。周りを見るとものすごい実力者ばかりなのでハードルが高いように思われるが、多くの人はそのハードルを経験していることもあってか初中級者に対して優しく接してくれる。
振り返ってみると、多くの方々の優しさのおかげでゆっくりながら着実に成長できていると感じている。自分も初心者に対して優しく接するように心がけたい。
今後取り組みたいこと
今後やりたいことは WebRTC 以外の勉強も進めていくことだ。Rust や WebAssembly、MOQT など、新たに興味を持っている技術についても知識の習得を進めたい。
もちろん、勉強した内容はアウトプットに繋げ、他者へ貢献できるようにすることは忘れないようにしたい。
TPAC 2023 @Sevilla の参加レポート
本記事の内容は個人の見解によるものです。
この記事 is 何?
2023年10月11〜15日に開催された TPAC 2023 にオブザーバとして参加してきました。TPAC に参加するのは初めてだったので、初心者なりに体験したことや気づいたこと、今後初参加する方がどのように臨めば良いかについて記してみようと思います。
なお、議論内容等といった技術的なトピックについては登壇イベントや こちらの記事 のように別途紹介していきますので、本記事では対象外とします。
TPAC とは
TPAC は (Technical Plenary and Advisory Committee) は W3C1 が年に一度開催する全体会合です。W3C は様々な Web 技術を標準化するためにいくつもの W3C Group を抱えていますが、TPAC ではその内の多くの Group が1つの会場に集まって議論を行います。
W3C Group はそのミッションに応じて WG (Working Group)、IG (Interest Group)、CG (Community Group)、BG (Business Group) 等の様々な種類に分類されます。
今回はスペインのセビリアを会場とし、5日間の中で様々なセッションが行われました。

1, 2, 4, 5日目では上図のように10以上の会議が並行して同時に実施され、各 Group の課題に関する議論が行われました。ちなみに、Meeting は各 Group 単体での開催に限らず、共通の課題を持った Group 同士の Joint Meeting という形式もあります。
また、3日目は唯一 Breakout session というものが行われる日程でした。Breakout session では各 Group ではなく参加者自身がセッションを主催し、日頃の開発の中で感じたブラウザの課題について問題を提起することができます。
各 Group の活動は TPAC だけには留まらず、普段からメーリングリストでやり取りを行ったり、各 Group の Github Repository で Issue を整理したり、必要に応じて別途 Meeting を開催することで標準化を行っていますので、多くの Group が一堂に会するという点に加え、この Breakout session が開催される点が最も特徴的な点だと思われます。
開催地は毎回アジア・北アメリカ・ヨーロッパの中から選ばれているようで、TPAC 2024 はアナハイムでの開催が予定されているようです。
会場の様子
セッション
TPAC 2023 はセビリアの新市街にある Meliã Sevilla Hotel というホテルの一角で開催されました。

ホテルの地下と0階2、1階に用意された十数部屋の会議室の中で各セッションが行われます。 部屋によってレイアウトは異なりますが、基本的に会議室にはコの字型に机が並べられており、20人程度が座れるようになっています。この机には各 Group のメンバーとして参加している方々が座って議論を行います。それ以外にも会議室の壁に沿って椅子だけが並べられており、私のようなオブザーバ参加者が座ることができます。また、オンサイトの参加だけではなく Zoom を利用したリモート参加も可能です。
セッションが始まると、まず初めにファシリテータから W3C のポリシーや感染対策等に関する説明があり、続いて議題を持ち込んだメンバーのプレゼンテーションが行われます。各プレゼンテーションが終わると Zoom の挙手機能などを活用しながら質疑が行われ、各課題に対するアプローチを決定していきます。
昼食
昼になるとホテルのレストランに弁当が入った紙袋が並べられます。毎日2種類のメニューが用意されているので、好きな方を選んでピックアップします。

メニューの傾向は日によって少し違いましたが、パスタサラダとサンドイッチとトルティーヤが同時に出てくることもあり、日本人にとっては少し量が多いかもしれないです。

ソーシャルイベント
3日目の Breakout Session が終わった後、ホテルのテラス会場で Reception が行われます。日中のセッション直後は他の参加者とゆっくり会話できる雰囲気ではないことが多かったので、お酒を片手に会話できる場が用意されているのは素晴らしいと思います。

他にも W3C Japan の方が開催してくださった日本人会員ディナーに参加させていただき、旧市街にある景色の良いレストランでアンダルシア料理をいただきました。日中は日本人をあまり見かけなかったのですが、このディナーでは30〜40人くらいの日本人に会うことができました。
また、ソーシャルイベントとは少し違うかもしれないですが、W3C Japan の方が突発で企画してくださった食事会にも加えていただいたりしました。
TPAC への臨み方
今回の筆者の経験をもとに、初めて参加される方向けに情報を残します。 よくある「〇〇の歩き方」よりも一歩前の準備段階からどのようにすべき (だった) か紹介したいと思います。
参加登録
まず、自分が関心のある Group を洗い出し、参加するセッションを決めておくことが大前提です。 TPAC の日程が近づくとサイトにスケジュールが貼り出されますので、参加するセッションを概ね決めてから参加登録します。
TPAC への参加登録は W3C 会員にしかできないため、事前に会員になる必要があります。
予習
TPAC に参加する際に重要な情報が5つあります。それぞれ確認すべきフェーズもセットで紹介します。 (私が WebRTC 関連の人間なので WebRTC WG を例にしながら紹介します)
Group ページ (登録時)
まず初めに、参加する Group のページを確認すべきです。Group は こちら から検索できます。 例えば、WebRTC WG は こちらのページ です。Group ページに移動したら初めに Charter を確認しておくと良いでしょう。Charter は日本語にすると憲章と訳せますが、その Group の現在のミッションや活動頻度、着手している仕様について紹介しています。
登録時のなるべく早い段階で目を通しておくと良いでしょう。
Specification (登録後 〜 TPAC 1週間前)
Charter や Group ページの Patent Policy status から、Group が管理している Specification (仕様) を確認できます。各 Group が現在どのような仕様策定に着手しているのか確認しておきましょう。
また、Specification のステージを確認しておくのも良いと思います。ステージは Specification のタイトル下に表示されています。
下図の例では W3C Recommendation がステージにあたります。

Specification のステージには主に以下の4つがあります。
- WD: Working Draft、作業草案
- CR: Candidate Recommendation、勧告候補
- PR: Proposed Recommendation、勧告案
- REC: W3C Recommendation、W3C勧告

いずれの Specification も Working Draft から始まり、議論やレビューが進むと次のステージへと遷移していきます。例えば現在のステージが Working Draft であれば、初期ではユースケースについての議論が行われ、中期〜後期では実装における問題点についての議論が行われるだろうといった目星をつけることができます。
Github リポジトリ (登録後 〜 TPAC 1週間前)
W3C は Github を活用しています。各 Group は機能毎にリポジトリを立て、Issue や PR の中で議論を進めます。 例えば、webrtc-pc リポジトリでは WebRTC の Specification を管理しており、Issue を見れば現在進行中の問題を確認することができます。
自分が関心のある Group のリポジトリを一通り覗いておきましょう。
メーリスアーカイブ (登録後 〜 TPAC 1週間前)
W3C には メーリングリストのアーカイブサイト があります。どこにどんな情報があるのか少しわかりにくいですが、このサイトを探索することで Group の過去のやり取りを確認することができます。また、メールのやり取りだけではなく、過去の Meeting の資料や議事録も見つけることができるので、以前にどんな内容を議論していたのか確認することで TPAC の議題について理解しやすくなるはずです。
TPAC HP (TPAC 1週間前 〜 開催期間中)
TPAC が近づくと、TPAC HP のスケジュールから各 Group のページに飛べるようになります。 WebRTC のページ を見てみると Agenda の項目がありますが、ここに当日議論に使用されるスライドがアップされていきます。余裕があれば議論が始まる前に確認しておき、関連する Issue の内容を理解しておくと当日の議論内容がわかりやすくなります。
レポート作成
当日は議論を聞き、レポートを取ることになるでしょう。
参加するまで知らなかったのですが、TPAC では議論のアーカイブ動画を残すかどうかは完全に各 Group の判断に依ります。(議事録は残ります)
そのため、メモはなるべく細かく取っておくべきでしょう。セッション中に提供されているチャットや Zoom のトランスクライブ機能を活用してメモを取りながら議論を聞くのがおすすめです。
所感
初めての TPAC 参加だったのであまり理解が及んでいないところが多く、事前に雰囲気や当日の流れのイメージがあればもっとよかったと思いました。 (その経験からこの記事を書いたので、少しでも今後参加される方のお役に立てれば良いなと思います)
私は5日間を通して WebRTC 関連の7つのセッションに参加しましたが、それぞれの予習やレポーティングを並行して行いながらの参加になったので結構ヘトヘトになりました。
初回参加者は背景を理解できていないはずなので難しい場面はあると思いますが、それでも万全の準備をして臨みましょう!

(おまけ) セビリア
セビリアはスペインの南側に位置し、人口は約70万人とスペインの中で4番目の規模の都市です。日本からは乗り継ぎが発生するためとにかく遠く、移動に丸一日 (24h) 近く要します。たどり着くのは一苦労ですが、景色はきれいで食べ物も美味しく、筆者にとって初めてのヨーロッパだったので刺激的でした。
TPAC 会場から徒歩10分以内の場所にスペイン広場という観光地があったり、30分程度歩くとたどり着ける旧市街はどこを切り取っても絵になるような景色が広がっています。


食事は基本的に何でも美味しかったですが、特に印象に残ったのは生ハムでした。いくつかの飲食店で注文しましたが、どれもクオリティが高いのにリーズナブルでした。生ハムはバルだけではなくホテルの朝食でも毎朝用意されていたり、スーパーには原木が並んでいたりと、スペインの人々にとってはかなり身近なもののようです。
お土産に買えたらよかったですが、日本の検疫では肉製品の持ち込みを取り締まっているので持ち帰れなかったのが心残りでした。


- World Wide Web Consortium。Web 技術の標準化を行う団体。↩
- ヨーロッパでは配列と同じく0始まりでフロアをカウントする仕様です。↩
【参加レポート】ネットワーク初心者がIETFに初参加した話
本記事の内容は個人の見解によるものです。
この記事 is 何?
約8年ぶりにIETFが日本で開催されるということだったので、IETF #116 Yokohamaにオンサイト参加してきました。初参加だったので、今後初めて参加される方や参加を迷われている方のお役に立てるように、良かったことや学びなどを書き残させていただきます。
まず、私の結論を先に述べておきます。 ネットワークエンジニアにとって、IETFはとても貴重なイベントです。 初心者でもIETFに参加するメリットは大きいため、少しでも興味がある方は深く考えずに参加してみることを強くお勧めします。
なお、IETF自体の説明やイベントの様子については、他の方が記事にしてくださっているので、ここでは割愛させていただきます。
IETF自体については、後述する「IETFの歩き方」という動画が分かりやすかったです。
また、イベントの様子については、こちらの方々の記事が非常に分かりやすいです。
筆者はどんな人?
社会人6年目にして転職し、約半年前からネットワークの勉強をはじめました。映像や音声などのメディア通信の専門家を目指して、主にWebRTCに関する技術調査を行っており、最近はRFCを読解する機会がかなり多くなっています。
前職がIoTデバイスを開発するエンジニアだったため、ネットワークのベースの知識はありますが、インターネットの標準化に関して提言するレベルではありません。タイトルの通り、ネットワーク初心者です。 また、英語力については日常会話レベルです。専門的な用語を使ってテンポよく会話をすることはできません。
ちなみに、今回特に興味があった議題はWebTransportとMedia over QUICでした。
良かったこと
- インターネットが標準化されていく過程を肌で感じられた
- 様々なエンジニアの方々と交流ができた
- 今後の学びのモチベーションを得ることができた
インターネットが標準化されていく過程を肌で感じられた
IETFではネットワークエンジニアが世界中から集まり、日頃考えているインターネットの課題や解決方法について議論を交わします。Big Techレベルの大企業や有名な研究機関から来る人も数多くいるにも関わらず、全員が所属という鎧を脱ぎ捨て、一人のエンジニアとして真剣に、かつ謙虚に議論を重ねることでインターネットの仕様を決めていきます。
IETFに参加する前は、RFCはただのインターネットの仕様が書かれたドキュメントという認識しかできていませんでしたが、インターネットを良くしたいと考えているエンジニアの叡知の結晶だということに気がつきました。大げさかもしれないですが、背景を理解したことで見え方が変わったことは確かです。
様々なエンジニアの方々と交流ができた
IETFの肝は他の参加者とのコミュニティを形成して一緒にイベントを楽しむことにあると言っても過言ではありません。私はセッションの合間に勇気を出して声をかけてみたり、SNSで募集されている食事会に応募してみたり、会社の先輩が設定していた接待に混ぜてもらったりと、様々な方法で知り合いを作ることに成功しました。
IETFに参加するエンジニアは謙虚で優しく、かつ偉大な方ばかりです。知らない人に話しかけたり、交流会に応募することは大変勇気が必要ですが、初心者であれば間違いなく歓迎してもらえますし、偉大な方々と交流ができるという莫大なリターンが手に入ります。ぜひとも勇気を出しましょう!
(私が参加している回であれば、ぜひ私にもお声がけくださいww)
ちなみに私は今回こちらの食事会に応募させていただき、参加者の皆様には非常に良くしていただきました!ありがとうございました!
特に、こんなに素敵な場を主催してくださった@Jxck_さんと@arayaryomaさん、IETFのあれこれについて非常に親切に教えてくださった@flano_yukiさん、心から感謝しています!
(こちらの方々は標準化について情報を発信していますので、IETFに興味があればフォローすることをお勧めします)
今後の学びのモチベーションを得ることができた
私はIETF参加を通じて、ネットワークの知識や英語力を磨きたいというモチベーションを得ることができました。もっと知識や英語力を身に着けて、今回以上に海外の方と交流したり、いずれ標準化の議論に参加したいと思ったことが理由です。
技術の知識や英語力が欲しいというのはエンジニアであれば誰もが漠然と思っていることかもしれないですが、IETFのような具体的な活用場所に巡り合えることのメリットは大きいのではないでしょうか。
学び
- 予習の時間を確保しよう
- ソーシャルイベントを重要視しよう
- 個人として参加していることを意識しよう
予習の時間を確保しよう
IETFは策定中の仕様について議論されているため、そこに至るまでの背景について理解をしておくことが攻略の鍵となります。逆に背景を理解していない状態だと、議論の内容を追いかけるのは難しくなります。
また、もちろんメディア通信だけではなく、数多くのプロトコルについて議論が行われます。例えば、次世代のHTTPについて、セキュリティについて、ネットワークの運用について、etc. と非常に多岐に渡っていますので、予習を頑張った分だけ興味のあるセッションを楽しむことができます。
(もちろん、すべてのセッションに参加する必要はありません)
IETFの参加を決定したら、なるべく予習できる時間を確保しておきましょう。なお、予習時間を取ることができなかったら意味がないのかと言えばそんなことはなく、リアルタイムに取られている議事録を見たり、セッション終了後に公開されるアーカイブ動画を見ながら理解を深めることはできます。あくまでも予習をしておいた方が議論をスムーズに理解でき、セッション自体を楽しみやすいということです。
IETF自体の勉強(IETFは標準化プロセスの中でどの位置づけなのか、etc.)も必要になりますが、こちらの「IETFの歩き方」という動画が非常にわかりやすかったです。
ソーシャルイベントを重要視しよう
エンジニアであれば技術的な議論が行われるセッションへの参加を重視するかもしれませんが、連日開催されているソーシャルイベントにも参加することをお勧めします。英語力がないからまた今度でいいやという方もいらっしゃるかもしれませんが、それは非常にもったいないです。英語がわからなければ日本の方を掴まえればいいですし、英語がうまく話せなかったとしても、その経験が学習のモチベーション向上に繋がります。
ソーシャルイベントには基本的に食べ物や飲み物が用意され、中には現地の名産品を揃えてくれる観光イベントもあります。 IETF #116 Yokohama にも美味しい寿司や日本酒を楽しめるイベントがありましたが、私はそれを知らなくて参加できず、非常に後悔しています。
IETFのSocial Event、外国人が考えた日本テーマパークという感じ pic.twitter.com/g87UwVO3k1
— 通行人1 (@passerby1_) 2023年3月30日
注意点として、ソーシャルイベントには事前予約が必要なものもありますので、参加登録後にチェックしておきましょう。
個人として参加していることを意識しよう
IETFは会社の代表としてではなく、個人として参加するイベントです。自分の会社名を出すこと自体はOKですが(参加証にも記載される)、それを元にビジネス色の強い話をするのはあまり好まれません。名刺を交換するシーンはありましたが、積極的に交換する雰囲気にならないことも多かったので、その辺りは空気を読む必要がありそうです。
どちらかと言えば、SNSでの交流に繋がることが多そうですので、事前にアカウントを用意しておくことは必須だと思われます。
まとめ
上記の通り、IETFは標準化や情報収集だけではなくコミュニティ形成もできる非常に素晴らしいイベントですので、参加を迷われている方は参加してみることを強くお勧めします。
最初は標準化の議論に参加できなくても、今後少しずつ知識を身に着けて、いずれ何らかの形で貢献できれば十分だと思います。現在標準化活動に参加している方のほとんどは、初回からバリバリと議論に参加できていたわけではないはずです。
(例外はあるのかもしれませんが・・)
念のためですが、IETFがいくら個人としての参加の色が強いイベントだと言っても、会社に援助してもらって参加する場合は得られた情報の報告も頑張りましょう。
最後に、私としてもこれをきっかけに標準化に関する記事をどんどん書いていきたいと思っていますので、ぜひよろしくお願いします!