プログラミングスクールによるリスキリング

 最近、リスキリング(Re-skilling)という言葉がネット上で見る機会が増えてきた。リスキリングとは、経済産業省の審議会の資料によれば「新たにスキルを身につけること」と定義されている。HRペディアによれば「職業能力の再開発、再教育」とされている。現在注目されている背景と目的は経済産業省の審議会でリクルートワークス研究所 人事研究センター長 石原直子氏が発表した資料に、「新しい職業に就くために、あるいは、今の職業で必要とされるスキルの大幅な変化に適応するために、必要なスキルを獲得する/させること」と表現されている。

 AI/IoTに代表されるデジタルテクノロジーを活用したDX(デジタルトランスフォーメーション)が注目されていることや、政府が掲げている成長戦略の一つとしても注目されている。(日本経済新聞「成長シフトへ再教育 政府、制度拡充で30万人支援」

 そのような動きの中で、「リスキリング=プログラミングだ!!」のような反射神経を刺激するかのように、巷では社会人向けのプログラミングスクールが盛んになっていると聞く。しかも、著名なYouTuberも、「プログラミングは将来のために身につけておいた方がいいですよ。」とか言っているためか、ニーズは高いようである。

 実はプログラミングといっても幅が広い。Webやアプリのフロントエンドの用途とバックエンドの用途では細部が異なる。また、教育のゴールも様々である。小学生のようにプログラムの論理的な思考を身につけるのもプログラミング教育であるし、用途に応じたプログラミング言語の使い方を身につけることや、プログラミングを効率化するフレームワークの使い方を身につけるのもプログラミング教育である。

 「リスキリング」時代前まではプログラミング教育というと主に大学や、専門学校での教育がメインであった。しかし、大学の情報関係の学部・学科やソフトウェア系の専門学校以外の場合、あくまでカリキュラムの一つとして半年または1年間の講座としてコンピュータやソフトウェアに関する基礎や現状の知識をさらっと教えているだけであり、研究室等で本格的にプログラミング技術を利用、獲得している学生は少数派であると考える。

 以前、所属していた企業の新卒採用面接で面接官としてプログラミング経験の有無について質問をしていたが、経験があると回答した学生のほとんどが「授業でサWebサイトを構築した際にプログラミングをした」という回答をしていた。さらに授業以外でプログラミングした経験の有無を質問をすると、ほとんどの学生は未経験であり、まれにサークルのメンバー管理サイトやスケジュール調整用サイトを構築したという回答がある状況であった。

 「リスキリング」時代のプログラミング教育はどのようになるのであろうか。文科省の方針によって小中学生時点でのプログラミング教育の充実や高校、大学でのデータサイエンスの拡大が図られるので初学者の幅は広がると予想する。現在の社会人の教育としては、書籍やネットを活用した独学、UdemyやCourseraなどのオンライン教材の活用、講師やメンターによるプログラミングスクールなどの方法が考えられる。1番目の独学はコストが最もかからないが初学者にとってはプログラミング環境構築だけでも一苦労であり、理解できない内容があった場合にどのように解決すれば良いかが判断がつかずハードルが高い。2番目のオンライン教材は、コストも安く講師が順序立てて動画で説明わかりやすく説明しているため1番目よりはハードルが低いが、プログラミング環境構築のハードルは残る。3番目のプログラミングスクールは、内容が理解できない場合に質問できる体制が準備されており受講者が困らないようになっているが、学費の相場感としては、HTML,CSSの3ヶ月教育であっても20万円〜70万円と非常に高額である。どの方法でも自分のベースにあった方法を選べば良いと考えるが、懸念点としては、どの方法も教育を受講するだけで企業にとっての即戦力となる人材になるというわけではないということである。特に、プログラミングスクールの中には「受講すると転職できます」(いくつかの規定があるらしいが・・)という内容を特徴にしているスクールもあるが、私は思い通りに転職できるか、転職後に活躍できるかは受講内容をいかに業務に活かすかという努力に懸かってると考える。

 私も一時期、プログラミングスクールにてpythonによるAI/機械学習入門のメンターとして従事していたことがあったが、その際に、受講生から、「この内容を受講終われば企業でAIエンジニアとして活躍できるんですよね」と言われて回答に困ったことがあった。講座自体は市販されている書籍にある機械学習で何ができるか紹介されている代表的・簡単なpythonのコード例を一通りpythonで動作させてみるというものであった。したがって、その講座を受講完了したからといって、企業側の開発現場の担当者としては「はい採用!!」とは言いにくいと常々思っていたからだ。ましてや、アルゴリズムもプログラムの基本的な内容も理解できておらず、単純に書籍の内容通りにコードを打ち込んだだけで動作しないと質問してくる受講生に直面した際には、ビジネスとはいえ、このプログラミング講座の受講を認めることは受講生本人にとってプラスになるのだろうか?と疑問を感じた。

 教育全般に言えることであるが、教育を受けたことによって全てがうまくいくわけではなく、それを応用し自らがスキルを高めるという努力を継続することが重要であると私は考えている。義務教育は、受けさせる、受けることに意味があったが、社会人になってからの「リスキリング」は「何のために」(目的・目標)、「どう活用したか(するか)」(目標評価)が大切である。

 結論としては、プログラミングに関するリスキリングに関する要は、受講者一人ひとりが自分の業務にてどのようにデジタルを活用するかということを考え、教育がその業務に活かす意識を持って教育に臨めるかということである。

機械学習初心者向け講座

言い訳に過ぎないが、今年は、コロナ禍であっという間に時間が過ぎてしまった感がある。前回の記事からもう9ヶ月も空いていた。この期間は、淡々と業務をこなすだけで過ぎてしまったなあと反省している。

数ヶ月前に知り合いから、時間に余裕がでてきたので機械学習の入門的なオンライン講座をじっくりと受けてみたい、何か良い講座はないか?という相談を受けた。数学についてはあまり詳しくはない、プログラムについても基礎的なスキルしかないということだった。

これだけブームになっているので世の中にはいろんな講座があるが、数学的な背景を説明せず、さらっとではなくじっくりと基礎的な事項に関して講義として、私はcourseraというサイトでスタンフォード大学が提供しているMachine Learningの受講を推薦した。

推薦理由としては、

  • 講師はAndrew NgでAI分野では著名な研究者
  • 機械学習の基礎的な内容が11週間分のカリキュラムでじっくり学べる
  • 5分〜15分程度の動画で説明されるので、隙間時間を使って効率よく学べる
  • 動画の途中に1,2問の簡単なチェックテスト、1週の終わりに5問のチェックテストがあり、合格しないと先に進めない(トライは何度でもOK)ため適度な緊張
  • プログラミング課題があり知識だけでなく実際に経験できる
  • 講義は英語(ボランティアによる日本語訳字幕もある)
  • このコースは無料(修了証発行は有料)
  • 内容的には、入門的な基礎知識だけでなく、学習で精度が悪い場合の原因・対策の分析手法についても講義があり実務的な基礎も学べる
  • 主な機械学習の適用例のロジックについても講義があり実務的である
  • プログラミングは、MATLABまたはOCTAVE(free)で実装する必要がある。(オフレコ:受講経験者が多くネットには、課題の実装コードが上がっているので、プログラミングが苦手でもいざというときは大丈夫!!)

とざっとあげられる。英語が苦手とか、プログラミングがああ、という人にもそれなりに打つ手があるので、機械学習のエッセンスを学びたくて時間が1週間で5〜6時間ぐらい確保できるという人には絶対おすすめだ。