レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

子供向けプログラミング教育をやっていて辿り着いた先

先に結論を言えば、プログラミングのスキルの根底にあるスキルは「読解力」なんだなと考えています。

プログラム言語は、やはり言語なので、国語的能力がとても大事だということなんです。

2歳になる娘が日に日に言葉を覚えていく様子を見ていると国語の習得のステップとして、以下のようになると感じています。

  1. 単語を覚えるステップ(ルールを覚える)
  2. 人のマネをしてみる(例えば親や友達のマネで語彙力が上がっていく)ステップ(受動的なマネ)
  3. マネのネタを増やすに読書をするステップ(能動的なマネ)
  4. 自分らしい表現ができるようになるステップ(オリジナル)

こういうステップを経ていると思うんです。
親のマネをしたり、絵本を読んだりアニメを観たりしていく中で語彙力が上がっていきます。


守破離」にも通じる、学びの本質だと思うんです。


さて、僕は子供や学生に向けたプログラミングの教育をやっています。

彼ら彼女らの学習の変遷をみているとやっぱり類似するステップがあります。

  1. プログラミングのルールを知るステップ(ルールを覚える)
  2. ルールとお手本に従ってマネしてみるステップ(受動的なマネ)
  3. マネの積み重ねから改造による新しいアイデアが生まれるステップ(能動的なマネ)
  4. マネのネタとして、書籍やオープンソースなどの他人のコードを読むことでスキルアップするステップ(能動的なマネ)
  5. イデアを先にだして、実現する手段としてプログラミングがあるステップ(オリジナル)


そうです。国語の取得と完全に類似するステップを経るのです。


僕自身も文系上がりのSEだったので、すごく国語力に助けられたSE人生でした。

最初はプログラミングのルールを覚えるのに四苦八苦しました。
そしていろんなモノマネや写経をへて、少しずつアイデアが湧くようになり、アイデアありきで形にできるようになっていきました。

これらのステップの中で、「ルールを覚える」や「受動的なマネ」は大人や教師が与えてあげなくてはいけない部分だと思います。
ですが、「魚を与えるよりも魚の釣り方を教えよ」という格言に従うと、次の「能動的なマネ」ができるようにしてあげるのが大事だと思います。

プログラミングの世界で言えば、一流のプロレベルのスキルを習得するときには、現場作業だけではなくいかに多くの人のマネをするかが分かれ目になるように思います。

オープンソース読めとか、ネットコピペではなく本を写経しろとか、
プログラムの達人たちがいう言葉を言い換えれば、「プログラムの読解力」なのかなと思います。

しかし、単にプログラムソースを読むということだけではなく、国語的な読解力を身につけていくことは大事だと思います。なぜなら、プログラミングを行うことは自然言語とコンピュータ言語の翻訳だからです。


ということで、子供や学生向けに教育をする際にも読解力というスキルを身につけてもらうことを大事にしていきたいと思っています。

アフターシンギュラリティの世界を生きる人へ

シンギュラリティ(技術的特異点)は近いと言われている。
技術的特異点 - Wikipedia

技術的特異点(ぎじゅつてきとくいてん、英語:Technological Singularity)、またはシンギュラリティ(Singularity)とは、人工知能が人間の能力を超えることで起こる出来事とされ、テクノロジーが急速に変化し、それにより甚大な影響がもたらされ、人間の生活が後戻りできないほどに変容してしまうとする .

僕ら大人達は、恐れている。

しかし、我らが子供達は、シンギュラリティを必ず迎える。
子らには、それを乗り越えた先の世界で生きる強さを持って欲しい。

シンギュラリティを超えた先の世界に生きる人たちに、生きる強さを教えることは
大人の責任じゃないだろうか。


そもそも特異点など恐れることはない、いままでもコンピュータの方が僕らより頭がよかった。
10年前に書いた恥ずかしい日記を僕は忘れているが、コンピュータは覚えている。
僕らの声は、せいぜい100人にしか届かないけれど、コンピュータとネットワークを組み合わせると1億人にだって届けることができる。
僕らは、100ほどの計算をしたら頭が疲れてくるけれど、コンピュータは1秒に100万回計算してもへっちゃらだ。

そういう意味じゃあ特異点はすでに経験してるともいえる。


未知の何かに怯えるのは人間の性だけど、コンピュータが起こした大革命ならすでに経験してるじゃないか。

それはインターネットが革命を起こす前夜を思い出せばいい。
インターネットが多くの職を奪うだろうといわれた。
実際そうなったが、それ以上に多くの職が生まれた。


インターネットが出てきた時には、すでに人間はコンピュータに能力的に超えられているけれど、僕らは恐れてはいない。使いこなすべき対象なだけだ。


