ここはクソみたいなインターネッツですね

逆にクソじゃないインターネッツってどこ

プログラミング教育についての雑感

 初等教育にプログラミングを組み込むなどの風潮を受けて、一エンジニア及び一プログラミング講師として思うところを綴っておきたい。

私がプログラミングから学んだ最も大切なこと

バグのないプログラムなど存在しない

 エンジニア界隈でこの言葉はあまりにも有名である。昨今のテスト界隈の技術発展、とくにテスト自動化(E2Eも含む)やJenkinsやCircleCIその他 CIツールの標準化に鑑みても、未だ多くのエンジニアはバグのないプログラムを実現するために様々な努力と発明を日々進めている。しかし結局まだ、銀の弾丸は完成していない。

 私が受けた初等中等教育では、間違えることは恥ずかしいことであるという風潮があった。必ずしも明言されたわけではないけれど、授業中に挙手をして誤った回答をすると周囲からの嘲笑は確実にあり、また教員もそういった生徒に対し上手くフォローをできていたわけでもない。

 しかし現実問題、どう防ごうとしても人間はどこかでミスをする生き物だ。そのことについて強く印象の残っていることがある。社会人一年目、先輩や上司から耳にタコができるほど聞かされた言葉だ。

チャレンジしてミスをするのは別にいい。そのミスを繰り返さないよう、次から具体的な取り組みを実施しなさい。

 この言葉を聞いて、社会というものは学校とは真逆の性質を持った環境なのだと知った。例えば1000行のプログラムを空で書けば、ズバ抜けて優秀とまでは言えない平凡なエンジニアならば、一つか二つのミスを必ず犯すだろう。私の知る限り、エンジニア界隈ではそれは別に恥ずかしいことではない。むしろ「そんなのしょうがないに決まってるじゃん」という反応が返ってくるのが普通だ。エンジニアリングは、間違えるのが恥だという私の思い込みを消し去ってくれた。私はこの思い込みを私が受けた教育のせいにして「刷り込まれた」と騒ぎ立てるつもりはない。けれど、エンジニアをやっていたことで私が最も人間として成長出来た点はこの点であると今は確信している。

 このお陰で、人のミスを責めるのではなく共に改善策を考えることが自然と行えるようになった。誰のせいだとか、自分だったらもっと上手くできるとか、そういった個人のレイヤーの話をすることが学生の頃に比べると圧倒的に減った。そんな話をするエネルギーがあるのならば、ミスが再発しにくい開発フローや体制、ツールを模索する方が明らかに建設的なのだ。

プログラミング的思考力

 初等教育においてプログラミングを組み込む大目的として、物事を論理的に考え解決策を見つけ出すプログラミング的思考力を育むというものがあるらしい。教育庁だとか文部科学省かなんかが出している要綱に目を通したが、それ自体は素晴らしいことだと思う。生徒が生徒なりの論理を破綻なく組み立てられるようになれば、さらなる成長を期待できるだろうというのが私の意見だ。

 しかしながら、先述した「間違えることは恥ずかしいことである」という風潮が解決されなければその実現は難しいように思う。大学時代、なんとなくプログラミングの講義を受けてみたことがある。理系ではない学生が理系の教授に教えられていたその空間では、学生間にも学生と教授の間にも明らかに温度差が存在していた。それなりに前提知識のある学生はスラスラと問題を解き、全く知識のない学生は何がわからないかさえわからない状態に陥った。教授はそれらの生徒に無差別かつ無慈悲に「動くプログラムを提出せよ」という課題を与える。殆どの学生が一部の出来る学生の課題をコピーして提出したという顛末は、決して私の出た大学のレベルが低いこととは関連はないと思う。

 間違えることは恥ずかしい、出来ないことは恥ずかしい、悲しいけれど、この風潮は一部の社会人の間では未だ続いている。共通言語もない中で難しい言葉や知識で圧倒してマウントを取ろうとする人や、人にものを教えて自分を超えられるのを恐れる人。(特に低俗な)感情的思考で物事を動かそうとする人。

 平凡で優しい人々がこういった威力のある人々と共生する為には、自らの中に「正しさ」の軸を持つことが必要であると私は強く思う。注意しなければならないのは、正しさとは誤らないことでも謝らないことでもない。件の論理的思考、というやつで自身の中でスクラッチしていく条件分岐パターンのようなものである。こういう時はどうするか、こういう人はこういう時どんなことを考えるか、相手のことを知る為には何をすべきか、自らの中でそうした社会的生存方程式を組み立てていくしかない。

私がプログラミング教育に期待すること

 一つに、間違えることを恥とする風潮を軽減させてほしい。プログラミングはそれに対し非常に有効な手段であると私は考えている。どれだけ頭が良くてどれだけ運動が出来る子が居たとしても、完璧なプログラムなどいきなりは組めない。それを良い機会として、子供らの精神的成長を促してもらいたい。謂わば道徳教育として、教室というあの独特な雰囲気を持つ場所をより平和にするために、プログラミングを用いてほしい。

 一つに、子供らに与える成功体験としてプログラム及びプログラミングを利用して欲しい。運動も勉強もうまく出来ない子はいる。しかし私はプログラミングを数年間やってきて、何かこれはそれらの資質とは別のものが関係しているのではないかと思うようになってきた。他の分野で輝けなく心が折れてしまう子供をキャッチする一つの機会として、プログラミングを利用してほしい。

 一つに、ある程度の規格は用意するにせよ画一的かつ一方的な教育制度を作らないでほしい。プログラミングとは協調性と独創性、先見性など様々な才能を発揮できる稀有な作業である。業務でない以上、全ての子が同じコードや処理を書く必要はない。例えば入力した整数値 が10より大きいか小さいか判定するプログラムがあったとして、判定基準を10未満とするか10より大きいか、はたまた9以下か11以上とするかはその子なりの論理によって違って良いと私は思う。与えられた課題が解決されているのであれば、それは解答例として他の生徒に共有してあげてほしい。また、なぜその子がそのようにしたのか、例えば次の問題が少数を許容して9.9というような数値を入力しても正しく判定しろ、という問題であるとその子が知っていて判定を書いたのであれば、それはその子の先見性の高さの証明になる。このように、多くの課題解決方法があるプログラムという領域においてはその解法ではなくその解法に至る論理までも大切に教え、本人らに考えさせてほしい。

追伸、私はこうした話ができる方を欲しています

 私はボランティア団体においてプログラミングを大学生や新社会人に向けて教えています。今回の初等教育への組み込みや諸々の動きについては未だ浅学な為、お話の中で学び合いの出来る方がいらっしゃると非常に嬉しいのです。私は気になることであれば5時間でも40時間でも議論し続けられますが、少ない時間でも構いませんのでお話しを伺わせて頂ける方がいればご連絡お待ちしております。

僕のこの手は何を掴んだのだろう

