プログラミング教育を受け、プログラミング思考を身に着けてもプログラマーになるとは限りませんが、プログラマーの仕事がどう変わっていくのかについても考えてみたいと思います。
プログラマーの仕事を一言でいうとプログラム言語を用いてさまざまなコンピュータシステムを作ることです。
過去から現在のプログラマーの具体的なお仕事で代表的なものは
1)業務ソフトの受託開発
2)業務ソフトの自社開発
3)アプリケーション開発
4)SNS・ゲームの開発
といったところでしょうか。
顧客の要望を聞き取ったSE(システムエンジニア)が書いた設計書をもとに、設計通りシステムが動くようにプログラムを書いていきます。
特に業務ソフトの開発などは基本これまでアナログ(紙)でやってきたことをデジタル(PC)へ置き換える、ということが主体で、給与水準は比較的高いものの、納期に追われながらの長時間労働もあり、わりと辛いというか 創造性を発揮しにくいところもありました。
「ずーっとパソコン使って仕事していて、いつも行き詰まってるイメージ」
「メガネをかけて、ねこ背で、生まじめで理屈っぽい」
これは某社が銀座で行ったプログラマに対するイメージ聞き取りの一部ですが、一般の方がこんなネガティブなイメージを作ってしまっているのも仕方ないかもしれませんね。
(実際のプログラマーにはサーファーや体脂肪率一桁のバリバリのアスリート系とかも多いんですけど。)
しかし現在から未来のプログラマーの仕事はもっと創造的な方向に転換しつつあります。
IOT・AI・自動運転・ウェアラブル端末・ビッグデータ・クラウド・ロボット・情報セキュリティ等々、21世紀に入り、「今まで現実に存在しなかったもの」が世の中に出現するようになってきました。
これは20世紀に馬車が自動車になったり、プロペラ機がジェット機になったりしたのとは全く違うインパクトがあります。
「何かのように」というお手本が存在しないものが作られていく可能性がある世の中になってきた、ということなのです。
お気づきかと思いますが、21世紀に入ってから生まれたものはすべてコンピュータプログラミングと大きな関係があります。
「今まで存在しなかったものを創る」
プログラマーはよりクリエイティブな方向へ進み、プログラムを通じてこれまで人間が目にしたことのないものを作れる可能性がある
ということなんです。
「そんなクリエイティブだとかなんだとか、自分たちには関係ない」 と思われた方もいるかも知れません。
しかしプログラムはこれから皆さんのより身近なところに入りこんできます。
大きな流れは「大衆から個人」「専門から一般化」の2つです。
「大衆から個人」の流れは、「同じプログラム(アプリ)をみんなが使う」状態から「ひとりひとりにカスタマイズされたプログラムを使う」流れです。
まるで、手に合った道具のようにカスタマイズされたIT機器を身に着け、皆さんは生活しつつあります。
お気に入りのアプリが入ったスマホは、もう「ほかの人と同じ」とは言えません。
アプリ側もそうです。みなさんがみているネットニュースは皆さんの閲覧履歴を元に個々に自動的にカスタマイズされていて、みなさん個人個人が閲覧したくなるようなニュースが優先的に表示され、興味のない分野のニュースは表示されにくくなっています。
この傾向はますます進み、ひとりひとりがプログラミングでカスタマイズされたアプリやIT機器を使っている世の中になっている可能性があります。
もう一つの「専門から一般化」の流れは、「誰でもプログラムを書いたりカスタマイズできる」社会、いえ「しなくてはならない」社会への流れです。
一般の家庭生活ではいざ知らず、ビジネスのあらゆるシーンで、使用しているビジネス機器(工場であれ、建設現場であれ、オフィスであれ)のプログラムを書き変えたりするのが当たり前の社会になっている可能性があります。
だとしたら プログラムが書けないことは 少なからぬハンデになってしまいそうですね。
もしかしたら、とても幸いなことにプログラムを直接触らないで済むお仕事に就く人もいるかも知れません。
しかし、そこでも思考スキルとしての「プログラミング思考」が求められるようになっていることでしょう。
ものの考え方の基礎として
・ゴールから逆算して
・「何を」「どんな順番で」「どれだけやったら」ゴールに着くのか
・もし間違ったらどこまで戻れば良いのか
という手順で考える「プログラミング思考」が、日本人のスタンダードな思考法になっていくことは、2018年の学習指導要領の改定で明らかだからです。
お子様が将来どのような職業につくにせよ「コンピュータプログラミングを学ぶことこそがプログラミング思考への最短距離である」ということだけはどうやら間違いなさそうです。