社のブログにも書いたけどYAPC初参加でした。
本当によかった。良い体験すぎて、SRE NEXT Founderかつ毎年運営をやってきている僕としては少し嫉妬すらしている。
この記事では、僕がYAPCから持ち帰ったこと3つを書く。
YAPCから持ち帰ったこと3つ
1. 「型は集合の記述」と捉える価値がようやくわかった(気になれている)
伊藤直也さんのセッションをみた。今回は以下スライドの再演ということみたいだった。
実はこのスライドは公開された当時も見たのだけど、よく分からなかった。というのも、僕自身が関数型の言語をつかって実務でアプリケーションをばりばり書くことを経験していないためだと思う。
TypeScriptの本を片手に型の扱いを写経したこともあるけど、実際の開発現場でうまみが得られることへの解像度は低かった。
今回ようやく自分のメンタルモデルをアップデートするきっかけをつかめた気がした。とくに54スライド目前後の話が分かりやすく、型システムの表現力があることによって値の集合を厳密に記述できて堅牢なシステムをつくれることがイメージできた。
これまでの自分の理解だと「型があると堅牢なシステムをつくることができる」くらいの理解だったのが、「型の表現力が豊かであれば、さらに堅牢なシステム構築に役立てることができる」にアップデートされた。
「型を正確に記述することによって、本来不要なはずのテストコードを削ることができる」という話もすごく良かった。「型って色々と便利な一方で、なんだかんだ集団でメンテナンスコストかかって大変だよね」と僕なんかは思ってしまっていたんだけど、「値の集合を正確に表現できれば存在し得ない状態をテストする必要はないから不要な検証を減らせるし、当然システムも堅牢になる」というのは型を書く対価として魅力的だ。
このようにメリットの話がされる一方で「ぜんぶ今回のようなパラダイムに載せるといいわけでもないよ」「だからこそのオニオンアーキテクチャなんだよ」という話もスッとはいってきた。これまでバラバラの整理をしていたものがつながったように感じた。
伊藤直也さんの講演を最前列でガッと集中して聞くことで、ご本人のスライドを見るだけでは分からなかった部分がスッと入ってきたのは本当によかった。
2. 技術負債解消に取り組む際は誰かのリーダーシップがあるかに注目する
LayerX 松本さんのセッションの質疑応答での言及。
技術負債解消に関する質問に対し、以下のように回答されていたと記憶している。
- 技術負債解消に取り組むにあたっては、バチっとした基準、たとえば複雑度のような指標の計測結果 "だけ" では前に進めない。
- 技術負債解消には時間がかかるため、誰かがリーダーシップを発揮しようとしている意識が見えない限りは取り組むべきではない。
- 誰かの強い意思が見えれば、取り組むことを応援していく。
技術的負債解消は基準で区切ってやる以前に、リーダーシップや意思がまずあることが大前提。 #yapcjapan #yapc_i
— かつひささん (@katsuhisa__) 2024年2月10日
技術負債解消はみんながなんとなくやったほうが良いものと認識しはじめると、その気持ちを確かめるかのように何かしらの定量化を試みることはあるあるだと思う。
じゃあその定量結果だけをもとにみんなでなんとなく前進させようとすると、大抵よくないことが起きる。期間通りに終わらない、そもそも終えられるかの確信がずっと持てない、スコープ管理のオーナーシップが不明瞭になる、など。
こうした状態を避けるにあたっては、誰かがリーダーシップを持つ必要があるというのは「それはそう」なんだけど、実際には "みんながなんとなく思っているから" という理由で検討されがちだとも感じる。
この構造をシンプルにリーダーシップの問題だと捉えてらっしゃることが分かり、個人的にはすごく印象に残っているし、自分も今後そう認識しようと思った。
ブログを書いたところ、松本さんに補足コメントをいただきました。
技術負債は複雑度等の指標も大事だが事業のあり方・継続性とのズレがそれ以上に大事。そして大きな取り組みになるので完遂に向けてのリーダーシップ、意思無くして良い負債の返済はできない。という話をしました。まとめありがたい。 https://t.co/mPgFmNSw3a
— 松本 勇気 | LayerXはSaaS+Fintechの会社です (@y_matsuwitter) 2024年2月13日
3. アクセシビリティはHTMLを素直に使うことは大切だが、それだけでは担保できない
@nishimotzさんのセッション。
アクセシビリティに関するセッションだったのだけど、知らないことかたくさん知れた。まずNVDAというソフト(オープンソースのスクリーンリーダー)があることをはじめて知った。NVDAは視覚障害者の方たちに使ってもらうのはもちろんのこと、アクセシビリティの検証にも使っていって欲しいというのが日本語版の開発者でもある@nishimotzさんの考え。
じゃあNVDAをアクセシビリティの検証につかって何が嬉しいのかというと、HTMLを素直に使ったり、WAI-ARIAを使ったりするだけではアクセシビリティが満たせていることは担保できないからだそうだ。だから実際の動作を確認しようというメッセージだった。
今回のセッションでは、障害者差別解消法における合理的配慮の提供と、そのための環境整備の関係性にもあらためて解説があったが、自分たちができることを考え直したい。
以下の動画ではNVDAを活用したアクセシビリティチェックの流れについて紹介されているとのことで、今後見てみたいと思う。
その他感想
- 社のみんなと行けてよかった。なかなか普段だと深夜まで飲みながら技術談義をする機会も自然と生まれづらいが、久しぶりにそういう雰囲気になれた。
- そして3月から社に学生インターンとして加わるメンバーと現地で会えたのも非常に驚いたし良かった。写真をいっしょに撮り忘れて後悔している。
- 原爆ドームと平和記念資料館をそれぞれ見学した。広島のこのあたりにちゃんと来るのははじめてだったので。良い機会になった。
- お好み焼き美味しい。ラーメン美味しい。牡蠣美味しい。
- 久しぶりに会えた人たちと色々話すことで、新しいやりたいことが見えたのはカンファレンスパワーを感じた。
- その一方で、もっと色んな人と話せるとよかったなとも思った。時間には限りがある。
本当に関係者の皆さん、ありがとうございました!次回もまた参加したい!