どうやらこれ何も掴んでねえな、という感覚

 歳をとり、仕事を経験した。鬱を経験した。ニートも転職も経験した。たくさんの人に手を差し伸べてもらい、そして出来る限りの人に手を差し出した。相手が上にいようが下にいようが構いやしなかった。掴めるもの全てを掴みたいと思っていたし、色んなものにしがみ付いてなんとかやってきた。つまり僕はこれまで、必死に握力を鍛えていたのだ。差し伸べられた手を離さないように、握り返された手を決して離さないように、僕は常に何かを掴んで離さないよう努力していた。そんなつもりで生きてきた。

 であるならば人生における「何か」、即ち「未来」のようなものを掴むことが出来たっていいだろう。掴んだものの形がはっきり分かるくらい、感覚が鋭くなってもいいだろう。誰かの手をあたたかく握ることが、少しは得意になったっていいだろう。僕はそんな風に期待していた。しかし現実として僕はまだ、相手のことを考えた器用な手の差し伸べ方を知らないし、また逆に差し伸べられた手を感動的に握り返し、その相手を心から満足させることも出来ないままだ。

 それは何故か。今思えば、僕は手を限界以上に伸ばすことをしてこなかったのかもしれない。差し出された手や届く範囲のものだけを握りしめてばかりいて、届かない何かを掴もうと手を伸ばしたことは一度もなかった。それというのはつまり、出来る範囲のことしかしていないということになる。それはそれで悪いことではないが、それでは出来ることの範囲が拡がらないのもまた確かなことだ。握力を鍛えようというのならば当然、自身の限界を超えるまで筋肉を追い込まなければならない。僕は努力をしているつもりだったのだけれど、しかしそれは結果的になんの成果ももたらさない、努力とは呼べない不毛なものであったわけだ。

 とはいえ、自身にそれほどストイックに向き合える人間は少ないだろう。先ほどの比喩を引き継げば、握力を鍛えなくとも「楽な握り方」のようなものは誰にだって身につけられる。何事も、なんとなしにでもとにかく続けていれば慣れてくる。効率よく物事を進めるにあたって楽なやり方を覚えていくのは重要なことであるし、当然すべきことでもある。問題は、効率化し浮いた時間に自身の可能性/能力を拡張していけるかということである。

 ああ、自己啓発的なことやお説教のようなことを記したいわけではない。少なくとも僕自身はその重要な課題に充分に取り組めていなかったという振り返りをしているに過ぎない。

 ではこれからはどうするか、という話になるわけだが、「じゃあこれから頑張ります」などと出来もしない嘘を吐くことを許せないのも僕の限界を象徴する心情だ。だってそうだろう、今まで出来なかったことをこれから頑張りますと言ったところで信憑性のカケラもない。具体的にどのように改善していくのか、その為には何を考えなければならないのか。少なくともその2点を明らかにしていない宣言や抱負など価値はない。そして今僕はその答えを出すことが出来ない。

それでも、大切なものを掴み損ねないために

 つい最近、久しぶり連絡が取れた友人がいる。僕にもたくさんのことがあったように、彼にも色々なことがあって、諸々の事情から連絡を絶っていたのだということを聞いた。僕は彼について、人生において最も切実と言えるほどの後悔を抱いていることがある。

 自らの中での彼がいかに大きな存在であったか、僕は生活の中でそれを見失ってしまった。故に、取り返しのつかないことをした。そう考えていた。しかし今回、彼と連絡が取れたことでその考えは変わりつつある。取り返しのつかないことなど、本当の意味ではないのかもしれないと思えるようになってきている。彼が死んでいたのならば、僕の中でのその出来事は取り返しのつかないものになってしまっていたかもしれない。しかし彼は生きていた。そして話をしてくれた。ならば僕らの関係を修復することも可能だろう。僕がもう間違えないように、気をつけることは可能だろう。

 何千何万回と同じ言葉を繰り返している気もするが、人は不完全で、間違える生き物だ。しかし、それを自覚できる生き物でもある。生きている限り、一度の失敗に引き摺られる必要はない。やり直せるならば、丁寧にやり直せばいい。違う種類の過ちを犯してしまうのは仕方のないことで、同じ過ちを繰り返さなければそれでいい。今度こそ彼を大切に、そしてまた彼と同じように大切に思っている人を見失わないように気をつけたい。やはり僕は意気地なしで、具体的にどうするかは言えないけれども、同じ失敗をしないように気をつける。彼との再会は、そうしなければならないと強く感じる出来事だった。

 自分に厳しくあることは非常に難しい。苦手だ。甘やかしたくてしょうがない。しかし自分が大切にしているものを喪うリスクを考えれば、僕は努力をしなければならない。努力をしたい。出来るかは分からないけれど、そうしていきたいし、そんな風に生きたいんだ。

怒ること、叱ること、たしなめることの違い、理不尽との死闘

怒り、という下らない快楽

 怒りという感情は、人間が持つ他の感情と比較してもかなり強い力を誇る感情であると思う。瞬発力、瞬間最大風速でいえば、あらゆる感情の中で最も強いものなのではないかとさえ感じる。

 さて、そんな怒りという感情はどんな時に生まれるのだろう。僕が経験則から導き出した結論としては、理不尽や納得のいかないこと、弱みを突かれた際の防衛、自己正当化の拠り所として生まれるのではないかと考えている。

 仮にこの仮説を正とすると、怒りという感情は非常に独善的なものであると言える。相手を打ち負かす為や自身を守る為、という由来には客観的な観点が存在しない。つまり怒っている人間の視野は非常に狭く、自身のことしか見えていない。盲目的であり、建設的な思考が出来ない状況にあるといえる。

 では、怒ることは悪いことか。それ自体が悪いわけではない。人が生きていく以上、自身を守ることはこの上なく重要なことである。それに、そもそも全く怒らない人など聖人か破滅的な思想の持ち主くらいだろう。このタイミングで吐露するとこれもまた自己正当化のような形になってしまうが、僕も怒りを覚える瞬間は多々ある。そしてそれはある程度仕方のないことであると諦めの心を持つべきであると思う。

 しかし、こと教育という場においては少し話が違い、怒りという感情は悪でしかない。教育者が怒りを露わにすることは被教育者に一切の成長をもたらさない。それは一方的な攻撃、自己満足に過ぎない。僕は強く主張したい。この真理を理解していない教育者などそもそも教育者と名乗る資格はない。八つ当たりをする前に、自らの欠陥、為してきた教育の失敗を疑い、怒りの真の原因と背景を分析、建設的な改善を為すことが教育者としての義務なのだから。教育者とはいえ一人の人間であり、責任転嫁の快楽に溺れる権利はある。しかしそれは被教育者をそれに付き合わせる権利と同義ではない。この点についての反論はどうしても認められない。そしてこの文章の目的は他人を批判することではなく、自戒することであることも予め述べておきたい。

