- 投稿日:2019-02-15T11:46:27+09:00
ペアプロを受けたことがない新人は人生を少し損している(かも). -実践編
はじめに
初めてペアプログラミングをメンターにしてもらい,大変勉強になったのでそのまとめです.
以前からペアプログラミングには興味があったが,機会がなく..
そうして月日が流れ3カ月が過ぎました.が今回機会があり試すことになりました.これらの記事が興味を持つきっかけでした.(重複した内容を今回書くけど,自分の経験したメモなので.)
新人エンジニアの私が圧倒的成長するためにやっていること
ペアプログラミングして気がついた新人プログラマの成長を加速する3つの習慣Who am i
新人プログラマ応援タグをつけた自分は社会人4年目となります. (大学院も行ったので+2年)
入社して3年半(半年は研修みたいなもの)は,FileMakerというノーコーディングなプラットフォームでコンサル-開発-導入と幅広く仕事をしました.ノーコーディングと言っても,javascript,phpなども書くことができるのでコーディングしたことないという訳ではないです.
去年の10月からweb系の部署に移動となりました.いきなり既存システムをvueで書き換えるという業務をメンター含むメンバで対応したことにより,簡単なものなら(Firebaseあれば)作れるかなぁというのが現状になります.ペアプログラミング
参考パスを参照でお願いします.wikiを見ると開発とテストについて書かれているけど,
今回は自分で分からない(動かない)ところを一緒に自分が操作,メンターが質問をする形式で問題を解決するという感じです.経緯
アプリケーションのバージョンアップでグラフィックライブラリを軽量なものに変更することになり調査を行い.それぞれのライブラリでやりたいことはできるところまでは確認したが, vue-typescriptの構成で書くとエラー出ないけど..グラフも出るけど,オプションがでない..
ここで折角なので,ペアプログラミングをお願いすることにしました.(ちなみにメンターは15年目?くらいのシニアエンジニアだけど,理学修士でそっち系の話はあいます.)事前にやったこと
- 公式docを読む
- GitHubを読む
- 参考にしたものはまとめておく.
ここまでやるとGitHub上でのissueから昔のバージョンではできなかったのかぁー
そういう要望で変わっていったのかぁー,という豆知識までつきました.
ここまでやらなくても,調べて分かることは網羅してまとめておけばいいかと思います.(その判断も難しいですが.)ペアプロで学んだこと
最初は,今までの経緯,やったこと,ソースを全て説明しました.(メンターはグラフの部分は全くノータッチなので)
その後,ドキュメントやソースを見ながら進めました.ナドナドやるうちにゴールしましたが,時間は1時間程度でした.point1.ライブラリのソースを見る
ライブラリというと,なんか難しいことをやっているんだろうなぁ..
見ても分からないだろうなぁ..
ということで見たことなかったけど,ソースを見るのが手っ取り早いと感じました.point2.細かいところまで徹底して調べる
全く今まで気にしたことがないところまでよく見ていました.
extendという機能がある場合はこれはjavascriptなのか,vueなのか,ライブラリなのか分からないことは調べ尽くす.point3.問題の細分化
当たり前ですが,結果できるできないだけでなくここまではできる.という分割がかなり細かいものでした.
TypeScriptで無理ならJavaScriptで書いてみる.なども行い徹底してました.まとめ
コードレビューを受けたことはありましたが,〇〇したほうがいいという断片的な知識で止まることは多かったです.
今回で特に調べかたの知識が深まったと思います.また,事前調査もメンターに伝えるために念入りになるため知識がつきます.お客さん(知らない人)に分かるように伝えるために思考する機会も減ったので..いい予防練習かなと思います.注意点は,理解のない会社だと,2人で同じことをやっているとみなされる(全員が同じ能力な訳ないのに..)のでほどほどに.
個人的に以下のポイントも大切かなと思いました.
- 全くの新人だとメンターの時間の無駄が大きく,効率が悪い.
- 配属後3-6カ月後の少しコーディングができる程度だと次のステップアップにちょうど良い.
- 定期的に続けることで,幅が広がると思う(1カ月に2回,1時間くらいは使いたい.)
今回試みて得たことが大きく,4年目だと新人の教育なども少しは担当したことがあり,やっておけばよかったと思い.
反省してます..反省を胸に今後の育成に努めたいと思います.もし,ペアプロや教育にかかわる記事で読むべきものがあれば教えてください.
ありがとうございました!!!