この記事はヤプリ Advent Calendar 2024 の6日目の記事です!
こんにちは。フロントエンドエンジニアの武井です。
前回こちらでブログを書いてからずいぶんと間が空いてしまいましたが、アドベントカレンダーをやろうということで重い腰をあげてみました。
ブログも書かずに潜行しているうちにアラフィフを迎えてしまい。シニアエンジニアというかシニアになってしまいました。
革新的な技術のめまぐるしいフロントエンド界隈を定年まで生き抜くために、若手が企画する勉強会に参加してみました。
「おじいちゃん。もうjQueryなんて使ってないのよ?」
フロントエンド勉強会
以前、弊社フロントエンドチームの文部科学大臣の平川がこちらのブログでフロントエンドチームの勉強会を始めたという記事を書きましたが、現在第4回まで勉強会は続いています。すごい!
(フロントエンドチームの大臣制度についてはこちらの記事を参照して下さい)
内容は「モダンフロントエンドテスト」について2回。「関数型プログラミング」について2回行われています。
モダンフロントエンドテスト勉強会
文部科学大臣の平川による講義です。
冒頭ChatGPTへの問合せから入る今時のキャッチーな講義で、受講者の興味をそそる感じで考えられているなあと感じました。
受講者のレベルとしては、普段からよくテストを書いている人からテストはあまり・・という感じの人まで幅広かったのですが、「モックって何ですか」というような初歩的な質問にも丁寧に回答して好印象でした。冷たくあしらわれるとその後萎縮して質問しづらくなってしまうのでこういうの大事だなあと思いました。
簡単な関数のユニットテストをライブコーディングしたりしながらワイワイすすめました。
少し間があいて第2回です。モックの使い方についての講義です。
弊社のシステムはかなりモジュールを組み込んでいるので、モックを使いこなせないと適切なコンポーネントテストが書けなくて詰みますのでかなり重要です。昔に作成した古いコードはテストが足りなかったりするので、この講義を聞いてちょっと書いてみようという気になりました。
第2回は講義の後にモックについての抜き打ちテストが課されたので受講者一同阿鼻叫喚でした。
抜き打ちテストの成果はさておき、テストはサンプル用のリポジトリを使って実際に動作環境が各人にあてがわれてコーディング結果を動く状態で提出するというものでした。自分にとってはこれも斬新でした。
大昔のスタートアップにある様な、いきなり本番サーバーにコードをリリースする山賊的なプログラミングは現代社会では許されません。きちんとテストを書き、テストを通し、信頼性のあるコードをサービスとして提供する必要があります。こういった勉強会でテストの意識を根付かせて、全体を底上げするのは重要だなあと思いました。
関数型プログラミング勉強会
文部科学大臣の青木による講義です。(文部化科学大臣2名体制)
自分が若かりし頃にサーバー開発をやっていた頃はJavaでオブジェクト指向全盛期の時代だったので、まったく別の考え方ということで刺激的な内容でした。このへんは普段使用する開発言語によってもスタイルがかわってくるのですが、フロントエンドチームで主に使用しているTypeScriptではオブジェクト型にも関数型にも寄せられるので今後の応用が利きそうです。
関数型プログラミングと聞いてなんとなくあんな感じでしょ?とおぼろげに認識していたものが、この講義を受けることによって解像度がかなり上がった気がします。
講義としては関数型プログラミングの普及というより、純粋関数と副作用の意識付けが目的のようでした。
受講前は関数を繋げていけば関数型プログラムだ!と思っていたのですが、関数の副作用を意識したり関数の責務を明確にしたりと関数型プログラミングとしての作法があるのだなあと学びを得ました。
第2回も関数型プログラミングについてさらに深掘りする内容です。
関数型プログラミングに興味がある人にとってはかなり有意義な内容だったのではないでしょうか。ちょっと自分にはむずかしかったのでまたそのうち再チャレンジしたいと思います! カリー化ね!
勉強会に参加してみて
用意されたスライドの枚数や最後のテストの内容など準備はかなりたいへんなんだろうと思います。
通常業務が忙しい中ありがとうございました。
今後は文部科学大臣以外の講義も企画されいるそうなので楽しみです。
タイトルの「シニアエンジニアが若手エンジニアが企画した勉強会に参加してみた」についてですが、新しい知識を仕入れていかないとあっという間に老害化してしまうと思っているので、若手がモダンな技術を積極的に発信してくれるのはうれしいかぎりです。
自分だけかも知れませんが開発歴が長くなったせいか手癖でなんとなく書けてしまうので、こういう機会をきっかけに自分を見直してよいコードを書けるように気をつけたいと思います。