叱る、という行為に潜む幻想と毒

 対して、叱る、という行為は比較的建設的な行為であると言える。相手の不足を指摘し改善を求める。なるほど被教育者の成長が期待出来る一つの有効な手法であると認めざるを得ない。僕が子供であった頃、両親は僕を丁寧に叱ってくれた。僕が新入社員であった頃、優しい先輩は適切に僕を叱ってくれた。そのおかげで今の僕がある。それは理解も納得もしている。故に、叱るという行為を批判することは僕には出来ない。

 しかし、僕はどうも叱るという行為を好かない。恐らくその理由の一つに、僕が人にものを教える際に大切にしているモットーがある。

 一般的に教育者と被教育者と言えば、なにかその二人の関係に明確な上下関係が存在するような聞こえがある。けれどもそれは大いなる間違いだ。教育者であろうが被教育者であろうが人間と人間であることに違いはない。立場はどうあれ、人と人、人間関係という領域においては常にそれこそが本質である。虚しいことではあるが、しかし我々が一所懸命に作り上げてきた暗黙の社会構造、ヒエラルキー年功序列という悪習は人々に本質を忘れさせる毒を持っている。

 確かに教育者と被教育者の関係において、思いやりや尊敬、謙虚等の作用により表面上の上下関係が構築されることはあるだろう。しかしその関係は、あくまでその場その時の立場や印象、感情に準拠した不確かなものだ。ある種の合意が限定的かつあやふやに存在しているだけに過ぎない。その感情が善か悪かという議論からは距離を取るとして、人の感情は何にせよ揺れ動き覆るものである。それを忘れ、年次や立場、年齢などに準拠した上下関係を構築しようとする罪深き人がいる。またその関係が絶対性を持ち永遠に続くものだと勘違う人もいる。彼らは悪習が映し出した幻にまんまと惑わされてしまった悲しくも卑しい人々だ。

 何を隠そう僕自身も、そのような態度を取ってしまったことがある。今、僕はそのことを思い出すと叫ばずにはいられない気持ちになる。

 当時僕がそのような態度を取ってしまった相手は、精神的に大人だった。余裕のある対応を貫き、僕をいなしてくれた。これは僕にとって、この件で唯一幸運なことだったと言えるだろう。果たして相手が彼でなかったらどうなっていただろうか。そしてその態度を受けていたのが彼ではなく、当時の未成熟な僕であったなら僕は何をしでかしてしまっていただろう。彼か僕か周囲の人間か、いずれにせよ誰かの心身は壊れてしまっていたかもしれない。そんな想像が僕の頭にへばりつき離れない。

 話が逸れた。先に述べたように、一つの手法として上下関係を構築することや、マウントを取って相手に非を認めさせることを批判はしない。つまり、叱ることは悪いことではない。しかし、その関係を本質的な意味での上下関係であると勘違いをし、つけあがることがあってはならない。傲慢な振る舞いをすることはまだいい。しかしその傲慢さの根拠と目的を確実に持たなければそれは悪でしかない。人は僕は、何より自覚をしなければならないはずだ。僕は常にその意識を持たせるよう、自身に対する攻撃を続けている。

たしなめる、という行為の越境性

 次に、たしなめるという行為並びにその行為が持つ意味について話したい。

 改善や反省を促すという意味では、先の叱るという行為と類似したものである。一般的な感覚ではほぼ同じ行為を想像するだろう。けれども実は少しだけ意味の違う行為である。

 たしなめる、という行為は立場や経験の違いを越境する権利を持つ。僕はそう捉えている。つまり、上司であろうが同僚であろうが先輩であろうが後輩であろうが、年齢や年次に限らず相手が反省すべきであると確信を持ったのなら、自身を顧みる必要もなく無条件にたしなめてよい。また一方で、たしなめられた側にはその促しを受容するか反発するかはたまた無視するか選択する権利を持つ。論理というものは、いくら本人からすれば正しそうに思えても必ず破綻の可能性をはらんでいる。人々がいくら滑らかな社会やコミュニケーションを構築しても、価値観や見解を統一することなど出来はしないのだから当たり前のことだ。

 加えて、人間は完璧な生物ではないことも指摘しておかなければならない。どれほどの経験や立場があろうと間違ったことをしてしまう。首相であろうがニートであろうが常に全ての人から正しく見える人間などいない。僕自身も人にものを教える立場にありながら日々間違いだらけだ。

 だから、たしなめることもたしなめられることも臆す必要はない。そこに立場などを考慮する余地はない。間違っていると感じたことをそう表明することは特別よいことでも特別悪いことでもない。たしなめることもたしなめられることも、他の方法より遥かに建設的な行為だと信じている。権力などという不確かな力を振りかざすことなく、個人としての論理や信念からの指摘をしてくれる人が僕は好きだ。だから僕自身もそうするし、誰もがそうあって欲しいと願う。

理不尽との死闘

 不完全な人間が作ったものは、当然不完全である。バグのないプログラムなどない。それと同様に完璧な言語や文化、制度や社会、規範やルールなど存在しない。これらは全て本来人間が相互に生きやすい世界を構築すべく造られたものだ。しかしそれらが内包する不完全性から、想定外の理不尽が生まれることがある。人は、人の為に作ったはずのもので人を苦しめることがある。武器と戦争の歴史に鑑みても、それは最早仕方のないことだ。理不尽というものは、どうしても生まれてしまうものなのだ。

 では理不尽を体感した人間、言い換えれば理不尽に侵された人間がすべきこと何か。絶望し、諦め、恭順することか。僕はそうは思わない。反骨の憤怒を燃やし、理不尽を憎むことか。そちらの方がまだマシに思える。が、充分ではない。

 理不尽というものは、容赦なく我々を殺す。なんの比喩でもなく、それ人を殺すものなのだ。であるならば、我々は我々の生存戦略として、遭遇した理不尽は確実に殺しきらなければならない。全ての理不尽を殺すことは我々に不完全性がある以上不可能だ。しかし、目に見えたもの、あるいは体感したものを殺すことが出来ないはずがない。人として生き、人として尊厳を持とうとするならば、理不尽を殺すことは人の義務であるといえよう。

 僕はこれまで、錯覚し、自身を攻撃し、他者を愛し、理不尽に殺され、理不尽を殺してきた。人間としてこの世に産み落とされた以上、恐らくこれからもずっとそうしていくのだろう。そしてそれを語り続けるんだろう、このクソみたいなインターネッツのなかで。

誰がために鐘を鳴らす

マジカルナンバーという概念

 マジカルナンバーという言葉がある。ジョージ・ミラーという心理学者が提唱した仮説/概念であり、人間が短期的に記憶できる物事は7±2個程度であるという話だ。彼自身7という数自体には確信を持っていたわけではなかったそうで、近年ではネルソン・コーワンが提唱した4±1の方がより正しいとも言われている。

 このマジカルナンバーという仮説はUI設計、マーケティング自己啓発など様々なジャンルに応用されている。人が日常的に隙間時間を費やすスマートフォンのアプリは3〜5つ程度であるとか、UIにおける操作方法及びボタンの数はより少ない方が優れているとかそういった論の補強に用いられる。

 経験則でいえば、確かにやるべきことが4±1を超えた数蓄積されると脳がこんがらがってしまうというのは一定の説得力を感じる。仕事や勉強においてタスクが詰まっており、「次はなにをすればいいんだっけ?」と記憶/判断力の鈍りを実感した経験は誰にでもあるだろう。そういった混乱を避けるために私達はTODOを管理するアプリケーションを利用したり、またアナログな方法として付箋でやるべきことをメモしておいたり、手帳に予定を書き込んでおいたりする。

