みなさんこんにちは、社内のエンジニアが働きやすくすることを目標にする Engineer Empowerment プロジェクトの @Mahito です。
先日 NTT グループのソフトウェアエンジニアを対象とした Git / GitHub の研修を NTT グループのエンジニア有志で行ったので、そのことについてお話しします。
ちなみに、以前に 社内のソースコードをGitHub Enterprise にとりまとめてる話 という記事も書いたことがありますので、興味があればそちらもご覧ください。
背景
本研修のきっかけは、ソフトウェアエンジニアの育成に関して NTT グループ内のエンジニアたちと議論が盛り上がったことです。
現在 NTT グループにはグループのエンジニア有志の集まる非公式なコミュニティがあります。私は不定期に Meetup を開催しているのですが、そこで「ソフトウェアエンジニア育成」をテーマにした議論をした際に以下のような意見がありました。
- NTT グループ各社でのソフトウェアエンジニア育成の状況は様々だが、上手くいっている会社は少ない
- 上手くいっている会社や高スキル者のノウハウを NTT グループに横展開することで、グループ内のソフトウェアエンジニアの技術力を高めたい
また、タイムリーに 「チームメンバに Git / GitHub を教える必要があるが、どうすればわかりやすく教えられるか」 という話題が上記のエンジニアコミュニティ内で話題になっていました。
最近のソフトウェアエンジニアの必須スキルとして Git / GitHub が挙げられるものの、最初に使うまでの一歩が難しいスキルかも知れないということで、 Git / GitHub を利用したことがない、または なんとなく使ってみたもののあまり理解できていない という人を対象にした本研修を企画しました。
研修について
今回の研修は、バージョン管理システムである Git と、ソースコードホスティングサービスを提供する GitHub の初歩的な利用方法について、講義とハンズオンを通して理解してもらう形で行いました。
「何を教えるのか」、「研修のゴールをどうするのか」というところを研修スタッフの間で何度も話し合った結果、Git / GitHub で基本となる操作について、実際に手を動かして理解してもらうことにしました。これは初心者の方にはまずは基本をしっかり理解してもらうことが大事だと考えたからです。
以下は実施した研修の内容です。
研修は、日本電信電話(NTT)の研究所、NTTドコモ、NTT Com のエンジニアが講師とサポーターを担当しました。サポーターの役回りはハンズオンのサポートや質問への回答で、私もサポーターとして研修に参加しました。
また、事前の研修企画や取りまとめは私が行いましたが、NTT グループへの周知についてはエンジニアコミュニティや NTT の人事、技術企画の方々の力をお借りしました。
参加募集を始める前は 「50 人ぐらい来ればいいよね」とスタッフで話をしていたのですが、募集開始から 1 週間経たずに 100 人近い応募がありこれ以上の人数はサポートしきれないと慌てて応募フォームを閉め、後日同様の研修をもう一度行いました。
おかげで2回の研修で 170 名ほどに参加してもらい、 Git / GitHub について学びながら触ってもらうことができました。
参加者には事前アンケートに回答してもらっていたため、回答内容からこの研修の参加目的を確認したのですが、以下のような理由が多かったです。
- 現在バーション管理をしていない文書などをバージョン管理していきたい
- 現在 Subversion を利用しているが、Git への乗り換えを検討している
- Git / GitHub の基礎が知りたい
- 独学で Git を学んだが、GitHub を利用した開発フローを学びたい
NTT グループの中でソフトウェアを扱う会社も多くありますが、一方でこれからソフトウェアに関わっていく会社も多く、NTT グループの中でソフトウェアエンジニアの数はまだまだ多いと言える状況ではありません。 しかし、こうした研修を用意することで、これからソフトウェアに関する技術を学ぼうとする方が多くいることを知ることができました。 また、参加者の中にはエンジニアではなく営業やマネージャー職の方が 1 割程度参加しているのも見受けられました。
研修当日の様子
2 回開催した研修は全てオンラインで行いました。
事前アンケートでは参加者の約 1/3 が Git や GitHub を利用したことがないという状況でしたので、研修は時間を多めにとって2時間〜2時間半をかけて行いました。(1 回目のアンケートでペースが早いという声が多くあり 2 回目は時間を延ばしました。)
研修環境については事前に設定資料を配布し設定をお願いしていたことや、なにか問題があった人や質問がある人については Slack でサポーターが対応をしていたため、特に大きな問題はありませんでした。
当日の質問では、研修内容についての質問や、Git / GitHub のユースケースやベストプラクティス、社内でどのように使っているのかなどの質問がありました。
研修後アンケート
研修の満足度(2回目アンケートより)
研修後のアンケートでは、回答してくれた方の多くが満足する形になりましたが、やはり初心者向けの研修だったということもありすでに Git / GitHub を触ったことがある人にとっては物足りない研修だったという声もありました。
研修の難易度(2回目アンケートより)
研修の難易度もアンケートを見る限り初心者向けとしてはいいレベルで実施できたのではないかと思います。
参加者の声
研修に参加した方からは以下のようなコメントをいただきました。
- 概念の話と実技をバランスよく教えていただき、非常にわかりやすかった
- ファイルの変更内容が履歴として残るのはあらゆる作業や情報共有で役に立つと思う
- 今回の学びを他の初心者にシェアできると感じた
- 改めて基礎がわかりました。応用編も開催してほしいです
一方不満としてはこのような声がありました。
- conflictまでは大体よく使うので、もう少し応用例が欲しかった
- 現状 Subversion 文化、Excel 文化であり、既存プロジェクトへの導入については変更する利点を伝えるコストや教育コストの方が大きいように思われる
また、次回以降どんな研修を期待するかという質問については以下のような様々なコメントをいただきました。
- Git のより高度な使い方や応用例
- アジャイル開発
- クラウドの利用方法
- 機械学習
- セキュリティ
- etc...
今回の研修では参加者に 「Git / GitHub で基本となる操作について、実際に手を動かして理解してもらう」 というテーマで行いましたが、アンケートからこれは達成できたのかなと思いました。 一方で、 Git / GitHub に対する発展的な研修や、それ以外の技術に関する研修への期待や要望というものも明らかになりました。
今回のアンケート結果は NTT の人事などにも共有をして、NTT グループの中で技術研修が求められていることを伝えています。 また、現在こうした意見に応える形で、NTT グループのエンジニアコミュニティの力を借りながら、次の研修の企画を進めています。
まとめ
今回の取り組みは、NTT グループのエンジニア有志が NTT グループのエンジニアの声を拾いつつ、主体的に研修の企画・開催することで、エンジニアの成長を助けるような取り組みのきっかけを作ることができました。
今回は Git / GitHub を対象とした研修になりましたが、アンケートでは様々な技術についての研修を開催してほしいというリクエストもいただいており、現在次の研修をエンジニアコミュニティの面々が企画をしてくれています。
上述した Git / GitHub の発展的な研修も含め、NTT グループのソフトウェアエンジニアが互いに持っているノウハウを共有することで、NTT グループや日本のソフトウェアエンジニアリングをもっと盛り上げていければと考えています。