AIが発達したとしても、コンピュータが苦手な分野がある。

例えば子供だ。
子供向けの教育をして、自分自身も親になってわかった。
子供は論理のかけらもなく、合理性なんか無視の究極のカオスだ。
愛情がなければ、関わるのもめんど臭いだけの非合理の塊。

でも、可能性の塊でもあり、多かれ少なかれ愛を感じざるを得ない存在だ。

愛を理解できるコンピュータができるだろうか。
できるなら、それはそれで希望にあふれている。


コンピュータが非合理性を理解して、非論理的に動きはじめたときに
初めてコンピュータは人間を超えるかもしれない。

しかしながら、そうなってしまうと我々にとってその存在とは、
とても論理的で融通が利かないけど、ある意味愛するべき友人という扱いになるのではないだろうか。
だったら、僕は酒をのみながら愚痴を言い合いたい。


僕は、シンギュラリティの先に、ターミネータースカイネットの存在を感じるよりも、
ドラえもんや、攻殻機動隊タチコマの存在を感じるほうだ。

人が作るものだから、驚異というよりも希望なのだ。
そんな世界なら恐れることはないだろう。

それが完成だとしたら、僕らが生きているうちには来ないかもしれない。
シンギュラリティ以降も、しょうもないバグに悩まされそうな気配はプンプンする。


しかし、そういった超越していながらもまだまだ不完全な世界において、我々の子供達は生きなければならない。

だったら、ドラえもんに道具を出してもらう方法を知ってる子供を育てたい。
できれば、多くの人がのび太になってほしい。

道具を求め、課題を提示した時にはじめてドラえもんは、役に立ってくれる。
ドラえもんへの頼み方を知ろう。子供達にそう教えたい。


スマートフォンは、とても身近なコンピュータで、接する時間もながい。
だけど、その機能を使いこなせる子と、そうでもない子がいる。
それが経済格差になってしまう可能性もある。
だったら、それこそ教育の出番じゃないだろうか。

シンギュラリティを超えた世界A.S.0001年を生きる人たちを育てる教育。

しばらく、我々大人たちはそういったテーマで子供の教育に向き合わないといけないだろう。

それこそシンギュラリティを超えるころまでの。

ソフトウェアエンジニアの独立というキャリアパス

ソフトウェアエンジニアには、常にキャリアパスとして独立というルートが存在しています。

35歳の転機

古くから語られている通り、ソフトウェアエンジニアの35歳には転機があります。
「まっとうな人は、繰り返しを馬鹿馬鹿しく感じ」
「賢い人は、すでに去っており」
「まっすぐな人は、極める快感に酔いしれる」
また、
「仕事の対象がコンピュータから完全に人へシフトする」
「描いていた人生の必要経費と、将来の給与の限界が折り合わなくなる」
という時期だと思います。

僕がソフトウェア開発の業界に就職した2000年ごろ、35歳のソフトウェアエンジニアのロールモデルはあまり存在していませんでした。
だから「35歳定年説」を聞いたときも、「じゃあ35歳以降どうなるの?死ぬの?」って思っていました。

現実の35歳

現実には35歳を超えた私の周りでは元ソフトウェアエンジニアが、自分たちで産んだ価値を、自分たちの対価にかえるというモチベーションで起業をすることが増えてきました。

もちろん会社に所属して頑張る人も沢山いますし、それぞれのキャリアを描いていることにケチをつけるものではありません。
起業のリスクはとても大きくて、半泣きになって会社勤めに戻りたいと思う時もあります。

でも、キャリアの転機において、独立という選択肢が残されているソフトウェアエンジニアは、なかなか良い職業だと感じているって話です。

ござ先輩のクオリティスタート

さて、この6月に「ござ先輩」こと湯元堅隆さんが起業して株式会社クオリティスタートという会社を立ち上げました。

ござ先輩は、SIerでソフトウェア開発やコンサルティングのキャリアを積み、その後「これからは事業会社をIT会社に変革していくのがSIerのミッション」との信念で、流通系の企業のIT部門長として仕事をされていました。

とか今更紹介するまでもなく、エンジニアブロガーの有名人です。

ござ先輩の生み出したクオリティスタート社がやろうとしていることは「事業会社をIT会社に変革する」ことですが、その手段として、顧問弁護士や顧問税理士などのように「顧問エンジニア」というスタイルを生み出そうとしていること、併せて「業務システム自動生成ツール」を使ったビジネスを展開していくとのことです。
MOD99ご説明資料.pdf 直

顧客目線とIT目線の両方を持ち合わせたござ先輩らしい進め方だと感じています。
ソフトウェアの自動生成と顧問エンジニアの組み合わせは、IT化されていない主に中小の企業にとっては、導入しやすいサービスではないでしょうか。