集中と散漫

 マジカルナンバーという概念の正当性は置いておいて、何かに集中していると別の何かが見えなくなってしまう、ということは確かだ。下手をすると目の前のことに過集中してしまい、今やっていることの本来の目的やより本質的な問題を忘れてしまうことさえある。

 例えば私は今後輩のOJTを行なっており、度々OJT用の資料作りや計画の修正をしている。それはそれで重要な作業ではあるのだが、しかしその作業をしている間、後輩に「話しかけづらさ」のようなものを感じさせてしまっていることがある。その仕事における本来の目的は後輩の成長を促進することであり、計画を立てることや資料を作ることは手段に過ぎない。頭では理解している筈のこの事実がすっかり見えなくなってしまって、今目の前の仕事こそが最重要なものであると勘違いしてしまうのだ。正に本末転倒というわけである。

 当然私は完璧な人間ではないから、このようにある程度視野が狭くなってしまうことは仕方のないことである。しかし、そうならないよう気をつけることはできるはずであるから、これは正しく私自身の怠慢であると言える。このような経験と論理から、私は本来の目的を確かに認識し、現在行なっていることはその目的に対しどう寄与するのか、という観点を忘れないよう心掛けている。無論現状でそれが充分であるとは言えない。

 しかし、この視点を持とうとするかしないかということ自体が重要であると私は思う。人が何かを為すということは、何かしらの本質的な目的があってのことである。それは誰のためのことで、何のためのことなのか。果たしてその目的に対し為すことは正当であるのか。私達は私達の脳が完璧でないことを理解し、己の散漫さを正しく認識すべきである。キリストの言葉を借りれば、立ち返れ、というわけだ。

 私がエンジニアをやっているということもあるが、目的に対する手段の正当性を検証すること(それも定期的なものについては尚更)人間はとても苦手であると感じる。本末転倒、なんてそこかしこで起こっている珍しくもないことだ。

人間の盲目的な性質が影響を及ぼす範囲

 この集中と散漫の性質はなにも仕事のみに見られるものではなくて、プライベートの時間やはたまた人生においても同様である。

 私が最近特に後悔や無力感、失敗を痛感しているのはむしろ仕事以外の部分だ。再度例を挙げれば、私が仕事を早く切り上げて帰宅する時は大抵、自身の休息の為かパートナーとの時間を大切にする為かのどちらかである。

 自身の休息の為、もっと言えば長時間睡眠の為に早く帰宅したにも関わらず、帰ってから仕事をしたりくだらないことに時間を使ってしまうことが多々ある。くだらないことをする時間もまた大切な時間となることもあるが、殆どの場合そうなってはいないのが現状である。せめて本を読んだり映画を見たりと何かしらリフレッシュとなるようなことができれば良いのだが、何をするでもなくスマホを触りながら気が付けばいつもと同じ時間になってしまっている。そんな時の焦燥感はなかなかにキツい。結局、翌朝だるい身体を持て余しもっと寝ておけばよかったとリポビタンDを飲み干すことになる。焦燥の分普段よりもむしろ辛い1日が始まる。

 それでも自分の為に何か出来なかった日はまだマシなのだ。自分自身が辛くなるだけなのだから、自業自得、自己責任であるとして我慢はできる。よりひどいのは、パートナーとの時間を作ろうと早く帰ったのに無為に時間を消化してしまった時だ。自分自身も悲しいし、何より相手のストレスを溜めることになる。後悔、懺悔したところで何の解決にもならないし、自責の念から何もかもが上手くいかないような気分になる。

 人生という大きな括りにおいても正に同様で、何の為に今自分はこうしているんだっけ、と不意の虚無感に襲われることは珍しくないだろう。田舎暮らしをしながら波風立てず穏やかに自分らしく生きていこうと考えていて、しかし実際は都会の荒波の中で一つの小さな歯車にしかなれていない。そんな話は現代において聞き飽きるほどよくある話だ。

 労働をしてスローライフをおくるだけの貯蓄を得る。本来の目的に即した行動を取っているはずなのに、いつのまにか手段の目的化が進行し労働自体に意味を見出すようになってしまう。それはそれで人間の順応性というか自己防衛の尊さを感じさせる適応ともいえる。しかし、それって本当にしたいことだったんだっけ、という疑問からは逃避できない。

摩擦との闘争

 そうした盲目化や手段の目的化に対抗する方法は、何においても先述した通り定期的に立ち返る他ない。自分がしなければならないこと、自分が為したいこと、誰かのためにしたいこと、ありたい姿、そして客観的な現状、理想との乖離。それを振り返ることによって初めて私達は自身の行為の正当性を問える。

 当然ながらそれは非常に激しい自問となる。現実と理想における距離など、出来るならば向かい合いたくないのが人間の心というものだ。実際このようなことを書いているだけで自身に重い枷をかけている感覚がある。しかし一方で、本当にこのままでよいのか、お前は今どこに立ちどこへ向かおうとしているのか、そもそもお前にはそれが見えているのかという魂の絶叫とでも言うべきエネルギーの滾りを確かに認識できてしまう。

 何かをすると、代わりに何かができなくなる。何かを持つと、代わりに何かを持てなくなる。マジカルナンバーがこれほどまでに人々の興味を惹くのもまた、本質的にはこの有限性の真理を象徴する概念であるからかもしれない。何故なら人類は、なるべく多くのことができるよう、なるべく多くのものを持てるよう、この真理に対する闘争の歴史を積み上げてきたのだから。

 きっとこれからも私達はこの摩擦に削られて何かを得る代わりに何かを失っていく。しかし何のために、誰がために鐘を鳴らすのかを今一度見つめ直すことだけは、続けていきたいと私は願う。

人間の才能について最近考えること

眼差しという才能

 性質ともまた違う、もっと潜在的かつ根本的な領域で、天才的な眼差しを持つ人間がいる。上辺に踊らされることなく、本質を見抜こうとするその鋭さは正に才能と言える。最近そういった才能を持つ人々の強さをまざまざと見せつけられることがあって、非常に感銘を受けた。彼らに物事はどう見えているのだろう。僕は飽きっぽく専門性を高められない人間であるから、どうにかして彼らの才能を盗みたいと常々考えている。しかしなかなか難しい。ふとした瞬間に甘えのようなものが出てしまって、充分に真理を探究出来ない。正しくは、その努力を継続することが出来ない。僕は、意識して努力しないとその眼差しを持つことが出来ない。

 歳をとり、人の才能に嫉妬をすることが減った。嫉妬する前に尊敬してしまうようになった。これはこれで善い変化にも思えるが、対抗心というか、強いエネルギーをもって彼らと対等以上の眼差しを持ち続けようという意志が揺らいでしまう。諦念をつらつらと書くのもあまりにデカダン過ぎるか。しかしまあ、若い才能や若さという資質にはどこか眩しさを感じるようになってしまったのは事実だ。羨ましいとも妬ましいとも思わない。ただただ感嘆してしまう。失いたくないものだ、若さというものは。

