2021 年の雑多な振り返り兼備忘録です。今年で 35 歳になりました。

目次

主な出来事

仕事は相変わらずソフトウェアエンジニアとして Chromium ウェブブラウザの開発をしていて、完全リモートワークで家から働いていました。今年はなんと自分の上司が三人(上司・上司の上司・上司の上司の上司)もいなくなるという波乱の一年でしたが、その分自分の責任範囲や裁量が広がって多くのことを学べた一年でもありました。

Q1

  • 仕事では昨年の Q3 後半から参加している Prerender API (Speculation Rules API) の開発チームで、プリレンダリングを行うコア部分の実装を主導していました [doc]。Q1 で既存のナビゲーションアーキテクチャ上で一通り動くものを作り、その後に別チームが作っていた新しいナビゲーションアーキテクチャの上に載せ直す作業をしたり、Web Platform Tests(ブラウザ共有のテストスイート)で Prerender API のテストをするためのインフラづくりなどをしていました。
  • 趣味の時間では量子コンピュータ上でのプログラミングを学んだり、電験三種の勉強をしたりしていました。
  • 3月は上の子の卒園・入学準備と下の子の入園準備でてんてこ舞いでした。卒園式が終わってようやく楽になりましたが、それと同時に上の子の園服姿はもう見れないんだなぁってちょっぴり物悲しい気持ちになりました。

Q2

  • 長男が小学校に入学し、次男が幼稚園に入園しました。下の子が日中家にいなくなったことで以前よりも集中してリモートワークできるようになり、また妻と二人で日常的にゆっくりランチできるようになりました(子どもが生まれたとき以来ぶり!)
  • 仕事では今まで実装してきたものがいよいよフィールドトライアルを行う段階になり、最後のブロッカー潰しをチーム一丸となってやってました。特にプリレンダリング中のページを表示するタイミングでプリレンダリングが継続できなくなった場合のリスタート処理の設計・実装に悪戦苦闘 [doc1, doc2]。プロセスをまたいだ並行並列処理難しすぎる。

Q3

Q3 はいろいろあって今年一番しんどかったです。

  • 子どもたちが夏休みに入り、平穏なリモートワークは終わりを告げました😭
  • コロナウイルスのワクチンを接種しました。一回目は大したことなかったけど、二回目は歯痛と副作用が重なってしまってめっちゃしんどかった。副作用による発熱だと分かっていても熱がある状態で歯医者に行けない苦しみ。痛み止めを飲んでしのぎました。
  • 長期インターン(約三ヶ月)の学生さんをホストし、Chromium の開発(Prerender API の内部情報を表示する機能の開発)に参加してもらいました。国内からの参加とはいえフルリモートでのインターンということもあり、オンボーディングやナレッジの共有で苦労しました。学生さんには困難な環境で頑張ってもらってとても感謝しています。
  • 上司と上司の上司がたまたま同時に別チームへ移動することになり、新しい上司のもとで私がリードとしてチームを引き継ぐことになりました。今いる会社では「新しいことをやりたくなった上司がある日突然移籍して下の人がステップアップする」というのはよくある話で、それは組織の新陳代謝の観点からとても健全だと思っているんですが、いざ自分の身に降りかかるととても動揺しますね。はじめは不安でしたが、新しい上司やチームメンバーに支えられて何とかチームを再始動できました。そんなこんなでこの時期はチーム構成やタスクの振り分け、新しいロードマップについてひたすら考えていました。今までも TL としてプロジェクトのロードマップを引いたりすることはありましたが、それと比較して規模や関わる人数がかなり大きくなり、自分の裁量もぐっと広がりました。おかげでより高いレベルでの学びがたくさんありました。正直長年つよつよ上司たちの庇護下であぐらをかいていた自覚があったので、今回のような外圧でコンフォートゾーンを飛び出せて良かったと思っています。
  • 「プログラミングおよびプログラミング言語ワークショップ(PPL)」が開催したサマースクールにて、JavaScript 処理系 V8 とレンダリングエンジン Blink のアーキテクチャについて話をしてきました [blog]。

Q4

  • ロードマップをもとに粛々とプロジェクトの推進とチームの運営を行っていました。Q4 途中までは急激なミーティング数の増加やチームメンバーのフォローでかなり忙しかったですが、後半になるにつれて自分の役割にも慣れ、チームも自走できるようになって一気に楽になりました。新体制になってから目標としていたマイルストーンも無事に達成でき、ホッと一安心。
  • 天文宇宙検定一級を受験し、落ちました。例年 Q3, Q4 は試験に向けて勉強をしているんですが、今年は仕事が忙しかったこともあってモチベーションが上がらず全然勉強できなかったのが悔やまれる [blog]。

ソフトウェアエンジニアとしての活動

Chromium (Chrome) の開発

