見出し画像

【ユニラボ】輪読会始めました!「良いコード/悪いコード」で学ぶ設計入門

アイミツ開発チームでエンジニアリングをしている deliku です!
直近は、爆速でプロダクト開発を推進しています。

さて、みなさんはスキルアップをするとき、どのように勉強をするでしょうか?趣味で好きな言語でいじったり、個人開発したり、技術書籍を読んだり、カンファレンスや勉強会に参加したり、業務でペアプロやペアワークをしていくなど様々な方法があるかと思います。

私の場合、課題を解決できる技術書籍を読み漁ることが多いですが、1人だと詰まったり、続かないケースもありますよね。

今回はユニラボで始まった輪読会について、実際にどんな感じでやっているか、第一回と第二回の様子を紹介したいと思います。

▶ 輪読会は突然始まった

とある日の部定例のアイスブレイク…

▶ 思いのほかみんなワクワクしていた!?

▶ 選ばれたのは 「良いコード/悪いコード」で学ぶ設計入門 でした

▶ 輪読会第一回

第一回は、輪読会の目的 / スタンス / 進め方についての認識を揃える目的で開催されました。何事においても最初の一歩が肝心です。まず始めることが大事だと思っています。

▶ 目的 / スタンス

・エンジニア組織の設計スキルUP!
・良い設計とは?悪い設計とは?の頭合わせをすることで、前提のコミュニケーションを減らしスムーズな会話ができるようにする
・No Silver Bullet!なので正解はない前提で正しくメリデメを判断できるようにする
・ゆるく続けて1冊 読み切る!

▶ 輪読会の進め方

集まってもくもくと読むスタイルもありますが、せっかくなら読んだ内容を互いに持ち寄りディスカッションするほうが気付きが多いのでは?ということで事前に読む方式を採用しています。

・事前に 何章を読んでくるかを決めて周知
・読んだことで感じたことを事前にNotionに書く
・1人ずつ発表してそれをベースにディスカッションする
・隔週開催

▶ 振り返り

ポジティブな意見が多く、第二回の開催に向けて良いスタートが切れたかなと思います。お酒が欲しいという意見が多いですね(わかります)

### この場が始まる前と比べて(気持ちなどの)変化はどのようなものですか?
 - 思ったより人数が多かった。(いい意味で)
 - 人多いので次の開催が楽しみ。
 - 素敵なとりくみ!
 - 人数多かったので楽しくできそうです。途中から参加でも既に議事録まとまってたので参加しやすかったです
 - Java見るのやだなは笑った
 - 割と参加人数多くて良い!いつかインフラの勉強会参考にします。
 - 気軽に参加できていいなーと思いました!忙しくて本読めない時もふらっと立ち寄れそう
 - みんなが前向きに参加していただけるのでやりやすい。感謝

### この場をもっと楽しく、効果的にできるかもしれないアイデアはありますか?

 - リラックスした場で有意義なディスカッションをしていきたいので、ラ フな感じでやりたい → レモンサワー飲みたい。
 - 事前に読んだことを忘れそうなので、読んだことを先に共有する先があると助かるなと思いました。
 - 時間をすこしずらしてお酒etc飲みながらできるようにしようかな
 - 範囲を読んでなくてもとりあえず参加することが大事とおもった
 - 業務後酒ほしいね!
 - お酒とお寿司
 - 感想などカンタンでも良いので書くだけ書いとくと議論が進むでは(前回の読書会からの記憶)

▶ 輪読会第二回

第一章と第二章を範囲として、各自の感想をNotionに書いて発表してみました。最初の章なので基本的なことが多いですが、基本が守られていないコードを見かけることもあります。アンチパターンを踏まないよう実践していきたいですね。

意図が伝わらない、意図を読み取り間違える変数名→認知負荷がかかる→生産性が落ちる→変更できない1章は総じて開発生産性を下げてしまう悪しき設計を悪魔的なコードと呼び紹介していた その悪魔的なコード = アンチパターンを具体で知っておくことで、実際に開発する際に良くない雰囲気を感じ取れて適切に声をあげられるようになるのが大切だと思った

技術駆動命名…命名の仕方に名前が付いているとは知らなかった
さまざまな悪魔を招きやすいデータクラス
関連するデータやロジックどうしが分散し、バラバラになっている=低凝集
低凝集かつ別のアンチパターンも踏んでいたら、どこから手をつけるのが良いのだろうか

重複コードや低凝縮が生まれるのは組織やチームの歪みの結果な気がしてました

「ユースケース目線での意図」でコードを意味のある単位でまとめることが大切1章の変数名の命名でも触れられていたが、技術駆動命名や連番命名のように技術的なまとまりだと、そこから仕様を紐解くのに時間がかかり認知不可があがり、結果として開発生産性を下げる話になってしまう

▶ 輪読会をやってみて

隔週開催なので読み終わるのはまだ先になりそうですが、毎週開催よりも余裕をもって読めるなという感覚があります。
また継続して輪読会を続けていくには、参加するメンバーのモチベーションも関係があると思いますので、参加して楽しい、なんなら事前に読んでなくてもみんなの発表を聞くだけでもOK、みんななにかしら得るものを持って帰ろう。というくらいの気持ちで開催していければ良いかなと思っています。

▶ 【PR】ユニラボ に興味がある方へ

今回の記事を読んでユニラボに興味を持っていただけた方は、まずはカジュアル面談でざっくりお話させていただければと思います!

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