努力を継続する才能

 元々の能力、成長速度に驕らず努力を継続できる人間がいる。これもまた相当な才能だと言える。そして僕が持ち得なかった才能だ。最終的に勝つのはこういう人だ。驕らず努力を続け、気がつけば誰よりも専門性や信頼を獲得している。少しずつの積み上げを苦に思わず、堅実に信用残高と能力を身につけていく。素晴らしい。僕が一番欲しかったのはこの才能だ。そして僕が凄まじく遠い距離を自覚しているのもこの才能に対してだ。

 四半世紀以上生きてきたことによって、一瞬の辛さにはある程度耐性が出来た。しかし継続的な苦しみにはまだ弱い。とくにエンジニアという職種においては、日々進化していく技術を追わなければならない。考えれば途方も無い話だ。常に新しいものをキャッチアップしていかなければならないわけであるが、しかし確かにそれが出来る人間は一定数いるのだ。先程僕は歳をとり、妬みや羨みを持たなくなったと言ったが、僕はこの才能を持つ人に対しのみ未だ劣等感を覚える。客観的に捉えて、明らかに彼らの方が優れた人間だと僕の眼差しは語っている。

素直さという才能

 自分が分からないことを素直に認めることは非常に難しい。自分に非があるなんて考えたくもない。歳をとるということはそういうことだ。人間は元来嘘をつき誤魔化す能力に非常に長けている。残念ながらそれが役に立つシーンも確かにあるのだが、基本的にそれは素直さという才能に勝てることはない。素直でいられる人は自然と周囲の人間に助けられ、人を助ける。何事も真摯に受け止め吸収する。そしてまたそれが同時に人々を助けることになる。他人を巻き込み、他人から吸い上げ他人に還元する。理想的なサイクルだ。

 僕が自分から最も遠い才能であると感じるのがこの素直さという資質だ。もはや距離がありすぎてそうなりたいとも思えない。自分が少しも近付けないからこそ、本当に心から尊敬できる。

 たまたま今所属している組織にはこの才能を持った人が多く、その点で言えば僕は非常に恵まれている。彼らは常に自らを省み、人の意見を素直に受け止める。本人はただがむしゃらにか自然にか生きているだけなのかもしれないが、僕のような上辺だけではない本当の意味での他人に対する尊敬、自身に対する謙虚さを忘れずにいられる人間はまさしく彼らしかいない。彼らとは非常に付き合いやすく、共にいるととてもいいことがある。なんだか、彼らの放つ眩いばかりの光は僕さえも明るく照らし、僕の抱える醜い部分を消し去ってくれるような感覚がある。

 人の上に立つ者がどうあるべきなのかは僕にはわからない。しかし、僕は少なくとも共に歩くのならば素直な人がいい。

魅せ方という才能

 世の中には、自分の魅せ方が極端に上手い人がいる。他人からどう映るか、どうすれば自分に利のある見え方をするか、彼らは自然にその観点を持ち続けられる。刹那主義かつ快楽主義の極みのような人間である僕には、当然ながらこの才能もない。やることはやっていても、すごいことをやっていても、それを巧く魅せることができない。普通の仕事を普通にこなしているだけなのだが、何故か根拠もなく信頼したくなる人はいる。

 キャラクターというよりは、セルフプロデュースに関する才能なのだろう。この才能を持つ人が困っていると、無性に手を差し伸べたくなる。堪え性のない僕なんかは、いくらいけ好かない相手でもすぐに助けようとしてしまう。弱みの魅せ方まで彼らはうまいのだ。計算づくだとしても素晴らしい。この才能だけは唯一自分になくてよかったと思う才能だ。思うに、僕は魅せ方が下手だからこそ平凡にまで成り上がれた。この才能があったなら、僕は無能も無能、何も出来ないくせに口だけ達者な奴になってしまっていただろう。

楽しめるという才能

 何をやるにしても楽しめる人間がいる。信じられないが、確かにそんな奴がいる。何か異常な神経伝達物質が脳内に充満しているのではないかと疑ってしまうくらいの奴だ。彼らは果たして本当に僕と同じ種族の生き物なんだろうか。何をやっても楽しいならば、きっと彼らは何にでもなれる。好きこそ物の上手なれという格言があるけれども、ならば彼らは全知全能になり得る存在とまで言えるかもしれない。

 働くのが楽しいという人に、思い切って聞いてみたことがある。何がそんなに楽しいのか、家にいる方が楽だし疲れないんじゃないかと。すると彼はこういった。

会社で仲のいい奴と集まれるってだけで楽しくないか?

 僕には全く同意できない発言だった。例えば家に帰るのが嫌な理由があるとか多動的な性質があってじっとしていられない等の話なら理解出来なくはないが、彼の場合はそうではなさそうだった。もう全くもって意味不明だ。人生を美しいとか、生きてるだけでいいことだとかいう人はもしかするとみんなこの才能を持っているのかもしれない。少しの理解も共感も出来ないが、生物として最も優れた才能はこの才能だと感じる。

非才を自覚する才能

 僕が唯一持ち得た才能はこれだ。僕にはどうやら上に挙げたような才能はない。彼らと同じ空の下で同じように生きているはずなのに、僕はやはり彼らのようには生きられない。

 勘違いしないでほしいのは、これを悪いことだと考えているわけではない。諦めが肝心なんてよく言うけれど、僕はそこに関しては非凡な才能を発揮できるというわけだ。

 自分は天才だ、やれば出来る子だ、と思い続けてきた四半世紀。それは長い年月だった。しかし僕はこの才能故にその莫大な時間の威力を凌駕する熱量で、自分を諦めることができたのだ。この点について、僕は自分の才能に感謝の念を覚えている。

過去の自分と今の自分を振り返って

 恐らく、前職の同僚達は僕の能力を低く感じていただろう。彼らの意見は一方では正しい。みんながそれぞれ持っている上で列挙したような才能がぼくには欠落していたから、そう見えても仕方がない。

 みっともないようだけれども、僕はもう人になんと言われようが誰にどう見られようが本当にどうでもよくなってしまった。自分が明日生きていようが死んでいようが本当にどうでもいいのだ。世間体とか、お金とか、生きる意味とか、全部が全部どうでもいいのだ。今はまさしく慣性の法則に従順に、ただただ日々をこなしている最中であるし、恐らくこれからもきっとそうしていくのだろう。他人に叱られても嫌われても何も思わない。仕事上の建設的な話は半ば無我の境地というような感じではあるが真摯に聴く。一生懸命という程は決して頑張れないけれども、それなりの質でにそれなりのことをそれなりの速度でそれなりにやれる。それが僕の今のところだ。

 しかし一方で、それでもどこか心の中に自身の才能を見つけ出したいという無自覚の欲求があり、ぼくの心は未だ無知の知と呼べるほど成熟はしていない。この厚かましい感情は不思議なものだ。救えないのは、先述したような才能のある人間、または成熟した人間になりたいというわけでもないところである。このままの僕で出来ること、なれるポジションのようなものを模索しなければならない。何かいいアイディアがあったら教えてくれ。

雑談の重要性 - 雑談が無駄だという迷信

