2024年の振り返り
仕事
これまでと変わらずユビーでプロダクト開発エンジニアとして働いています。ただ、稼働時間を大きく減らしました。
自分はユビー株式会社の正社員ですが、筑波大学に在学していて2回留年しています[1]。筑波大学の学群(他の大学でいう学部に相当する)の最学年限は6年なので、2024年は私にとって筑波大学に在学できる最後の年ということになります。
自分と親しい人たちからしたら意外かもしれませんが、自分は入学した当初から今に至るまで、大学を卒業したいという強いモチベーションを持っています。しかし、いくつかの理由から2度留年してしまいました。
まず、単純に勉強の経験値が少なく[2]、そもそも向いていないこと。次に、大学の勉強よりも興味があることをいくつか見つけてしまったこと。最後に、要領が悪く、興味があることと並行して大学生活を行うのが困難であったこと。
これらの理由が重なり、大学の勉強に時間を割くことをしませんでした。
このままでは大学を卒業できません。これは困るので、会社にお願いして2024年4月から2025年2月まで稼働時間を減らさせてもらうことにしました。
また、意図的に会社の情報をあまり取らないようにしていました。ユビーでの仕事というのは自分の興味の対象なので、興味に従って情報を摂取してしまうと学業に影響が出ると判断したからです。
そんな中でも、小さなものですがプロジェクトを一つリードさせてもらっています。症状検索アプリ ユビー と ユビー 病気のQ&A という2つのプロダクトをまたがるフロントエンド周りの技術的な課題を解決するプロジェクトです。不確実性はあまりないのですが作業量が多く、業務委託で手伝ってくれているメンバーと力を合わせてやっています。技術的には、Next.jsをTypeScriptでガリガリと書いています。
2025年は、このプロジェクトをやり切るところから始めることになります。
また、去年まではプロダクト開発に専念していたのですが、Node.js、TypeScript、Reactあたりの技術に関しては社内では相対的に詳しい方なので、来年以降はそのへんの技術課題に対処していく遊撃隊的な立ち回りもありなのかなーなどと考えています。
学業
前述のとおり会社の稼働時間を大きく減らしたため、学業に大きな時間を割くことができました。
筑波大学は2学期制で、前半が春学期、後半が秋学期と呼ばれています。
春学期には微分積分Bという科目が開講されています。自分が所属する情報科学類ではこの科目は必修で、避けて通ることはできません。この科目は本来二年生のときに修得するものなのですが、私はずっと単位を落とし続けていたので、今年修得しなくてはいけませんでした。
微分積分Bの期末テスト前の二週間は、仕事を含め全くコードを書かずにフルタイムで微分積分の勉強に取り組みました。後輩の協力も借りながら必死に勉強した結果、なんとかC評価[3]を取ることができました。この時点で卒業に王手をかけたようなものだと思っています。
春学期に頑張った結果、秋学期にはほとんど授業はなく卒業研究に集中できる状況を作ることができました[4]。卒業研究ではガベージコレクション周りのことをやっています。この年末年始は卒論の進捗を出し、年明けに指導教員にレビューをもらい、1月中に仕上げるというようなスケジュール感で進めています。
普通の卒論なので技術的にはそんなに面白くないと思います。なのでここには詳細は書きません。実際に会ったときにでも聞いてください。
ということで、来年こそは卒業できそうです。応援よろしくお願いします。
OSS
WebKit(JavaScriptCore)
自分はJavaScriptが大好きです。なので、昔からずっと「いつかJavaScriptを作る側になりたいな」と考えていました。2024年のはじめ頃に「どうしたらJavaScriptを作る側になれるかなあ」とちょっと真剣に考えていたところ「JavaScriptを作る側に回ればいいんだ!」というあたり前のことに気が付きました。
なので、今年は多くの時間をWebKit(JavaScriptCore)への貢献に費やしました。詳細は別のブログを書いたので、気になる方は WebKit(JavaScriptCore)に100個のPull Requestがマージされた をご覧ください。
本当にめちゃくちゃ時間を使ってしまい、生活習慣が完全に壊れたり、仕事や学業に支障が出たりしました。普通に全然良くなかったと思っています。このへんをうまく制御する方法をそろそろ身につけたいと思っています。
とは言っても、最先端のJavaScriptエンジンの一つであるJavaScriptCoreに対してそれなりに貢献できたというのは自信に繋がりました。
Prettier
Prettierのメンテナーは自分を含めて二人しかいないので、今年もメンテナンスを続けていました。
今年はなんと3回しかマイナーリリースしていません。これは、僕がWebKit(JavaScriptCore)に時間をめちゃくちゃ使いながら仕事をしたり勉強をしたりしていたからです。ごめんなさい。来年はもう少し頻繁にリリースします。
ちなみに「Biomeに負けないように」とかは特に考えていなくて、みなさんが期待するPrettierのクォリティを維持できれば良いと思っています。
登壇
今年は以下のイベントで登壇させていただきました。CFPで通ったのが3つ、招待していただいたのが3つでした。
- OSS Drink Up - OSSでの貢献と収入を得るリアル
- TSKaigi 2024
- Web Developer Conference 2024
- Vue Fes Japan 2024
- さくらじまハウス
- JSConf JP 2024
OSS Drink Up は福岡のエンジニアリングカフェで開催されたイベントです。発表内容は、自分がどうやってエンジニアとしてのキャリアをはじめて、OSSに出会って、どんな感じで向き合っているかという感じでした。完全に自分語りだったので、まあ誰かのためになっていたら嬉しいなという感じです。@pirosikickや@petamorikenといった東京ではあんまり会えない知り合いに会えたのも楽しかったです。
TSKaigi 2024はTypeScriptのカンファレンスです。TypeScriptのカンファレンスなのですが、PrettierとBiomeについて話してTypeScriptについては全く話しませんでした[5]。反省として、スライドを作らなさすぎました。発表内容には割と自信があって、反響もそれなりにあったので良かったのですが、発表内容を詰めるのに時間を使いすぎてスライドを全然作ることができませんでした。発表するにあたって困ることはありませんでしたが、ちょっと恥ずかしいのでスライドはある程度作っておくと良いです。
Web Developer Conference 2024は、Web開発に関する話ならなんでもして良いカンファレンスです。主催者の人が「Webの話をしたいが、する場所がない」というモチベーションで開催したらしいです。ということで、自分もいわゆる普通のWeb開発の話ではなく、Web自体の開発の話をしようと思ってtest262の運用の話をしました[6]。
Vue Fes Japan 2024は、Vueに関するカンファレンスです。「次世代フロントエンドクロストーク」というイベントで話をさせてもらいました。感想を別のブログ記事として書いたので興味のある方は VueFes Japan 2024の「次世代フロントエンドクロストーク」の感想ともっと聞きたかったこと をご覧ください。
さくらじまハウスは鹿児島で開催されたイベントです。ITに関することなら何でも対象っぽいです。自分は「OSSコミッターの生態」というパネルディスカッションに登壇しました。自分にとって、OSSは煩悩でやってしまうものであり、そんなに褒められた行いではないと思っているので、そういうニュアンスの話をしてしまったのですが、一緒に登壇してくれたGANGANさんがOSSの良い面の話をしてくれて、セッション全体としては良いものになっていたのではないかと思います。あと後述しますが鹿児島めっちゃ良かったです、また行きたい。
JSConf JP 2024はJavaScriptのカンファレンスです。実は2021年から4年連続で登壇させてもらっています。今回はJavaScriptのイテレータについて話しました[7]。JSConfはホーム感があるのであんまり発表自体はあんまり緊張しないのですが、自分が登壇者控室でぼーっとしていたら発表の時間になっているのに気が付かずt_wadaさんが控室まで自分を探しにきてくれるという出来事があり、これが一番焦りました。
旅行
自分は割とずっと引きこもってしまうタイプなのですが、今年はできる限り旅行にいくようにしました。今年は、広島、福岡、鴨川(千葉)、鹿児島にいきました。
実は、広島はYAPC、福岡はOSS Drink Up、鹿児島はさくらじまハウスという感じで、それぞれカンファレンスのついでで観光しただけなのですが[8]、それでも自分にしてはとても立派だったと思います。
特に鹿児島がめっちゃ良かったです。さくらじまハウスの運営の人たちがオススメのお店を教えてくれて、とても楽しむことができました。また行きます。
まとめ
楽しい一年でした。
たまに社会人ドクターだと勘違いされるのですが、実際にはただの留年してるポンコツB4です ↩︎
筑波大学にはAC入試という受験制度があり、本当に全く一切のペーパーテストなしに入学できます。そのため自分は数学Bと数学Ⅲを履修せずに筑波大学情報学群に入学しました ↩︎
落単ギリギリ。人によっては落ち込むような評価だと思います ↩︎
最後に残ったのは「大学と学問」という科目。これは本来一年生が受講するチュートリアル的な科目です。したがって、18歳のフレッシュな学生に囲まれる髭面の23歳という構図が生まれていて、ちょっと面白いなと思っています ↩︎
スライドはありませんが、スピーカーノートを公開しています https://zenn.dev/sosukesuzuki/articles/756e04848885bd ↩︎
スライドは https://docs.google.com/presentation/d/1jGIYGRoyNxTO8P6thtp_u1NPv3RD_xyuRaTph9icpyM/edit?usp=sharing にあります ↩︎
スライドは https://speakerdeck.com/sosukesuzuki/iteretatoiteraburunogai-yao-toke-ti-wei-lai にあります ↩︎
招待されていくカンファレンスだと渡航費が浮いてありがたいという都合もありますね ↩︎