見出し画像

t-wadaさんが後世に残したい実録レガシーコード改善の再放送に参加したらchat欄にt-wadaさんがいて最高の体験だった #技術的負債_findy

人気すぎて参加できなかった勉強会

去る1/15、本来であればこの日に「t-wadaさんが後世に残したい、実録レガシーコード改善」に参加するはずだった私は、PCの前で途方に暮れていました。connpassにログインできなかったのです。

SNSを覗くと、同じように「ログインできない!」という嘆きが多数、観測されました。2,000人を超える参加者が殺到したため、connpassが耐えきれなかったのかもしれません。
主催のFindyさんがYoutubeでも配信するなど救済措置を講じてくれましたが、早々にあきらめてしまった私は結局、この日の講演に参加することは叶いませんでした。

ところが数日後、X上でt_wadaさんから嬉しいサプライズが報告されました。

今度こそは参加するぞ!と息巻いていると、さらに・・・

なんと再放送当日、t_wadaさんがチャット欄に参加するとのこと!再放送してもらえるだけでありがたいのですが、この投稿で俄然テンションが上がっていきました。

再放送当日

今日はログイン失敗しないぞ!

いよいよイベント当日。前回の反省を活かし、イベント開始10分前からログインを試行。成功!無事にZoomに接続し、この時点で勝利は約束されました。

生々しいレガシーコード改善

今回の講演で取り扱われるソースコードは、なんと実際のコードとのことでした。(データなどは架空のものを使用)
スマートスピーカーの案件、おおもとのコードは研究者が書いたもの、などリアルな前提条件が開示されていたため、なぜコードがそうなっているかなどイメージがしやすかったです。E2Eテストのやり辛さなどはスマートスピーカーに関わったことのある方は「あるある・・・」となったのではないでしょうか。

ソフトウェア開発の3本柱であるバージョン管理、テスト、自動化が全てない世界。まず何から手を付けるべきか?に対してのt_wadaさんの答えはバージョン管理(次いで自動化、テスト)でしたが、これは確かにそのとおりだと思いました。
というかバージョン管理してないコードを触るのは怖すぎるな、そんなコードあるのか?などと考えていましたが、チャット欄で「LambdaでHello worldからだんだん拡張していくようなアプローチだったのかな。わからんでもない」というコメントがあり、なるほどと思いました。こういった自分の常識ではなぜそうしたかわからないものに対しても示唆が得られるのが、勉強会のよいところです。

ランダム性があるためまずそこを薄く切り出す(Humble Object Pattern)、テスト保護しながら機能追加していく。
けれどもそれだけでは品質は上がらない。咳さんの言葉を引用しながら実際のコードで示される「テスト保護されているけど品質が低下したコード」は身に覚えがありすぎて胃が痛くなってきました。

最終的にはモデルを分離したりしながらキレイなコードになっていったわけですが、その過程の思考について触れることができるというのはなかなかない経験でした。

臨場感のある再放送

画面上でt_wadaさんが喋っているのに、チャットでもt_wadaさんが投稿しているという不思議体験。参加者が発するなにげないコメントや疑問に対してt_wadaさんがどんどんリアクションしていて、再放送ならではの付加価値が生まれていました。

資料単独で読んでも良い

というわけで、無事に再放送に参加することができ、大変学びになる時間を過ごすことができました。
t_wadaさんの資料は資料単独で読んでも大変勉強になるので、「見逃した!」という方はぜひこちらだけでも御覧ください。

再放送を企画してくださったFindyの皆様、当日チャットに参加してくださったt_wadaさん、本当にありがとうございました!

この記事が気に入ったらサポートをしてみませんか?