雑談すると仕事が始まる説

 あくまで個人の見解だが、世の中のチームの半分以上は雑談が足りていないチームだと思う。現代においても未だ雑談ばかりしていると「サボっている」と周囲から認識されてしまうのは事実だし、確かにそればっかりしているのはよくない。しかし、私語を慎め、という規律が正義とされるのも如何なものかと最近感じる。

 雑談が持つ力というか、雑談する時間を確保するということがもたらすメリットも多大にある。共に仕事をしている人は当然として、普段あまり業務上の関わりを持たない人と話すこともとても大切だ。

 共に仕事をしている人のことはなるべく知っている方がよい。プライバシーの問題もあるから出身地や年齢、家族構成、趣味、パートナーの有無をどこまで知るべきとは明言できない。しかしその人なりのキャラというかカラーというか、どんな時に何を考える人なのか、ということをせめて想像くらいは出来るようになっておくべきだ。

 雑談から仕事が始まることもある。というかエレベーターピッチなんてのも雑談と自己紹介の間みたいなものだし、そんなに珍しいことでもないだろう。例えば僕の場合、今考えていることを言葉や文章にして発したいという欲求の赴くがまま、あまり知らない先輩や同僚に話しかけたりチャットを送ったりすることがある。すると大抵、"なぜ自分に?"という疑問を抱えながらも相手なりの見解を返してくれたりする。中には実は自分も興味ある領域なんだよね、面白そうだから企画にしてみようと話が持ち上がったりすることもある。

 ついこの間コミュニケーションの難しさについて記事を書いたが、無計画で無遠慮、無鉄砲なコミュニケーションというのも時には役に立つのだ。

悪気はなくとも、言葉は人を傷つける。 - ここはクソみたいなインターネッツですね

 僕は初対面の人に嫌われることが多いので、普段はあまり突拍子なことはしないようにしている。けれどもやはり、感情の昂りや無意識的な手癖のようなもので時折そういったことをしてしまう。少し冷静になった際に「なんでこの人に急に話しかけてしまったんだろう」と自責の念を感じることもあるが、しかし結果的にはいいことが起こった経験の方が多い。自分以外の人は自分より優秀なのだから、そんなことは当たり前とも言えるが。

 特に自分より、その時々の意味で経験豊富な人に話しかけるとよい。なぜなら経験豊富で達人的な人は大抵余裕があり、一見下らなそうなことでも真摯に話を聞いてくれるからだ。そして、そういった人たちを選ぶことで自分へのプレッシャーも与えられる。そんな親切な人たちの時間を無駄にしないよう、なにか建設的な着地点を見つけようと努力をして思考するようになるのだ。達人達は僕の「こんなことを思っている」という一方的な表明を、コミュニケーションを通して「それは根本的にはこういう問題なんじゃないか」と課題の見える化を補助してくれる。課題の輪郭が明確に見えているならば、あとはそれを解決できるようなアプローチ方法と誰の力が必要かを考え行動に移すだけだ。僕は実際、こんな風に自分に仕事を与えていることが多い。

 そんなことを繰り返していると、気がつけば周りに相談ができる相手が増えている。特に課題を発見するためのコミュニケーションを手伝ってくれた人なんかは、課題を一緒になって発見した、という当事者意識があるので進んで協力してくれるようになる。そして、こんな問題があるのであなたの力が必要なのです、とお願いされて悪い気がする人は少ない。尊敬と信頼を込めてしっかりとお願いすれば、相手もまたそれを返してくれるものだ。

 こんな風に、僕は人に頼ることで仕事を円滑に進めることを推進している。またその入り口として雑談というものが重要になり得ることも主張したい。

雑談の必要性と難しさ

 では全てのチームが雑談をする時間を設けるべきかというとそうではない。熟練したチームにおいては、そのような時間を設けずとも必要があれば自走的に雑談をするだろうし、相互理解が充分に進んでいるのなら雑談を通さなくても課題を共通認識として持つことも可能である。既に理想的なチーム構築が出来ており、雑談をあえてする必要がないというチームもあるわけだ。

 また、雑談がうまく機能しない場合もある。例えばマイクロマネジメントやパワーマネジメントを採用しているチームにおいて、雑談は雑談でなくなることが多い。当初は雑談の場として時間を設けたにもかかわらず、普段の関係性から報告/連絡/フィードバックの場に変化してしまう。マネジメントとは部下の行動や思想を全て掌握することではない。部下を理解/信頼し、自身やチームの成長を促進することを言う。相互理解を進め、一定の権限を委譲し、問題となりそうな点をあらかじめ排除し、それでも起きた問題の責任は自分が取ると明言し、相互に信頼関係を構築することがマネジメントの第一歩だ。トップダウンで思い通りに部下を動かすことを至上とするチームでは、雑談を充分に作用させることは難しく、恐らくは誰にとっても無駄な時間になるだろう。

 そして、この雑談の場というのはなかなか下から発信して設置するのは難しい場合が多い。声の大きい人は「ちょっとお話があるんですが」の一言を発することに対する抵抗がないかもしれない。実際僕は声が大きい方なので何も気にせずそのようなことができる。しかしやはり声の小さい人はどうしても「雑談など持ちかけては貴重な時間を無駄にさせてしまうのではないか」というプレッシャーを感じてしまい、なかなか言い出せないものだ。

 であるからこそ、自分のチームに雑談が必要かどうか、マネジメントを担っている人間が日々チームメンバーの観察をしながら判断すべきなのだ。その際気をつけて欲しいのは、雑談にアジェンダはいらないこと。雑談の場に力関係を存在させてはならないこと。まずは相手の話を傾聴すること。相手を否定しないこと。遠慮や忖度をさせないこと。雑談は必ずしも仕事に繋がるとは限らないこと。それでも必要な雑談があると認識すること。

 以上、私見でした。

プログラミング講師が考える、プログラミング学習に必要な資質と講師側の規範、また教育というものについて

 真新しいスーツに身を包む方々が目立つ季節となりました。私の下にも新卒の方が2名程つくことが決まり、久しぶりにできる後輩というものへの接し方に関する不安、彼らを一人前に育て上げなければならないという責任の重さから、柄にもなく非常に緊張しています。しかしこれは良い機会であると前向きに捉え、このタイミングで今一度後輩や教育というものに関する私の考えをまとめておきたいと思います。

 まずはじめに自己紹介をしておくと、私はCODED@というプログラミング講座団体を立ち上げ、講師としてプログラミング講座を実施しております。

 私たちの講座は二日間の短期的な講座であることが特徴です。webサービスの基本的な動き方の説明から、実際にハンズオンでapache,PHP,MySQL,HTMLを利用してtodoリストを動かしてみるところまで体験ができます。プログラミング未経験者、初学者をメインターゲットとしております。実績として、就活生向けのイベントやIT企業の内定者研修として実施させて頂いております。

 企業様や様々な方のご協力のおかげで、今では受講生はのべ50人以上にもなり、それなりに知見やデータが溜まってまいりました。二日間という極僅かな時間にもかかわらず、プログラミング能力やプログラム的思考能力が伸びる方となかなか伸び悩む方というのがだんだんとみえて参りました。

 今回は私なりに感じたプログラミングに必要な資質と、プログラミングを教える際の注意点をいくつかまとめておきたいと思います。尚、現在も所属している企業で内定者研修を行っている最中です。

