人生初のプロジェクトアサインの際に、やってみたことが続けてきて業務の中でも活きていると思ったので、書いてみました。
自己紹介
- 21/5 ~ 別業種・別職種からエンジニアに転職
- 21/8 ~ 研修を経て、初プロジェクトにアサイン
- 現在はPHP(Laravel)で、新規プロジェクト内の新機能追加実装中
- 最近JS(Vue.js)のタスクにアサインし始めました。
背景
- 21/8 ~ 人生初アサイン
- 苦戦しながらなんとか開発を進める
- 会社として初のLaravelプロジェクトなので、サンプルコードもない…
- LaravelAdminという少しクセのあるライブラリを使い、慣れるまではそのクセに苦戦…
- 自分と同時期に入社した同期はいるが、2名とも実務未経験
気づいたこと
- 普段のコミュニケーションの中でレビュワーから
「指摘事項が同期の3名の中で重複しているんだよねえ」
と聞いていた
- マジリクのコメントを見ても確かに重複が多い…
「そもそも自分らの実力不足で開発に遅れが出ているのに、これはまずい…」
- 全体の開発から見て非常にムダな工数
⇒何かできることを模索
対応策
提案
「レビュー内容共有の仕組み化ができればいいなあ」
と思う中転職活動前に自ら勉強会を主催し、その場でLTなどを開くことでプログラミング初学者同士の知識の共有に活きていたのを思い出した。
「ありかもしれない」
と思い、提案した結果やってみることに。
内容
- 勉強会の内容はざっくりこんな感じ
<勉強会>
-
週一で終業後に同期のみで実施
-
1回の勉強会で1つのマージリクエスト(※)を決める
- ※タスクの中で出したGitlabのマージリクエスト
-
そのMR内のコード、コードに対するレビュワーの指摘を勉強会までに読込み、改善点、気づきを共有
結果
- よく出てきた学びは
- 知らなかった関数のインプット
- 初めて見るアルゴリズムの実装
- タスク着手前の設計フェーズでやること
- 命名で気を付ける点
など駆け出しエンジニアにとってつまづきやすい点が題材に上がりました。
効果は…
効果としては以下が見られました。
全体で見えた効果
- 各々の知識量が増えた
- 同期同士のコミュニケーションが取れる(フルリモートのため、時間を意識的に確保しないと関係が薄くなってしまう)
- 日々のタスクの気づきの共有すべき点を共有するようになる
- レビュワーの共有事項の工数削減
個人で感じた効果
- ソースコードの理解力が早くなった
- 自分自身ソースコードを読む抵抗感が無くなり、コードリーディングの習慣が付いた
- アウトプットの習慣がついた
結論
とにかくやってよかったな、という感じです。
今後は3名の関わるプロジェクトが異なった際に、使う言語に差が出てき始めるので、どのように開催するか要検討です。
まあ、でも各々が持ち寄った知見を共有する形で、日々の備忘録を共有するだけでも学びになりそうですね。
最後に
同じように知識の共有が課題に感じている方、普段の勉強に飽きてきた方いらっしゃれば、勉強会の開催も一つの手段のひとつです。
特に僕のケースのように
- 複数人の同期
- 皆、実務経験がない(もしくは浅い)
- 同じ言語を扱うプロジェクトにアサインしている
という状況であればかなり効果はあると思います。
読みにくい記事ではありますが、最後までお読みいただきありがとうございました!