非エンジニアの弟子を持って考えた教育プラン
寒い日が続きますが皆さまいかがお過ごしでしょうか、プロダクト開発本部の福岡です。
普段プログラミングを行いつつ、新卒の教育担当としてもお仕事をさせていただいておりますが、今回ありがたいことに非エンジニアの後輩を弟子に迎え入れる事となりました!!
「プログラマーの先輩に弟子入りして、SQLはじめました」の記事にて実際に弟子として入門したデジタルマーケティング事業部の木谷さんが実習の風景を綴ってくれておりますので、今回はキーボードマスター講座を一旦お休みして、実際に出題した課題がどのような考えの元で作成されたものなのかをご紹介させて頂こうと思います。
実際に出題した課題はこちら
↓↓↓
目標設定
まずは目標設定になります。
目標を設定することは学習において最も重要な手順の一つですね。今回の目標達成までの期間は半年というかなり短い時間となるので、「SQLで何でもできる!」ようになるのはちょっと非現実的です。
SQLではざっくり「検索」「追加」「更新」「削除」を行うことができますが、その全てを網羅的に学ぶのではなく、必要な技能に絞って学習してもらうのが良さそうです。ということで、彼の普段の仕事内容にフォーカスし、削るべき技能はどれかを決定していきます。
木谷くんは普段、新規の企画を練ったり、運用中のシステムでバグが発生した場合などに事前の調査を行ったりバグ発見者と調整を行って、お客様の確認できる本番への適応タイミングなどを決定する業務を行ってくれています。
こうやって実際に行っている業務内容を文章化してみると、
- データベースの情報を検索できたほうが良い
- 自分で直接変更(変更依頼を出す)必要はない
ということがわかってきます。
ここまで来ると期間的な制約も考慮し、「検索」に特化した目標を立てるのが良さそうだとイメージが湧いていきます。
そこから更に業務内容を細分化して分析し、最終的に用意した目標としては「SQLを使ってバグや運用のサポートができるようになる」に決定しました。
課題作成
課題作成は一番考えていて楽しい工程ですね。
あくまで個人的な考えですが、課題は一人ひとりにあったものを提供した方が伸び率が変わってくると考えているので、一人ひとりの特性にあった課題を作成していきます。
今回の場合、通常通り「好きなソフト入れて開発環境にsshで接続して~」というエンジニア向けの内容では通用しない上に、「一つ一つ用語を調べて理解して、実行する。」という非常に負荷のかかる形の課題が出来上がってしまいます。
そのため、今回は環境構築や開発環境への接続に関しては、「一本道」を意識しインストールするソフトウェアを僕の方で決定し、書いてあることに従うだけで環境が出来る形にしました。
続いての肝心なSQL部分に関しては、大きく分けて3種類の課題を用意していきます。
- 「書き写す課題」
- 「読み解いて結果を予測する課題」
- 「自分でSQLを構築する課題」
一つずつ内容と意図を説明していきましょう!
「書き写す課題」
書いて字のごとく出題されたSQL文を自分のコンソールに書き写して結果を出力させるだけのシンプルな課題です。
内容的にはシンプルですが、「書き写す」という行為は非常に重要なものだと思います。学びはじめのどうしたらいいかわからない時期に、とりあえず真似したら結果が出るというのはモチベーション管理的に非常に有効です。
また、「これってなんでこの結果になるんだろう」と考え始めてくれると嬉しいなぁと思いながら課題を作ります。
「読み解いて結果を予測する課題」
続いては僕が書いたSQLを読み解いてもらい、どのような結果が出力されるかを予測するという課題になります。
この課題の採用に至った経緯ですが、エンジニアとして5年勤続させていただいていて、「もっと早く気づいていれば」と思ったことが一つあります。それは…「プログラムを書く技能よりも、読む技能を先に身に着けたほうが良い」ということです!
プログラマーとしてお仕事をするためには「常に学び続ける」ことが必要とされます、そして効率的に学び続けるために「プログラムを読む技能」が非常に重要だと僕は思っています。
なぜなら、エンジニア同士の会話や案件内で他の方々が書いたプログラムを見る機会はたくさんあり、それを読み解き理解することができれば自分ひとりでプログラムを書いて経験を稼ぐより圧倒的に頭に入ってくる情報量が変わってきます。
それはSQLでも同じ事なので、彼が実習を無事終えた後もエンジニアの会話などから情報を集め知識を強化していけるようにという願いを込めてこの課題を採用しました。
「自分でSQLを構築する課題」
こちらは総合課題ですね、欲しい情報の仕様に対してSQLがどう組み立てるかが問題となります。このタイプの課題は本などにも多いのであまり説明するところはありませんね…。
課題の修正
僕の教育方針では、課題が完成したら「はい、終わり!」ではありません!
ここからが本当の勝負です。
実際に課題に向き合う姿を確認し、どの部分で詰まっているのかどこが難しそうかを見極め、後続の課題の調節を行っていきます。
ちょっとした話題で、どこらへんで詰まっていそうかを見極めたり、実際に自分も開発サーバーに入りどんなことをしているのかを見たりして、一人ひとりにあった課題が完成するように調節を重ねていきます。
個人的なポイントとしては、受講者のレベルの1~2段上の難易度、「集中して取り組んだら解決可能」なレベルになるように設定していきます。
終わりに
約4ヶ月ほど弟子として入門した彼は今、後輩のサポートや、マーケティング施策作成のための情報収集、バグ修正時のエビデンス集めに至るまで、学んだSQL知識を遺憾なく発揮して活躍してくれています。
講師として嬉しい限りですね。
今後もたくさんの人に学んでもらえるような教育プランが練れるように日々頑張っていこうと思います。今日はところはここまで!最後まで読んで頂きありがとうございました!!
ファブリカコミュニケーションズで働いてみませんか?
あったらいいな、をカタチに。人々を幸せにする革新的なサービスを、私たちと一緒に創っていくメンバーを募集しています。
ファブリカコミュニケーションズの社員は「全員がクリエイター」。アイデアの発信に社歴や部署の垣根はありません。
“自分から発信できる人に、どんどんチャンスが与えられる“そんな環境で活躍してみませんか?ご興味のある方は、以下の採用ページをご覧ください。