こんにちは、食欲の秋ですね。ご飯が美味しい季節なので冬に向けて食べ込んでいきたいと思っている今日この頃です。
ということで、先日オンラインではありますが初めてKaigi on Rails 2023に参加したので、エンジニア1年生の今の自分が感じたことをここに記録しようと思います。
はじめに
時間の制約もあって、自分が視聴したのは2日目のセッションだけになります。その中で事前に調べたり紹介頂いて視聴したセッション3つに絞って書かせて頂きます。尚、この記事は個人の所感ですので、正しくはリンクの資料などをご確認ください。また、純粋に感じたことを表現したいので生成AIは使わずに自分の言葉で書いていますので、表現のおかしい箇所が多々あるかもしれませんが、ご了承ください。
目次
- はじめに
- 目次
- 視聴したセッション
- いきなり感想
- 管理機能アーキテクチャパターンの考察と実践
- ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜
- コードカバレッジ計測ツールを導入したらテストを書くのが楽しくなった話
- まとめ
視聴したセッション
視聴したのはこちらのセッションになります。
10/28(土)
- 13:30 〜 14:00 (Room B)
- 15:05 〜 15:35 (Room A)
- 16:10 〜 16:25 (Room A)
いきなり感想
語彙力崩壊してますが、結論どのセッションも最高でした。何が最高だったのか、それぞれのセッションごとに分けて書かせていただきます。
管理機能アーキテクチャパターンの考察と実践
第一印象
Ohbaさんは今年で3回連続3回目の登壇ということで、どんなお話しをされるんだろうと気になっていました。実際にセッションが始まって早々に感じたことは、言葉のチョイスと身振り手振りがとてもお上手でコミュニケーションスキルの高いエンジニアさんというのが第一印象でした。
当時の心境
aki on X: "話がとても上手くて聞き入ってしまう。 #kaigionrails #kaigionrailsB https://t.co/GSSOrQRwo7" / X
管理機能開発は「後追いでつくられがち」
自分が開発に携わっているサービスは歴史も長く、自分がジョインした時には全てを把握できないぐらい管理機能は豊富でしたので、「後追いで実装されがち」という実態を知れたこと自体が大きな収穫でした。
自分達で正解を作っていく
既存のシステムに新たに管理機能を実装していくことになった際に、アーキテクチャはモノリシックなのか、PDS順守なのか、モバイルだけに対応しているのか、Webに対応しているのか、はたまた両方対応しているのか、といったサービスごとに異なる独自のアーキテクチャになっている。 そういった様々なアーキテクチャごとの特性、ドメインを把握してトレードオフを明かにしながら、それぞれの正解を考えていくというプロセスを今回見せて頂いたのではないかと感じています。
まとめ
「正解は1つでは無い。むしろ自分達が正解を作るんだという気持ち」というような表現をされていたのが印象的で、エンジニアとしての考え方みたいなものを学ばせて頂いた最高のセッションでした。
ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜
第一印象
あんすとさんという方が司会進行されていたのですが、非常に表現力豊かで芸人さんなのでは?と思うぐらい画面の前で終始笑いながら視聴させて頂きました。スライドのイラストも最高なので、個人的には殿堂入りしてほしいセッションです。
ほぼ全部ペアプロ開発
私は今の職場で初めてエンジニアになったのですが、正直ペア / モブプロをしたことがなくて、もしペアプロが必要と思えば自分から声を上げて適宜お願いするというのが今の環境かなと思っています。Tebikiさんの場合は組織的に開発はペア / モブプロというように方針として行なっている点が今の自分には新鮮で、どのように行なっているのか見るだけではくて、ライブコーディングの際に自分もタイピストになった気で視聴しようと思いました。
当時の心境
ペア / モブプロの概要
- 役割はドライバーではなくタイピストとナビと考えると良い
- 機能・要件の確認
- 全員で機能の説明を読み合わせる
- 全員で何故この機能が必要なのか認識を揃える
- 機能の必要性や問題、課題がないかディスカッションする
- 実装に入る前に実際の画面を見ながら完成形のイメージを共有
- 作業開始
まとめ
ソロプロ ツラかったランキング第1位の終わらないレビューは、今の自分がレビューできていない現実を考えると本当にそうだなと改めて実感しました。大事なことは実装の当事者になるというマインドが大事かなと今回のセッションを通じて学びましたので、ソロプロで実装を行う際はその点を意識してみようと思いました。自分の視野が大きく変わった最高のセッションでした。
コードカバレッジ計測ツールを導入したらテストを書くのが楽しくなった話
なぜこのセッションを視聴しようと思ったか
カバレッジ計測については、個人的なメンターから教えて頂いていて存在は知っていたのですが、実務でカバレッジを計測して自分のテストがどれぐらい網羅されているのか定量的に把握していなかったので、この機会に具体的にどうやって計測されているのか知りたいと考えていました。
個人メモ
- コードカバレッジとはソースコードがテストされた割合のことで、テストの品質を保つための指標として使う
- テストお願いします!と言われてもどこまでやんの?となるのでカバレッジを用いることで、例えば80%以上お願いします!という定量目標が定まる
- カバレッジ計測:SimpleCov
- GitHub Actionsに導入して自動で計測
- GitHub PagesにSimple Covの画面が表示されるようにした
- テストの優先度決定にもカバレッジが使える
当時の心境
まとめ
実際に個人開発でSimpleCovを導入してみて、実態を自分でも把握してから実務でも導入できそうか考えてみようと思いました。開発者体験が向上しそうだなとワクワクさせて頂けた最高のセッションでした。
まとめ
今回、オフラインで参加することが出来なくて会場の雰囲気を全身で感じれなかったことが残念でしたが、オンラインの良さとしてRoom A / B と2会場の様子を伺いながら落ち着いて視聴に集中できたのは良い点だったかなと思います。 また、Xでリアルタイムに発信したことで、登壇者の方と次回、オフラインイベントでお会いできるアポが取れたり充実した1日を過ごすことができました。
Kaigi on Rails 2023の運営に携わった全ての方へ感謝申し上げます。 本当にありがとうございました。
最後までお読み頂きありがとうございました。