プログラミング学習に必要な資質

 教育による成長というものは、教える側教わる側双方の要素が複雑に絡み合っているものです。本章では受講者側にフォーカスしていきたいと思います。

 些か乱暴な分け方かとは思いますが、私の経験から伸びる受講生と伸び悩む受講生の間にある違いについて大きく分類します。

  1. 意欲と目的
  2. 好奇心の豊富さ
  3. 献身の精神
  4. 楽しめるかどうか

1. 意欲と目的

 いきなり身もふたもない話ですが、やはり意欲のある受講生とそうでない受講生では差が生まれます。意欲とは何か、というと「習得したい」という思いです。私の団体は基本的には受講希望者を募って講座を実施しています。つまり積極的に参加して下さる方が集まっていると言えます。にも関わらず、受講生の意欲には差があります。昨今、世の中ではBTC人材というビジネス、テクノロジー、クリエティブ分野に横断的な知識を持つ人材が求められていますが、やはりそのような人材をを育てる、あるいはそのような人材になる、ということは非常に難しいことです。

 何より、未経験からプログラミングを学びたいという方は大抵「一般常識としてちょっと触ってみたい」、「なんとなくやった方がいい気がする」というふんわりとした動機から受講されます。確かに現代社会においてITリテラシーは必要ですし、役に立つ場面も多いことでしょう。しかしやはり、何のために技術を学ぶのかという目的を明確に持っている人とそうでない人では食らいつく力が違います。

 強い意欲と目的意識のある受講生には様々な方がいました。目的もそれぞれ違っていて、とても興味深いのです。エンジニアになりたい、作りたいサービスがある、入りたい会社がある、ハッカーに強い憧れがあるなど分かりやすい目的に始まり、就活に失敗したのでスキルを付けなければ生きる術がないと考えていた方、家業のIT化や効率化を推進することで実績を得て、お兄さんから家督の座を奪いたいという方など、中々差し迫った事情をお持ちの方もいらっしゃいました。

 私は精神論や根性論はあまり好きではないのですが、意欲というものはその維持が可能な限り大変に人間の才能を伸ばす要素であることは間違いありません。そして、意欲というものは明確な目的があってこそ生まれるものであるということもまた間違いないことでしょう。しかし私の努力不足故に申し訳ないところではありますが、残念ながら、やる気がある方が必ずしも伸びるというわけではありませんでした。そちらは次の要素に関わるお話です。

2. 好奇心の豊富さ

 知的好奇心の強い方というのは、凄いです。3を教えるだけで10以上のことを自走的に学びます。彼らに言わせれば「じゃあこうしたらどうなるんだろう?」という問いを立てて実践することでより理解が深まり、達成感を感じるそうです。

 私なんかは学生時代はまともに勉強をしておりませんでしたが、きっと彼らはそうやってずっと勉学に励んできたのでしょう。やらされているのではなく、自分で仮説立てから検証までを自発的に行うのです。私たちの講座では練習問題を用意してあるのですが、彼らはより発展的な応用問題を自身で作り、それに挑戦しようとします。そして、詰まっても決して答えを訊こうとはしないのです。ここからここまでは理解できていて、ここでどのような技法を用いればいいのかだけがわからない。それをそのまま教えるのではなく、ヒントをくれと要求してくるのです。メンティとしての才能がそもそもあるのです。

 こういった受講者には、敢えてあまり手をかけないようにしています。日本の教育による悪影響なのかどうかは分かりませんが、彼らは我々に干渉されることを嫌います。自身がおかしな仮説を立てているかもしれないから見られるのが恥ずかしいとか、勝手に進むことはいけないことというふうに考えているのでしょうか。

 何にせよ、意欲や目的はさほど明確でないのに、自由にやらせておくだけで勝手に成長していく受講生も一定数いるのです。これは一種の才能であると私は思います。誤解のないように申し上げておきますが、これはプログラミングにおいて才能が必要であるという話ではありません。学習という領域において、メンティとしての才能、言い換えるならば衝動とさえいえる彼らの好奇心は大変に有効な才能であり、おそらく彼らはどんな分野の学習でもその才能を発揮できるでしょう。

3. 献身の精神

 また、5,6人以上の受講生に教えていると大抵1人は献身的な学習方法を取る方が居ます。周りの遅れている方を率先的にフォローし、フォローをするリソースを空けるために先の単元をどんどん吸収していく方です。私たちもなるべく噛み砕いた説明を用意するよう心掛けているのですが、私たちが気付かないようなところに引っかかってしまう方がいたりします。献身的な方は、そうした人々を助け、また本人も人に教えることで知識の定着を得ていきます。人に教えるという方法は非常に有効な学習方法です。言語化することで知識は整理され、教えていく中で不足している知識が明確になり、次に何を掘り下げるべきなのか、と自身の状況を俯瞰できるようになる上に、その知識が必要とされる背景、文脈を捉えてから学習をするという非常に理想的な知識の定着フローを自然と踏めるようになるのです。

 こうした学習方法を自然にとれる受講生がいると、私たちとしては教えるのが非常に楽です。しかし一方で、このような方はその当人しか伸びず、他者の成長を阻害してしまうという事態を起こす危険を孕んでいます。

 このような学習方法を取れる方が他の受講生に教えること自体は献身的で素晴らしいことです。しかしその当人がメンターとしての行動指針をしっかりと確立しているとは限りません。私たちの講座ではメンタリングとティーチングを織り交ぜています。必要な知識を与え、そこから先はなるべく受講生の主体性を引き出し講座の着地点を変化させていく手法を取っています。その方針のなかで、他の受講生に対し親切心からすぐに答えを教えてしまう受講生がいると、他の受講生に「考えさせる」という重要なタームを経験させることができなくなってしまいます。

 これは後述致しますが、場をうまくコントロールして、受講生全員が主体的に学び、また偏りなく補い教え合うような環境を作り出すということが私たちの課題となります。これはとても難しいことです。そして、私たちにとって、常に改善を怠ってはいけない重要な価値のコアになる部分でもあります。

4. 楽しめるかどうか

 以上全ての特徴を集約する大前提として、「楽しめるかどうか」という要素は重要です。また、上述したように人によって楽しさを感じる観点は違います。プログラミング自体を楽しいと感じる方や、新しい知識を得ること自体にポジティブな姿勢を保てる方、出来ないことがだんだんとわかっていくその達成感に楽しみを覚える方。たくさんの楽しみ方の形があります。当然、そのような楽しみ方の多様性を私たちは否定しません。理想となる楽しみ方、理想となる成長というものを押し付けるつもりは決してないのです。

 受講生の方々が、それぞれの楽しみ方でプログラミング、あるいは大きな言い方をすれば「知らないことに触れる」ということに前向きに取り組めるかどうか。それが何より重要な要素です。

講師側が気をつけなければいけないこと

 先述した通り、教育(この言葉は何か上から目線のようで恐縮ですが)における成長は教育者と被教育者の相互関係の中で生まれる双方向的なものです。なればこそ、教える側である私たちは受講者の方々の意欲、楽しさ、献身を促進するような寄り添い方を強く意識しなければなりません。本章では、少ないながらも私がプログラミング講座を開いてきた中で内面化してきた教育者としての規範をいくつかお話ししたいと思います。

