この頃仕事時の会話
「プログラムできるよね?」(まあ、そういう仕事なので、できる事前提ですが)
「ハイ」
「じゃあ、A機能でBをCにコピーするプログラム作っておいて」
(内容は例です)
「どう作ればいいですか?サンプルありますか?」
私としては「ん?」と思うわけです。
もしサンプルがあったとして、この人は何をするのでしょうか?
当然、サンプルを写して、ちょこちょこ調整するだけなんですよね。
これは「プログラムが作れる(作っている)」と言えるのかなぁ?
単に文章を書き写しているだけなのでは?
というのがすごく疑問なんです。
給料が安いっていうけど、書き写すだけならしょうがないよねとも思う。
逆に「頭を使って1からくみ上げている人」と「書き写している人」の給料が同じってところが、最も大きな問題なんだろうと。
私は、転職組ですが、今の職場も同じ。
ということは、業界自体が「時間給」でやっているわけ。
であれば、「頭を使わない、書き写す”嘘っぱちのできます商売”」をやった方が、お得になるのでは?と考えられる感じです。
で、何が言いたいか?
確か2020年から?学校でプログラミング教育ってのが始まったのかな?
意味があるか、無いかは置いておいて、何を目指しているかが重要なのだろうと。
目的は「論理的思考を育てる」って事じゃなかったかな?
今どきの老若男女は、直線的な思考しかできなのも事実。
テレビの「街角インタビュー」を聞いていてもそうですよね(TV局の都合のいい人しか放送しないと思いますが)。
目に見えた事実のみ話して、私に「だからどうなのよぉ~」って突っ込まれる感じ。
考察も分析もできない人。
プログラミング教育って、こういう人たちを減らしたいって事なのかな?
この「書き写すだけ」しかできない人たちを「頭を使える」人に変えたいという事なのかな?
と期待するのは、私だけでしょうか?
なので、冒頭で書いた「書き写すだけのプログラマー」が、この教育によって減ってくる事を期待します。
まあ、今の子供たちが実践の場に出てくるときには、私、隠居してますが。
この教育の間違ったとらえ方として、「プログラミングができるようになる(手に職がつく)」と思ったら大間違い。
英語と同じです。
教育したからと言って、英語が喋られるわけでは無いと。
プログラム・・・というかモノづくり・・・が好きな奴は、自主的にやってますよ。
教えられないとできない人は、絶対にできないです。
決して、プログラム技術を身に着けるためでは無いという事を知っておくべきだと思います。
私のプログラムで大切にしている言葉。
「急がば回れ」
変でしょ?
プログラムは、直線的にできるものばかりではありません。
ちょっと遠回りして解決していく場合があります。
また、ほとんどの場合「壁」に当たります。
その場合、一歩元に戻して俯瞰してみてみると・・・壁の横に隙間が見えたりします。
これは、遠くから俯瞰してみないと発想できない事。
心がけてみてはいかがでしょうか?
と言っても、私、もうプログラムやってる年齢じゃないんですけどね。。。
先日Bardにプログラム(VBAですが)を書かせたところ、素晴らしい出来に驚かされました。
極めて近い将来に、プロジェクトリーダーが基本的な仕様を決定してAIに基本を作成させ、”プログラマーがちょこちょこ修正する”と言う世界になる様な気がするのですが、いかがですか?
何と言ってもAIは膨大なプログラムを既に持っていて、それを人間以上に理解しているようですので。
なかなか難しいところではありますが、度合いがあるかと思います。
難しいところに注力するため、単調な個所を「ちょこちょこ」するのはありかと思います。
私も、単純な作業は「誰かにやってほしいな~」と思いますし。
そのために、基本個所はライブラリやフレームワークに任せるということはウェルカムです。
ただ、やっていることが良くわからないけど「こうすればうまくいく」ということだけを求めて「ちょこちょこ」するのは、違うのかなと思います。
私は常々「最終目標が見えているか?」と聞きます。何をやりたいか、だから手段をどうするか。これができていないとエンジニアとは言えないかと思っています。
これがエンジニアとプログラマの大きな違いかと思っています。
そして、システムが基本を作って、人間が手直しする世界になるのか?ですが、どうなんでしょうね。
WEBなどのアプリケーション開発ならあり得るのかもしれませんね。
テンプレートをベースに開発は、昔からある手段ですし、システム要件も面倒ではなく、性能要件も厳しいものでない。
どちらかというと、早くリリースすることが求められます。
そういう世界ならアリです。
クラウドは、その足掛かりなのだと思ます。
ただ、そうならないシステムがあります。
基盤システムや基幹システムという奴です。
良くエンジニアがぶっ倒れている奴ですね。
これは人間が、少なからず姑息な(笑)テクニックを使う必要がありますので、なかなか自動化は難しいのでは?と思います。
ただ、その世界もOSSなどを使って簡素化しようとしていますが、要件が「そりゃ無茶だ」ということもあるのも事実。
AIが、そこまでできれば人間はあきらめの境地でよいかともいますね。
何やら、ガチのプロに素人が茶々を入れてお説教を食らった!と言った感じになってしまいました。(笑)
また、”やっていることが良くわからないけど「こうすればうまくいく」ということだけを求めて「ちょこちょこ」するのは、違う” お見通しですね。極めて痛いところを突かれてしまいました。
でもですね、プログラミングの基本は
「実現する楽しみを満喫する」
です。
手段は、なんでも良いかと思っています。
これがモノ作りの神髄。
なのをするにも楽しむという事ができれば、良いのではないでしょうか。
今どきは完成されたものが沢山あり、この喜びを知るのも難しい時代ではあります。
でも、楽しいからこそ深堀をしてしてしまう・・・そういう子供たちが増えることを願っています。