NTTコミュニケーションズのソフトウェアエンジニア向け研修内容・資料を公開します

こんにちは、SkyWayの開発・運用をしている岩瀬(@iwashi86)です。 今回の記事では、弊社の研修内容の一部を公開します。

研修の狙い

毎年200名超の社員がNTTコミュニケーションズグループに入社しています。 入社いただいた社員の中には、もともと高い技術力を持っている社員も多くいます。 今年度より、ソフトウェアエンジニアリングのスキルの高い社員(今回は35名)を対象として新たな研修1を実施しています。

研修の主な狙いは以下の2つです。

  1. 即戦力レベルのスキル習得
    • 実際の現場で有用となる技術・開発スキルの習得して、現場ですぐに活躍できるように
  2. ネットワーキングの強化 / コミュニティ形成
    • 同期だけでなく、講師・メンタを含む先輩エンジニアとのネットワークを形成し、互いに影響を与え合い成長できるように

なお、2点目について補足すると、今回の研修では社外のエキスパートによるプログラムに加えて、開発の最前線に立つエンジニアが講師を担っています。 最前線に立つエンジニアだからこそ、実務で使われる技術が分かっており価値がある研修を提供できると考えているためです。 先輩エンジニアと触れ合うことによって、もしかしたら新入社員自身のロールモデルも見つかるかもしれません。

プログラム全体像

本研修は5日間で構成されており、概要は以下の通りです

  • Day1: テスト駆動開発ワークショップ
  • Day2: アジャイル開発、スクラムワークショップ
  • Day3: IaaS、カオスエンジニアリング、障害注入型ISUCON
  • Day4: CaaS、docker、kubernetes、GKE
  • Day5: FaaS、AWS lambda、Serverless framework

Day1-2は社外のエキスパートの力を借りて、Day3-5は社内のエンジニアが講師・メンタを担当しています。

各日程の概要・資料

以下で簡単に各日程の内容を紹介します。

Day1: テスト駆動開発ワークショップ

和田さんにご協力いただき、テスト駆動開発のワークショップを実施いたしました。

研修資料へのリンク ](https://speakerdeck.com/twada/tdd-live-and-workshop-2019-spring)

Day2: アジャイル開発、スクラムワークショップ

アトラクタ社の永瀬さん吉羽さんにご協力いただいて、アジャイル開発およびスクラムのワークショップを実施いたしました。

(こちらは資料公開無し)

Day3: IaaS、カオスエンジニアリング、障害注入型ISUCON

Day3以降は社内のエンジニアが講師・メンタを担当しています。IaaSは本記事執筆者の岩瀬が担当しています。研修資料は以下のとおりです。

なお、以下の研修現場画像を見ていただければピンと来るかもしれませんが、IaaSではISUCONを参考にしています。

ただ、ISUCONとは1点だけ大きな違いがあり、それはベンチマーク実行中に障害(VMがランダムで1台再起動)が恣意的に引き起こされるという点です。 現実のサービス開発・運用では、予期せぬ事象によってあるVMがサービス提供できなくなることは想定されます。 そこで、クラウドの特性を活かした構成にすることによって、サービスを継続して提供するという内容にしてあります。

なお、ISUCON定番の茶番(?)的な前振りも実習開始前にしています

Day4: CaaS、docker、kubernetes、GKE

CaaSコースでは、Day3で実施したWebアプリと同様のシステムを、コンテナを利用して組み上げていく内容になっています。研修資料は以下のとおりです。

Day5: FaaS、AWS lambda、Serverless framework

FaaSコースでは、Day3-4と同様の仕様をAWS Lambda + Dynamo DBを使って組み上げる内容となっています。研修資料は以下のとおりです。

FaaS研修資料へのリンク ](https://gitpitch.com/nttcom/2019-sw-training?p=faas/presentation#/)

IaaS/CaaS/FaaSのソースコード

Day3-5の研修で使っていたソースコードはGitHubで公開しています。

まとめ

本記事では、NTTコミュニケーションズグループで実施している研修の一部(ソフトウェアエンジニア向けコース)を公開いたしました。NTTコミュニケーションズでは、今後もソフトウェアエンジニアの育成に力を入れていきます!


  1. 参考: ソフトウェア以外にも、たとえばネットワークエンジニア向け研修なども実施
© NTT Communications Corporation All Rights Reserved.