今年私が入れたパッチは 172 個、レビューしたパッチは 385 個でした。チーム運営やロードマップの策定といったメタな役割の比重が増えたことで、昨年よりもコミット数が減ってしまった。

Chromium CLs

  コミット数 レビュー数 備考
2021 172 385 リーダーシップロールの比重の増加
2020 187 358 コロナウイルスによるコードフリーズ、プロジェクト変更
2019 259 385  
2018 181 275 育児休暇 (二ヶ月)
2017 240 300  

Prerender API (Speculation Rules API) については Origin Trial を始めました。2021 年も引き続きトライアルを続けつつ、prerendering の可能性を広げていきたいと思っています。興味がある方はご連絡ください。

そのほかにも自分が code ownership を持っている Worker / Worklet APIs や Loading 周りのメンテナンスや技術コンサル的なことをやってました。自分がサポートしていたプロジェクトの一例として、 Chrome 91 から Service Worker 上で ES Modules が使えるようになりました。

技術記事

ローディング周りで深堀りした内容や、いまやってる Prerender API とその周辺に関する情報を整理したいと思い、いくつか重めの記事を書きました。

対外発表

プログラミングおよびプログラミング言語ワークショップ(PPL)が開催したサマースクール「JavaScript 処理系と Chrome ブラウザの実装技術」にて、JavaScript 処理系 V8 とレンダリングエンジン Blink のアーキテクチャについて話をしてきました [blog]。

本発表では、主にブラウザ JavaScript に関する歴史や最新動向に関する概説と、ウェブ特有の実行モデルをどのようにブラウザアーキテクチャへ落とし込んでいるか紹介しました [slide]。ウェブブラウザ開発に少しでも興味を持っていただければ幸いです!

キャリアアドバイス

昨年の大学でのレクチャーや PPL での講演といった対外発表をする機会を頂いたおかげで、学生さんからソフトウェアエンジニアとしてのキャリアや学生生活についてのアドバイスを求められる機会が増えました。少しでもお役に立てたなら幸いですし、自分を振り返るよいきっかけにもなりました。

コミュニティ活動

toyoshim さんが立ち上げられた「Chromium プロジェクトへの貢献に興味がある人をサポートするコミュニティ」のお手伝いを始めました。長年「日本から Chromium 開発に参加する人が増えるといいなー」と思い、Chromium のアドベントカレンダーを作ったり、プロジェクト紹介記事を書いたりして、細々と布教活動をしていました。今後はこのコミュニティを通してより直接的にコントリビューターの方々を支援していければと考えています。

言語化

普段ぼんやり考えていることをちゃんと言語化して残していきたいと思い、いくつか記事を書きました。今年はソフトウェア開発に関するものばかりでしたが、来年は分野問わず考えていることをもっと気軽に言葉にして残していきたいです。

子育て

リモートワークあるある、ミーティングへの子どもたちの乱入が多かったです。

リモートワークであることを活用して仕事の合間に子どもの勉強を見たり習い事の送り迎えをしているんですが、出社しなくちゃいけなくなると生活基盤がまたぶっ壊れそうでどうしたもんかなぁ、と少し悩み中。

コロナ禍で閉塞的な一年でしたが、その中で少しでも子どもの思い出に残るようなことができていればいいな。

趣味の活動

ゲーム

beatmania IIDX:コロナ禍で昨年はほとんどできませんでしたが、今年は INFINITAS の環境を整えて家で遊べるようにしました。詳しくは「おうち beatmania IIDX 環境を整えた話」に書きました。

IIDX プレイ環境

楽しすぎて無限にやっていたいけどプレイ時間を確保するのが難しい。DP は念願の十段に合格しました。

2021 IIDX リザルト

NieR Replicant ver.1.22474487139…:NieR:Automata はプレイ済みだったけど NieR Replicant は未プレイで、バージョンアップ版の制作が発表されてからずっと楽しみにしてました。端的に言って最高でした。サントラもヘビーローテーションしてます。是非 NieR:Automata もバージョンアップして作って欲しい。

ゼルダ無双 厄災の黙示録:初めての無双シリーズ。爽快感があって、気分転換に気楽にプレイできて楽しかった。夜寝る前にちまちま進めてクリアしました。ミファー最強。追加コンテンツはまだやれてない。

あつまれどうぶつの森:行事イベントやアップデートが入ったときにプレイしてました。家族で野菜を交換したり、はにわを集めたり楽しかった。家族の協力を得てついに化石をコンプリートしました。

Minecraft:ずっと長男と一緒にやってましたが、年末には次男も自分の Switch を手に入れて三人でやるようになりました。Caves & Cliffs Update が入ってから世界が一気に広がって楽しみが増えました。来年の The Wild Update も期待してます!

この他にも『ゼルダの伝説 スカイウォードソード HD』と『アクトレイザー・ルネサンス』も買ったけど、ほとんどできてない。ゲームのリメイクは懐かしさからついつい買ってしまうけど、FF7 Remake くらい劇的な変化がないと途中でモチベーションが下がってきてしまいますね。

