新人研修でGitとGithubの先生をやってみた

会社のブログにもちょっと投稿してたりするので、研修全体の背景などは飛ばそうと思います。

つべこべ言わず、まずはスライドを晒します。汎用的につくってないので無駄に長い上に、超初心者向けで最低限のことしか書いてないのであしからず。


なぜやろうと思ったか

これまでも社内でGit関連の勉強会、研修は行われてきたのですが「更にいいやり方(伝え方)があるのでは」と考えていました。特に、新人さんをはじめ開発ではない人にも「理解してもらいたい!」「この素晴らしさをわかってほしい!」という思いはずっとあったんですよね。新人研修でやれば教える経験値も上がりそうですし、(今はGitを触る機会が少ないので)自身の理解も深めてレベルアップをするという目的もありました。

研修を組み立てるにあたって

Gitのような便利ツールは「なぜ」がわかっていないと受け入れがたいものだと考えています。チームで開発(作業)をしたことがなく、はたまた開発の経験がない人たちに、どうやったらメリットを理解してもらえるかなぁと。

わからない = イメージがつかない

人が何かを学ぶ時「わからない」と感じてしまうのは、「イメージがつかない」(実体験がない)ことが原因です。初心者にありがちな「何がわからないかわからない」というのは、この辺からきていると思います。そのため、何より「バージョン管理をしていない(Gitがない)苦しみ」を最初に味わってもらおうと考えました。

  • 編集したファイルを元に戻させる
  • 何度か編集を加えたファイルを一部分だけ元に戻させる
  • ネットワークを遮断する
    • ファイルに変更が加えられない
  • 複数人でひとつのファイルを編集させる

などなど

おかげさまで、そのあとのワークなどで「便利!!」という言葉を耳にしたので、「なぜ」の部分はある程度理解してもらえたんじゃないかなぁと思います。また、絵や図、例えを多めに入れることを意識し、できるだけ身近に感じてもらえるよう工夫をしました。

Gitを勉強していくには

冒頭で記述した通り「イメージ優先」で組み立てたので、実開発となると正直足りないものが多いです。(実際rebaseが使えずつらかった)ただ、Gitは「失敗してなんぼ」だと思っています。カオスな状態に陥った時に解決方法を教えてもらったり、自分で試行錯誤することによってスキルアップしていくものです。(実感するというところですね)だからこそ、コンフリクトを起こしたりツリー構造がおかしくなった時も「やったね!」とポジティブな言葉をかけるようにしていました。

もし「誰かにGitを教えたい」「Git頑張りたい」と思っている方がいらっしゃれば、その辺を意識して取り組んでいただけるといいんじゃないかなぁと思っています。