先日、わたしはとある新入社員向けのプログラミング講習のサブ講師を行ってきました。
サブ講師というのは、メインの講師とは違って実際に講義を行うというわけではなく、受講生さんの質問に答えたり、ワークショップの時に上司として質問に答えたりする役目の人のこと。
今年は自分の他にサブ講師がもう1人、メイン講師が1人、クラスの管理者兼マナーなどの講師が1人と、その会社の先輩が2人参加するという、合計6人の形式でした。
同じようなことは実は去年も行っていて、プログラミングの基本からデータベース通信などを含めた現代的な使い方、グループでの簡易的なプログラム演習までを大体一ヶ月半から二ヶ月で行うという内容でした。
去年も今年も、この講習はすべてオンラインでの開催。
Zoomを使って1クラス40人ぐらいの人に向けた講義。必要に応じて小さなグループを作ってブレイクアウトルームに分かれて講義や実習を行う というような形で進めていきます。
わたしは常に在宅で講師ができましたし、もし分からないことがあったら自分のPCで調べ物をしたり、いつものキーボードで長文を書いたりといったことができるのでとてもやりやすかったと思います。
プログラミングの講習というのはオンラインでやったほうがいいのではないかなんて思ったりもしました。
出先だと使えるPCだってノートPCぐらいしかないですし、使えるモニターも一つ、スペックもデスクトップに比べればかなり低いとなると、できることがかなり限られてしまいますからね。
受講生の皆さん
今回参加された受講生の皆さんは上記の通り会社の新卒社員。基本的には大学や専門学校を卒業してそのまま入社された方がほとんど。
IT系の企業の研修なので、情報系の学校卒かと思いきや、意外と学生時代にプログラミングの経験があったという方は少なく、今まではパソコンに触れたことがほとんどないというような受講生さんもいらっしゃいました。
ほかの場所で活動されている方に話を聞くと、どうもよほど人気な企業以外は情報系の学生さんを雇えるということはなく、プログラム経験の全くない文系理系の学生さんを雇うということはさほど珍しくもない模様。
以前SBCast.でAtCoderの直大さんが、「今まで自然発生してた(プログラミングが好きな人)だけじゃもう追いつかないくらいに需要が高まってる」という話をされてましたが、今まさにそのような時代が来ているんだなあと感じます。
約一ヶ月半の講習を通して
さて、この一ヶ月半の講習を通して、じゃあ受講生さんはどんな風に成長したのかというと、とりあえずIT業界の用語は大まかに理解でき、分からなかったら人に聞くということができる段階にはなったのかなあと。
あとは開発に必要なエディタやコンソール・開発環境などといった基本的なアプリの使い方がわかったというところくらい。
さすがに今までプログラミングというものに全く触れてこなかった人が多いクラスです。
プログラミングが一人称ででき、自分で調べ物ができるぐらいまではさすがに行きませんでした。
ただとりあえず、今後あるはずのOJTなどをやりやすい状態にはできたのかなと思っています。
プログラミングの講習としてこれはどうだったのかなというと甚だ疑問ではありますが、ひとまず一か月半みなさんが頑張っていただいた価値はあったんじゃないかな と自分は勝手に思っています。
自走できるエンジニアを育てる
自走できるエンジニアを育てることを目標に。
これは以前ほかの機会に言われたことではあります。
プログラミングという業界は日々進化していきます。
今教えたことも半年後には役に立たなくなっていくでしょう。そもそも使う言語やパラダイム自体変わって、いままで学んだことがなにひとつ役にたたなくなっている可能性すらある。
そんな業界が今のプログラミングの業界です。
だからこそ、今知識を伝えるのではなく、自走できるようになる。
自分で調べ物をして、自分で理解をして、自分で能力を上げていけるようになる。それがプログラミングの講習の命題だと。
そういうふうな講座を組み立てられるのが理想ではあるのですが、正直そこまでは残念ながら行かなかったかなというのが個人的な感想。
それは期間がちょっと短すぎたというのもありますし、受講生の皆さんに、ここを目指して頑張るぞというゴールを見せられなかった、心に火をともせなかったという課題もある。
現状のプログラミング講座の課題
この講座を通してある程度、自分がこの先どうすればいいのかなというのは見えてきたのかなと個人的には思ってます。
わかっているひと目線
まずはこのような講座のカリキュラムが、基本的にわかっている目線で作られているということ。
プログラミングは基本的な理論がわかってないと見えてこないものも多く、ある程度以上基本がわかっている人と、全くわかっていない人の視点が大きく異なってくる。
なのに講座カリキュラムにわかってない人目線の内容が少なく、分かってない人目線からすると意味がわからないまま終わっている内容が少なくないように感じます。
わたしはよく自転車に乗りなれている人が乗れない人の気持ちになるのは難しいという表現を使っていますが、まさにそのような感じ。
プログラミングってわかってない目線になって話すってのはとても難しい。でもそれをしないとプログラミングが分からない人向けの教科書にはならないんじゃないかなと思うのです。
今のプログラミングの講習ってこのやり方で正しいんだろうか?
プログラミング講座のカリキュラムは、プログラミングが分かる人によって作られている。
それはある意味当たり前といえば当たり前なんですが、そこにプログラミングが分からない人の意見が組み込まれていないという問題。
メイン講師の方が頑張ってプログラマ目線じゃない話をされてはいましたが、それだけでは限界がある。
難しいことでは確かにありますが、プログラミングがわからない人の意見が組み込まれた教科書やカリキュラムの組み立てを考えていかないといけないんだろうなあと思いました。
今の学生に与えたい「構え方」
あとはプログラマの心構えを伝えることが十分にできなかった というのも課題でしょうか。
失敗を恐れないということ
今の学生さんは失敗というものを過度に恐れるという話を聞いたことがあります。
実際講座を通してみると、それは確かで、失敗を避ける、失敗をそもそも起こさないようにするという考え方がすごく多いんだなと感じました。
しかし、それって現状のプログラミングとは相性が良くない。
プログラミングというのは、エラーを出して、その対処方法を編み出すことで実力をつけていくもの。
だからエラーをそもそも起こさないようにしようと思う、そんな考え方とはあまり相性が良くない。
エラーとよりよく付き合う
エラーが起こることを避けるのではなく、エラーとよりうまく付き合う。エラーにより早く気づき、そのメッセージからどうやって、回復すればいいかを考える。
プログラミングって、そういう気持ちがとても大事になってくる。
そういう考え方を受講生の人たちにもってもらう。それができなかったのは課題なのかなと。
人に聞くということ
あとは質問をするということ。
今回の講座では講義終了後1時間の質問コーナーを設けていました。ただそれをうまく活用していた人はあまり多くなかった。
プログラミングっていつのまにか新しい技術が出てきて、これだけ勉強したらもう人に聞くことはないなんてことはありえない。
だから質問することを恥と感じず、必要だと思ったときは周りに質問をするということが重要になってくる。
これもまた、学生時代にはあまり経験のない考え方のようで、そもそもわからないということがあっても質問をしないという人が多かった。
わからないこと自体がわからないということも少なくないでしょう。
ただ、そんな時でも何らかの方法で質問をしてほしい。それは新卒生でなくても難しいことではあると思いますが、何とか積極的に質問をするという姿勢は身につけて欲しかった
その気持ちがしっかり身につかなかったというのも今回の課題かな。
これから先わたしは何をすればいいんだろう
このような講座を通して、わたしは今後どう考えていけばいいのか。
商業的なプログラミングの講座をする機会はしばらくないと思いますが、自分個人として、SIDE BEACH CITY.の理事として、やっていかなければいけないことはいくつかあるのかなあと思いました。
ひとまずはコンテンツを発信していくこと
まずは個人として。
この間からぼちぼちやっているTikTokや、ここ最近は何も手をつけていないUdemyの講座など、商業的な講座以外もできることはいろいろあるように思います。
学生時代にプログラミングをやってこなかった人がいきなりプログラミングをやろうとなった時に、学ぶべきことが多すぎる。変えなければいけない感覚が多すぎる。
それを一つでも減らしていくということは、商業講座だけでなく、色々な面で必要になるのかなと思いました。
何よりこのような講座や学校のような場所の授業は、その講座に来た一部の人しか変えることができない。
それ以外の人も含めた考え方を変えていくためには、商業講座だけでない何らかのアプローチが必要になってくる。
わたしはわたし個人として、非プログラマの方が少しでもプログラミング的な感覚を得られるようなもの。
本格的に仕事でプログラミングをするつもりはないけれどちょっとプログラミングに興味がある人、そんな人の興味を何倍にも膨れ上がらせるようなことをしていかなければいけないのかなと感じました。
SIDE BEACH CITY.としてできること
そしてSIDE BEACH CITY.の理事として。
SIDE BEACH CITY.は、ITの利活用支援という目的のもと、より多くの人がコンピュータ空間のものの見方ものの考え方を得ていけるようにしていきたいと考えています。
そのような情報が普及し、より効率的にコンピューターが使われるようになっていってほしい。
コンピューターの知識が限られた数人のためのものではなく、より多くの人が知っている知識になっていて欲しいと考えています。
その先に、このようなプログラミングの講座がある。プログラミングの考え方がある。
コンピューターの知識を、よりプログラミングをする側の方向にチューンナップしていく。そういうような形に商業的なプログラミングの講座はあってほしい。
今回たくさんの非プログラマと出会い、そのために何が必要なのかというのがある程度見えてきたのかなと思います。
だからこそ、それをSIDE BEACH CITY.の今後の活動に活かしていきたいなと感じました。
今後に向けて
今後しばらく、わたしが商業的な講座に関わることはないかなと思います。また来年同じような講座をやるかどうかは今のところ決まっていません。
ただ、あるのだとしたら、今度はより非プログラマの方もすんなりと入れる講座になっていければいいのかなと思います。
そのためには自分の説明力表現力ももっと鍛えていきたい。それまでに作れるものがあるのであれば作っておきたい。
いずれにせよ、本職でプログラミングをやっていない者としてなにができるのか、この1年間考えていきたいなと考えました。
と、いいつつも、去年もだいたい同じこと考えて、その上で何もできないままだったんですが。
もしSIDE BEACH CITY.の活動に関することで、自分も関わってみたいなと思う人がいれば、気軽にわたしたちまで声をかけていただけるととても嬉しいです。