天文宇宙検定

今年も天文宇宙検定の一級を受けたんですが残念ながら不合格でした。去年は参考書などを丁寧にやり込んで受験したんですが、今年は Q3 が特に忙しくてモチベーションが上がらず勉強が全くできませんでした。来年は忙しくなる前から勉強を始めて次こそ合格したいです。

クリアケース

電験三種

電磁気学の勉強をしたく、どうせなら実用的な検定試験も受けたいなと思い、2〜3月頃は電験三種の勉強をしていました。しかし結局忙しくて勉強が中途半端になってしまいました。ぜひ再開したいけどしばらく難しそう。

電験三種教科書・問題集

読書

今年読み終えた本。ジャンルにだいぶ偏りがあるので、来年はもっと幅広い分野の本を読めると良いな。

アニメ

アニメは心の栄養。今年は色々観れて良かった。来年はもっと観たい。

新作で観たアニメ:

  • Re:ゼロから始める異世界生活(Season 2 後半)
  • 進撃の巨人(The Final Season)
  • Dr.STONE(Season 2)
  • Vivy -Fluorite Eye’s Song-
  • 戦闘員、派遣します!
  • 86 -エイティシックス-
  • 聖女の魔力は万能です
  • 鬼滅の刃 無限列車編
  • 魔法科高校の優等生
  • 転生したらスライムだった件
  • 最果てのパラディン
  • 無職転生

旧作で観たアニメ:

  • Re:ゼロから始める異世界生活 氷結の絆
  • この素晴らしい世界に祝福を! 紅伝説
  • メイドインアビス 深き魂の黎明
  • ACCA 13 区監察課 Regards
  • 幼女戦記 閑話『砂漠のパスタ大作戦』
  • BLACK LAGOON
  • BLACK LAGOON Roberta’s Blood Trail
  • Ergo Proxy
  • 鬼滅の刃 立志編
  • シン・エヴァンゲリオン劇場版
  • 進撃の巨人 OAD イルゼの手帳 -ある調査兵団員の手記-

漫画

今年読んだ漫画。ベルセルク、完結まで読みたかった・・・

  • 王様ランキング
  • エリスの聖杯
  • 葬送のフリーレン
  • トリリオンゲーム
  • SOLEIL~ソレイユ~
  • 紛争でしたら八田まで
  • サマータイムレンダ
  • ベルセルク
  • 真の仲間じゃないと勇者のパーティーを追い出されたので、辺境でスローライフすることにしました

今年買ったもの

ゲーミング PC

子どもが Minecraft RTX をやりたがっていたので 13 年ぶりくらいに Windows マシンを買いました。子どもはあっという間にパソコンの使い方を覚えてしまい、今では mod やコマンドブロックを駆使してずっとマイクラをやっています。

ゲーミング PC

mod やリソースパックの自作をもっとやっていきたい。

長男、攻略本を読んだり YouTube 動画を観てコマンドを実装することはできるようになりましたが、それらで紹介されていないような複雑な仕組みを「インターネットで検索しながら実装する」ということがまだできないので、来年は自分の知りたいことを検索する方法について教えていきたいです(そして自分の負担を減らしたい・・・)

せっかく新しいマシンを買ったので INFINITAS もやってみようと思い立ったのが、上述のおうち beatmania IIDX 環境を整え始めたきっかけでした。

複合機

格安で買って8年以上使ったプリンタが寿命を迎えつつあったので新しいものを物色していたんですが、サイズや予算がちょうど良かった EPSON PX-M6711FT を買いました。子どものドリルやプリントのスキャン・コピーに使いたかったので A3 対応の複合機にしました。毎日大活躍していて買って本当に良かったです。

複合機

ルーター

詳しくは「自宅ルーターを ASUS ZenWiFi AX Mini (XD4) に替えた」に書きました。以前のルーターではビデオ会議の接続が不安定でしたが、ルーターを変えて安定しました。

ZenWiFi パッケージ

テレビ

我が家のテレビは 10 年くらい前に買った 42 型のものでそれに Chromecast を挿して使っていたんですが、家族から「YouTube や Amazon Prime Video をテレビでもっと手軽に観れるようにしたい」という要望がありました。どうせなら Google TV 内蔵で子どもがリモコン操作できるようにして画面も大きくしようと思って、4K 有機 EL 55 型の BRAVIA XRJ-55A90J を買いました。以前のものより圧倒的に映像が綺麗で迫力があるし、動作も軽快でとても満足しています。

BRAVIA

おわりに

2021 年は計画通りにいかないことが多く、心身の不調も多かった一年でしたが、それでも少しずつ前に進めている手応えを感じる年でもありました。2022 年もできることを日々一つずつ着実にこなし、家族みんなが健やかに暮らせるようがんばりたいです。