ステマで、互助会だといわれるかもしれませんね。。。でもとても良いロールモデルだとおもったのです。

まとめ

少ない設備投資で、価値を生み出すことができるのがエンジニアであり、起業にはとても向いています。

ビジネスを作ろう。小さなものでもいい。それがエンジニアの代表作というものだ。
そういう働き方が、一つの35歳以後の姿かなと思います。

プログラミングを学ぶべき理由

2020年に小学校でプログラミングの授業が必修化することに関連して、プログラミング学習の理由について、議論が活発になっています。

私は、プログラミングは「コンピュータとの対話の手段」であり、本当の目的はコンピュータを知り、使いこなす方法を学ぶということだと考えています。

若い世代にとって、スマホを含めコンピュータに接する時間はどんどん長くなっています。
親しい隣人とも呼べるコンピュータを制御し使いこなすことができることは、頼れる相棒を生涯にわたって持つということだと言えます。

プログラミングは論理的思考を学ぶために有効か?

プログラミング学習の義務教育化に向けて、「プログラマーばかり育ててどうする」という外部からの声に反論するために、プログラマーを育てるのではなく、論理的思考を育てるのだ」とその目的を表現したりします。

体育が必修だからといって、全員がオリンピック選手を目指さなくてもよいように、プログラミングを学んだからといって、全員がプログラミングを仕事にしなくても良いのです。

確かに、全員がプログラミングを仕事にしなくても良いと思います。そこは同意。

ですが後半の「論理的思考を育てる」という部分には少々疑問があります。
プログラミングをするときに論理的思考は必要ですが、それを学ぶのにもっと効率の良いやり方はあると思います。
例えば、正しい国語を学ぶことや数学を学ぶことです。

Viscuitの開発者である原田さんのブログで共感した部分です。
http://devroom.viscuit.com/2016/10/02/%E8%AB%96%E7%90%86%E7%9A%84%E6%80%9D%E8%80%83%E3%81%AE%E5%90%91%E4%B8%8A%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%95%E3%81%AA%E3%81%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%95%99/

論理的思考能力を鍛えたければ,他のもっといい方法があります.よく考えたゲームとか.プログラミングは筋が悪いです.

モダンな(笑)プログラミングは論理的を求めてはいません.

実はひどいプログラミングツールを使ってプログラムを作らなければならない場合に,論理的思考能力がなければなにもできない,ということがあります.上記「プログラミング教育は論理的思考能力の向上を目指す」と主張している人たち,そしてそれに反論している人たちは,ひどいプログラミングツールを使ってプログラム作った(しかし動かなかった)という経験が強く残っていて,そんな狭い考えに支配されているのだと思います.ここで言えるのは,ひどいプログラミング=論理的思考能力必須 です.

わざわざプログラミングを学ばなくても論理的思考は学べます。
「プログラミングを学ぶ」ことがありきで、目的をカッコよく後付けしただけのように感じます。

実際、子供さんをコンピュータに長時間触れさせることは、親御さんからのウケは悪いものです。

そこに、別角度の目的を据えて反論を逸らしていますが、本音を言えば「世界的にプログラミングが価値ありとされている中、日本が置いていかれるのはまずい」ということでしょう。


私は、「コンピュータでできることと、できないこと、そして次の可能性を知る」という目的が良いように思っています。
コンピュータは、この先も長らく人類の頼れる隣人になると思います。
偏屈で頑固でこだわり屋だけど、能力は高いという困った隣人のことをよく知りましょうという目的です。

正しい知識がなければ、「AIが人類を滅ぼすかも」みたいな不安に駆られることでしょう。
「写真に写ると魂が抜かれる」的ですね。
人類を滅ぼすとしたら、AIよりよっぽど人間のほうが怖いと思います。

コンピュータを怖がらずに武器として、道具として使いこなすこと。

それが若い人みんなに習得して欲しい力です。

株式会社レベルエンターは、昨年2015年7月に設立しており、この7月1日で2期目に入りました。

正直なところ、大きな不安の中で模索する日々でしたが、様々な人のご支援や温情により、なんとか1年やってこれました。
ビジネスが軌道に乗っているとはまだまだ言えません。
しかし僕らにしかできないこと、僕らが世の中に打ち出せることが見えてきました。
ワクワクする期待や希望はとても大きくなってきています。
2期目は、企画段階から世に出していく段階へ進めていきたいと思います。

会社としては、1期分の一通りの出来事を経験したことと、
背伸びして従業員さんを雇い入れられたことが、大きな成果だと感じています。