why、に納得感のある答えを用意する

 プログラミング初学者は「なぜこれを作るのか」というところに対する納得感を得られないことで学習意欲を減退させてしまうことがよくあります。現在行なっている社内研修でも同様のことが起こりかけました。それは、function(関数)についての項目を講義している際のことです。

 「プログラミングをしていると、同じ処理を繰り返し使いたくなる時があります」という説明の元でfunctionの構文や使い方について解説をしたのですが、「繰り返し使いたくなる時」という具体的状況の想像が初学者にとっては困難なのです。特に私たちが行なっている研修は二日間という短期間のパッケージであるため、可能な限り学習項目を少なく簡略化しており、確かに繰り返し使うような処理はほとんど出てきません。私の場合、実務経験に基づく例を挙げて納得して頂こうと試みているのですが、しかし十分に納得をして頂けない場合も当然ながら御座います。この点については、日々教材と紹介実例のアップデートを行い改善していかなければならないと考えています。

わからないことは罪でないことを先に断言しておく

 これは当然のことですが、未経験者や初学者がプログラミングを学ぶということは、わからないことを突きつけられ続けるということです。私たちの義務は、受講者のわからなさの輪郭や原因を明確にし、理解のブレイクスルーポイントを的確に見抜き手助けをすることです。ですから、「わからない」ことに対して受講生に罪を感じさせることは愚の骨頂であるといえます。新しい領域に挑戦しようとしている人間にとって、わからないことが多いのは当然のことです。その為、自身でしっかりと考えた上でもわからないことがあれば、何度でも同じ質問をしてくださいと宣言しています。

 現在、入社研修の一環として講座を開催しています。その中で、新卒の方々に「同じことを質問するな」であるとか「先輩の時間を使うことはコストである」とか、そういった思想が刷り込まれていることが少なからず見受けられます。その刷り込みは一方では正しい論理です。私もエンジニアの端くれですから、無駄なことをするのは悪であると考えています。しかし、この場合ではどうでしょうか。この講座が真の意味で無駄となるのは「受講生が何も得ず研修を終える」という状況に他なりません。つまり、この場では私のリソースを最大限活用し、貪欲に知識を得ることこそが彼らの義務なのです。私たちはこのことをしっかりと理解し、言葉遣い、表情、雰囲気作りなど様々なやりかたでこの考えを受講生と共有できるよう心掛けなければなりません。

自分で考えさせる仕組みをつくる

 受講生の資質の部分でも触れましたが、知的好奇心の強い受講生は伸びやすいという経験的認識が御座います。そしてそれは当然受講生の資質だけの問題ではありません。私たちは受講生の好奇心を何らかの仕組みによって刺激し、彼らの自走性をより促進させることが可能なはずなのです。

 私の場合はまたまだ試行錯誤の段階ではありますが、受講生に要件定義に関するグループワークをしてもらうタームを講座に組み込んでいます。目的は2点あります。1点目は、最終成果物を受講生に再定義させることで実際の作り方を俯瞰、想像しやすくする点。2点目は、受講生自身に成果物の開発を「自分ごと」として認識させる点です。過去の講座では、このグループワーク内で追加機能や追加要件などを出してきた受講生らが居ました。時間制限のあるなかで機能を追加することはなかなか彼らにとってハードではあったかと思います。しかし自らの意思で作ろうと決めたことで、彼らの積極性は明らかにガラッと変わりました。

 その受講生たちは私が何も言わずともグループを二つに割り、分業制をとりました。チーム開発の手法を自らこの段階で生み出したという訳です。これには驚かされました。あるグループはこの機能、あるグループはこの機能、というふうに工程を分割し、統合の際はお互いに作った機能とロジックについて解説を行う。そこでロジックの正当性について議論が起こり、またより効率的な条件分岐の書き方などを共有していました。一つの理想的な開発チームがそこにはありました。この受講生らは学生でしたが、社会人ですらこのようなフローをしっかりと実践できているチームは少なく、非常に感銘を受けました。

ティーチングとメンタリングを使い分ける

 短期間の講座であると、どうしてもティーチングに寄ってしまいます。しかしより効率的な学習を推進するためには、メンタリングの手法がやはり有効であると私は考えています。ティーチングとメンタリングの違いを簡単な喩えで言うと、初めて自転車に乗る子供に対する教え方の違いが相応しいでしょう。乱暴に定義しますが、自転車の乗り方を言葉で伝えあとは乗ってみれば乗れるようになるとするのがティーチングです。対して、メンタリングは子供が自転車に乗りたいというその気持ちを促進し、乗り方を自ら学び取る手助けをします。子供が転んで挫けそうになった時には「前より随分乗れているよ」と前向きな気持ちに転向させ、転ぶ恐怖を感じてしまっているならばその恐怖を取り除く等の支援をします。効率的な練習法を提示し、当人の経験と気づきを重要視するのです。

 少々重複しますが、人間は自身で経験したことを基盤に成長するのです。人から教えられることや社会のセオリーから学ぶものは、確かに必要な知識として私達の中に蓄積されていきます。しかしその知識がどの程度内面化されるかというのはまた別の話です。私はその内面化の鍵は自発的な経験であると考えています。訳もわからず人に与えられた課題をこなすより、自身で論理から組み立て設定した課題を解決するほうが、より大きな達成感を得られることは自明と言えるでしょう。

 この点は講師としては非常に難しいところです。あまりに受講生任せになってしまっては怠慢であるとみられてしまいます。何より、さっさと答えを教えることの方が私たちにとってはずっと簡単なことですから、時間的制約や体力の観点からそちらに流されてしまいそうになることも多々あります。しかし、私たちがプログラミング講座を開催しているのは決して私たちのためではありません。受講してくださる方の人生を、選択肢を、可能性を、私たちにできる範囲で拡張したいという理念に基づいて開催しています。ですから、私たちは自分が楽であるとか大変であるとか、そういったことを講座の場で判断軸としてはならないのです。完璧にその思いを遵守することは難しいことです。しかし私たちはその思いを念頭に置いて、常に意識と講座内容の改善を重ねていかなければなりません。人にものを教えるということは、また私たち自身も常に学び続けなければならないということです。

おわりに

 長々と書いて参りましたが、受講生が伸びるかどうかの分かれ目における責任の比重は講師側に傾くと私は考えています。上に挙げたように、受講生の資質もまた重要であることに変わりはないのですが、しかし資質が一切ないと感じさせる受講生を私は1人も見たことがありません。プログラミングを楽しめるか楽しめないかという違いは確かに人によるところがありますが、一見楽しめていないように見える人でも「この方はエンジニアに向いているなあ」と思わせる閃きや論理性を表出させることがあります。そういった方が楽しめていないのは、プログラミングの楽しさを私が充分に伝えられなかったせいだと考えています。殆どの場合、彼らの責任ではなく、私の責任なのです。

 人にものを教えることはとても難しいです。しかしだからこそとても面白いことでもあるのです。これから後輩を持つ方、教育に携わっている方、どうか相手を一方的に責めるのではなく、信頼、尊敬、謙虚の念を持って接して下さい。人を即座に断じてしまうことはあなたにとっても大きな損失となります。私は、そのような傲慢な姿勢をとっていたことがあり、取り返しのつかない失敗も経験しました。どうか、みなさんは私のようにならないで下さい。