見出し画像

エンジニアのためのスキルアップ勉強会_#1「妥協しないコードレビュー」 by株式会社ソニックガーデン

1. お礼

今回、ソニックガーデンさん主催のエンジニアのためのスキルアップ勉強会#1「妥協しないコードレビュー」に参加させていただきました。
開催いただきありがとうございます!
他社の複数人のエンジニアさんが一度に登壇されるLT会はあまりなく、ソニックガーデンさんの社風や文化が感じやすい勉強会でした。
言語化しにくいのですが、ソニックガーデンさんの雰囲気が好きです。
・アクティブラーニングが好きなひとが多いイメージ?
・他者に尊厳を持ってコミュニケーションするところ?
・僕が元講師業なので、若者向けにソニックガーデンキャンプやジムなど開催されているところ
が好きなんだと思います。
こういう売上に直結しないけど社会貢献になる(ボランティア要素も強い)活動は、裏側の人員も労力もとてもかかるし、いいなと思ってもなかなか真似できることではありません。
そんなところに憧れています。

2. 課題と振り返りを書くことにしたよ

僕自身、勉強会に参加したり本を読むこと自体は好きなんですが、
・実務にもっと活かしたい
・言語化するスキルをもっと伸ばしたい
・抽象化を得意にしたい、本質を見抜けるようになりたい
という課題を感じていました。

なので、今回から知識や気づきが右から左へ流れないように、理解を深める意味合いで記事を書くことにしました。

読者のみなさまにも、
🙋‍♂️「こんな会社が勉強会してくれているよ!こんな良い本あるよ!」
と良いものを共有したい意味合いもあります。

しかし、対自身が、
🤔「どう成長していけばいいんや?」
という思考整理の文章も含まれています。

悪しからずご了承ください。書く内容・方向性も、随時改善していきます。

3. 自分の感じていた課題

まず自分自身がエンジニア転職に成功して、今2ヶ月目ですが、
・コードを読む・書くことには苦手意識が強い
・コードレビュー怖い
・その中で早く成長するための要点をつかみたい
・先輩の手間を減らしたい
・ソニックガーデンさんのいうことなら間違いないだろう
という考えから、今回の勉強会に参加させていただきました。

4. 登壇者の発言から学んだこと

  1. レビューしてもらった真意、本質を理解するのが大事

    • 始めはペアプロやZOOMでレビューしてもらうと理解しやすい

  2. レビューの経験を積ませてもらうと勉強になる

    • 新人もレビュワーに回る貢献できる

    • 全コードは読めないので、1行のコードで完結するレビューチェックをするといい('と"統一されているか、シンプルな命名かなど、基礎的なチェック項目)

    • 慣れてきたら複数行にわたるレビュー

  3. 個人開発すると、設計やメンテナンスの重要性が学べる

  4. 新人も「ここのコードわかりづらい」と伝えるだけで、読みやすい良いコードが生まれる貢献をできるかも

  5. 他の人のレビューを見ることも学びになる

    • 同期や後輩のレビューを見る、レビューの練習をしあうのも良い

  6. レビューされるのを好きになろう!

    • レビュワーも忙しくて冷たく感じるかもだが攻撃したいわけじゃない

    • レビューやコメントがない方が怖い

    • 良いプロダクトを作るための協力作業

  7. レビュイーにできること

    • 凡ミスをなくす、セルフレビューする

    • レビューされた意味を理解して応用する

    • コメントの意味がわからなければ質問する

  8. 『リーダブルコード』と『コードレビューで学ぶ Ruby on Rails』を合わせて読んでみると理解が深まる

5. 感想、取り入れること

さすが同じ会社で信念・教育が行き届いているのか、みんな共通した理念の基、働いているんだなぁと感じ取れる発表でした。
・基礎が大事
・始めは量が大事、次第に質になる
これは誰かが言っていたわけではなくて、自身がLTを通じて感じたことです。

自身がこれからやっていこうと決めたことは、
・Paiza解く (1日1問)
・他スタッフのレビューを見る (1日1つ)
・新人がよくやりそうな気をつけてほしいことを聞いて、チェックリストを作っておく
・セルフレビューを必ずする
・レビューでわからないことがあれば、10分考えてみる。意図が合っているか質問する
・『リーダブルコード』と『コードレビューで学ぶ Ruby on Rails』を合わせて読む
です!

近々?いつかやりたいと思っていること
・個人開発(年末年始)
ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜(未定)

以上で、今回の課題・思考整理のための記事は終わりになります。
お付き合いくださりありがとうございました!
読んでくださったみなさまを陰ながら応援しています!


6. 書き殴りのメモ

「レビュアーとして成長するには」@橋本 遼太さん

  1. 技術書を読む

    1. 1年後に読み直して、腑に落ちることはよくある

    2. ちょっと背伸びするくらいの技術書がちょうどいい?

  2. レビューを受ける

    1. レビューの意味、本質を理解する

      1. Zoomとかでペアプロお願いすると理解しやすい

  3. レビューの経験を積ませてもらう

    1. コードを全文読む必要はない

      1. 1行でレビューが完結するチェックからやらせてもらう

      2. 慣れてきたら複数行のレビュー

    2. 個人開発で設計・メンテナンスの経験を積む

    3. ここがわかりにくいコードを伝える

      1. いいコードとは分かりやすいコード

      2. ここが分かりにくいと伝えるだけでも貢献になる

「ソニックガーデンジムに参加してコードに対する向き合い方が変わった話」@登川 仁至さん

  1. 小さく切り分けで、コミットする

    • レビューしやすいように工夫する

  2. レビューでAがいいのでは?と言われたら、意味を理解してから実装する

  3. 他人のレビューを見てみる

    • 同じ指摘をされていたり、違う指摘をされていたりする

    • その意味・本質を理解する

  4. レビューされるのを好きになろう

    • レビューない方が怖い

    • たくさんコメントついてもOK!

    • 結果、いいプロダクトを作れる

  5. いいコード

    • 命名規則が統一されている

    • シンプルなコード

    • 意味のあるコメント

「コードレビューを受ける新人の心構えと準備」@遠藤 光敏さん

  1. いいコードレビューをもらうために、レビュイーもできることがある

    • レビューは採点ではない

    • レビュワーと一緒に成長していくもの

  2. 同じレビューをされない

    • 1回で凡ミスをなくせば、レビュワーの負担を減らせる

    • セルフレビューで防ごう

  3. 自分以外のレビューを見る

    • 同期・後輩のレビューを見る、お互いに練習する

    • 同じレベル感だと練習になる

  4. コメントが単調でも気にしない

    • 忙しい

    • 攻撃したいわけではない

  5. レビューを受けたらなぜかを考える

    • 抽象度を上げて応用できるようにする

「妥協できないソニックガーデンのコードレビュー」@田中 義人さん

  1. 妥協しないコードレビューとは?

    • 妥協しない人による、最高のコードを求める行動

いいなと思ったら応援しよう!