この1年間は、自分たちの実力を蓄える時間と位置付けていました。
でも2期目は、我々らしさをきちんと打ち出して行こうと思っています。

これからもレベルエンターを宜しくお願い致します。

SIerに勤めるあなたが出世できないとしたらそれは質問力だろう。

タイトルは釣りだけれども、やっぱり質問力は大事。

僕は質問力が100中、0から10ぐらいの新卒さんや学生さんたちに教える仕事をしている。

彼らに伝えたい事は山ほどある。そしてそれは今のうちに身につけているととても大きな武器になる。
質問力は新人だろうが、ベテランだろうが関係なく必要な仕事力であると思うのだ。
なぜなら、新人は先輩に質問するが、ベテランもクライアントに質問するのだ。


質問をするときにきにするべきポイントは以下だ

・「目的」どういうことを実現したいと思っているのか

・「推測」そのために自分は何ができるのではないかと思っている

・「報告」どこまでは調べたのか、そして、どこまでは自分が理解できているかという「理解の表示」も含める
 
・それらをできれば図示を交えること

こういった観点を踏まえて質問することができれば
達成したい目標をいち早く達成することができるかもしれない。

新入社員さんへ伝えたい行動規範48カ条

新入社員さんがええ感じになってきた頃合、お伝えしたい48カ条をまとめておきます。

責任

1.人のせいにせず自分の責任と考えよう
2.中途半端で満足せず成し遂げよう
3.ポジションや責任を与えられたら成長のチャンスと捉えよう
4.他人より先に動こう
5.自ら決定しよう。責任を負おう。責任こそが仕事の本質
6.与えられたチャンスにはとりあえず乗っかろう
7.横並び意識を捨てよう
8.悪くならない可能性よりも良くなる可能性を選択しよう
9.アウトプットの質にこだわろう
10.よりよくしよう、現状維持は悪と考えよう

習慣

11.生活習慣を重視しよう。日々の積み重ねに価値をおこう
12.若い頃は仕事を中心に置こう、それはプライベートを含めた「人生」を充実させるため
13.本を読もう。読む習慣をつけよう
14.「深く狭く」その先に広がりがあるから
15.調べる回数はできるだけ少なく決心しよう。同じことを100回調べるより行動して知ろう
16.記録しよう。記録して測定しよう
17.事実に対して、意見と仮説をもとう
18.見えない属性を見よう。例えば人の情緒が効率に及ぼす影響を考えてみよう

自己研鑽

19.自分の特徴を構築してよう。同世代と比べて特徴をプロデュースしよう
20.自分を分析しよう。強み弱みを問われたときにどう答えるか常備しよう
21.自分の価値を高める努力をしよう。自分を安売りしてはいけない
22.他人を信頼しよう。自分には厳しく懐疑しよう
23.目標をもとう
24.平穏よりも刺激を求めよう。そうすれば変化に強くなるから
25.自らの目で確かめよう。とりあえず作ってみよう
26.自分の記憶を疑おう

行動

27.熟考よりも行動を優先しよう。考えれば考えるほど行動しにくくなるから
28.振り返りをしよう。反省しよう
29.素直にあやまろう
30.未来のチャンスにしがみつこう、今の安全または過去の栄光は捨てよう
31.挑戦と困難を楽しもう
32.トラブル解決に取り組もう。問題の対応は、新しい物の創造と同じく価値がある

コミュニケーション

33.人の話を聞こう。人の話は遮らず最後まで聞こう
34.反論するなら代替案を出そう
35.自分は口下手だと思っていればこそ説明上手になる努力をしよう
36.自分の正義を押し付けるのではなく、相手の正しさも認めよう
37.一度言った事でも間違っていたら覆す勇気を持とう
38.伝える方法を模索しよう
39.上司と信頼関係を築こう。上司の当たり外れは、あなたの責任も半分あると知ろう
40.チームへの貢献を優先しよう
41.人間関係を地道に、農業のように構築しよう。畑を耕し種をまきじっくり待とう。とりあえずの利益より信頼の構築をめざそう
42.意見の不一致を大事にしよう。意見の一致を嫌おう
43.上と比べよう。社外の人や目上の人と付き合おう

仕事

44.無駄に費やす時間を見直そう。時間についての改善は大きな宝であると知ろう
45.仕事が終わってから翌日の仕事のことを考えよう。仕事場についてから昨日取り組んだ問題について思い出すのでは効率がまったく悪いから
46.必要性のない仕事は疑おう。行わなくても良いかもしれない可能性を考えよう
47.優先順位を決めよう。決めてから進もう
48.現在の仕事の進め方に疑問を持とう。既存踏襲は常に遅れをとっていく道だと思おう