プログラミング未経験者に難しいこと=「環境のセットアップ」
はじめに
最近、プログラミング教育が非常に流行っています。学校だけでなく、企業でもDX推進人材と称して、プログラミングの教育を施している事例も多く見られるようになってきました。
一方で、特に未経験者にとっては、プログラミングは難しいものと捉えられることが多いです。今回はこちらについて考えていきます。
未経験者は、そもそもプログラミングする環境にすらいない
プログラミング未経験者への教育という観点で書かれる記事は「プログラミングがなぜ上達しないか」について考察する記事になることが多いと感じています。たとえば以下の記事では
「変数」と「値」の区別が難しいこと
「実際に手を動かしてコードを書いた時間が足りていないこと」
などが挙げられています。
確かにこれらはプログラミングの上達にはとても重要な要素です。しかし、プログラミング未経験者に話を聞くと、どうもそれ以前な気がしています。
というのは、これらについて悩むという時点で、その人たちは「既にコードを一度でも書き始めている」状態だからです。そこまでいけばあとは経験が大事ということはわかるのですが、未経験者というのは
そもそも、書こうとすらしていない
という感じなのです。それは何故か? 私は
書くための環境づくり自体が非常に難易度が高いから
ではないかと感じています。
プログラミング環境構築は、プログラミングより難しい?
ここで、以下の記事を見てみましょう。
このような選択肢が多いことを、プログラミング経験者は「メリット」と考えるかもしれません。
しかし、未経験者はこれをむしろ「デメリット」と感じます。
なぜいろいろあるのか? ややこしいじゃないか?
と。未経験者が「とりあえず一番簡単なモノを…」と言おうものなら、この時はアレが良いだの、アレは良くないだの言われ、きっと混乱してしまうでしょう。
しかも、環境のセットアップはプログラミング以外の知識を必要とする場合が多々あります。たとえば、「自宅からインストールできたモジュールが、会社のネットワークからだとインストールできない」と言った場合、経験者なら「じゃあプロキシ通せばいいのかな」などを推察できますが、未経験者にはもうわかりません。それはしょうがないことなのですが、この時点で
プログラミングしたいのに、全然できない!
となるはずなのです。その後の対応は、人によって沼にはまって行ったり、キレたり、放置したりと様々ですが、いずれの場合もほとんどの場合はプログラミングはせずに辞めていってしまうことになるでしょう。
おわりに ~ 経験者は技術より「飽きさせない」ことを念頭に
そもそも、プログラミングを始めようと思った人は何らかのモチベーションがあって始めようとしたはずなのです。しかし、こんなことが続くと、プログラミングができない状態が続き、段々と「飽きてしまう」のです。特に、環境のセットアップは、(実際はすごく関係があるのですが)一見プログラミングには関係ないように見えるので、そうなると、大抵の人は
「プログラミングしたいのに、全然できないから、もういいや」
と辞めてしまうのもしょうがないと言えます。
というわけで、プログラミング未経験者に対して、経験者ができるサポートというのは、プログラミングの手法・技術を教えることよりもっと別のことがあるのではないかと感じています。それは
「プログラミングやってみようかな」という気持ちを消さない心がけ
です。たとえば
難しい言葉を使わない
飽きてそうならそこでいったん止める
できたことをすぐに振り返る(できてたら褒める)
などのコーチングと合わせて、環境のセットアップという、一見プログラミングに関係ないことも、
その重要性は伝えつつも、ある程度経験者が手取り足取りフォロー
することがよっぽど重要であろうと考えています。
(この項終わり)