先週 EY-Officeはリモート教育を開始しました! と発表しましたが、すでにEY-Officeではリモート教育を行っています。まだ教育の途中ですが現時点までの事を少し書いてみます。
今回の教育コース内容
今回の教育コースは React+バックエンドコース ですが、受講されている方は、すでにRuby on Railsを使っていて、かつ 作りながら学ぶ React入門 を読んで学んでんいたので、React+バックエンド標準コース の内容を大幅にかえて実施しています。
内容は、
・Reactアップデート
現在のReactは作りながら学ぶ React入門の時点とは大きく違いますので、今回はHookを中心としたアップデート部分をReact教育の新しいテキストを使って学んでもらいました。
またこのテキストではTypeScriptを採用したので、TypeScriptはJavaScriptに型を導入する事で安全性、開発効率を高めた言語です。今回は型を中心に学んでもらいました。
・Rails APIサーバー + React
ここが今回もメインです。Rails、React単体はわかっるけど実際のサービスはどうやったら作れるかを知りたいと言う要望から教材を組み立てました。
内容は、Ruby on Railsを使ってAPIサーバー(バックエンド)を作り、Reactで作られたフロントエンドからアクセスするECサイトのようなアプリを作ってもらいます。ただし0からこれを行うのは時間がかかりすぎるので、今回は最低限のコードや手順を提供し、そこに大きな機能追加を行ってもらう構成の教育にしました。
また、0からアプリケーションを作る際の手順や検討項目などを、経験を交えレクチャーしました。
・サーバーをAWSで動かす
上で作ったアプリをAWS・EC2にサーバー環境を構築し、アプリをデプロイしてみます。
今回サーバー環境にDockerを使うか迷いました、今やDockerはアプリのインフラとして定着して来ました。しかしインフラ周りの経験のないプログラマーがはじめてDockerを使う事には疑問があるので、今回はAnsibleでインフラを構築する事にしました。
ここでも最低限のコードや手順を提供し、そこに機能追加をしてもらう事にしました。また、AWSを含むインフラ一般についてのレクチャーを行います。
Zoom + Slack + GitHub
EY-Officeはリモート教育を開始しました! に書きましたように、EY-Officeのリモート教育は従来の対面教育を単純にZoomでリモート化したものではなく、いくつかのツールを組み合わせて使っています。
・Slack
連絡や質疑回答にはSlackを使っています。Slackのように非同期でコミュニケーションできるツールは受講者と講師の負担を減らせます。リモート教育ではお互いに時間を固定されないのが最大のメリットだと思います。 またプログラマーはSlack等に慣れている人が多いのも利点です。
ただし、文字をベースにした非同期コミュニケーションでは伝えにくい事もありますし、顔の表情等の非言語的コミュニケーションが出来ないと効率が落ちます、そこを補うのがZoomだと思います。
・Zoom
Zoomを使ってみると、対面に近い感じでコミュニケーションが取れるの素晴らしいツールだと感じました。またネットがつながっていれば使えるので地方や海外の会社(日本語のみですが)にも教育を広げられるのも可能性が感じられます。
ただし、お互いに時間が固定されるコストの高さがあるので、適切タイミングで利用できる能力を高めていきたいと思います。
・GitHub
今回、テキストや教材のコードはGitHubのプライベートリポジトリーにおいて、受講者の方をコラボレーターとして招待して使っています。
また、受講者の成果もGitHubのプライベートリポジトリーにおいてもらい、私がコラボレーターとして評価します。
1対1のサポート
現在おこなっている教育の受講者は1名なので1対1のサポートが行えています。しかし受講者の人数が増えてもSlackは1対1ですし、Zoomも1対1で行う事が可能です。
やや講師の負荷は増えますがリモート教育では、集団教育でも時間をかけて1対1の教育を行う事が可能かなと思っています。