「学ぶ」とは何か。エンジニア的思考と原理原則(後編)
Contents
前編はこちら:「学ぶ」とは何か。エンジニア的思考と原理原則(前編)
前回の記事では、ソフトウェアエンジニアの学び方を例に、具体的なエンジニア的思考について学びました。後編の今回は、正しい選択をするために必要な仮説・実験・観察・検証について、発展した考え方をご教示いただきます。
◆
実験検証のサイクルを小さくする
仮説、実験、観察、検証、という流れを大ごとのように感じてしまう人も多いだろう。特に、生物系の分野だと、一回の実験に大きな労力がかかることが多いので、大ごとだと考えがちだ。しかし、むしろ逆だ。実験検証のサイクルをいかに小さくし、高速に回すかが重要だ。
この考え方はソフトウェア・エンジニアリングの分野では「リーン・スタートアップ」という本で紹介されて有名になった。この本はソフトウェアベンチャーの経営戦略に関する本だ。ソフトウェアベンチャーは、限られた資金を消費しながらソフトウェアを開発し、資金が尽きる前に収入を得なければ倒産してしまう。
ソフトウェアベンチャーは「こういうソフトウェアを作れば、売れるだろう」という仮説を持っている。この仮説が正しいと思い込み、資金の全部を使ってソフトウェアを開発すれば、仮説が間違っていた時には即倒産だ。「ソフトウェアを実際に開発して、それが売れるかどうかを見る」という実験は大きすぎるのだ。なので、どうすれば実験をもっと小さくできるかを考える。例えばファイル共有サービスのDropboxは、実際にソフトウェアを開発する前に、そのソフトウェアを使うとどういうことができるかの紹介動画を作った。そしてその動画を使って見込み顧客を集めて、十分集まることを観測してから開発をした。
就活でも構図は同じだ。使える時間は限られている。なるべく少ない時間で実験し、自分の理解を改善していく必要がある。私は今の就活がどういうものかはよく知らないので、その方法を教えることはできない。例えば、自分自身で実験することは高コストなので、他人や先輩の実験結果を共有してもらうことがわかりやすい例かとは思う。
「会社に採用されるかどうか」の他に「その会社で自分が幸せになれるかどうか」も検証の必要な仮説だろう。入社してから何年か経って、転職する人もたくさんいる。ミスマッチが起きるとお互いにとって不幸なので、例えば「インターン」という形で、就職することよりも低コストな実験が行われている。
Connecting the Dots
ここまでで、日常の中にも実験・検証のチャンスがあることを説明した。しかし、現実社会にある色々な選択の機会の中には、実験・検証しやすいものと、しにくいものがある。プログラミング言語の学習は比較的実験・検証しやすい分野だ。試しにある選択肢で実装して見て、間違っていたら、別の選択肢に書き直したら良い。実験科学も、実験がしやすく、実験結果に影響する環境要因をコントロールしやすい領域で主に発展してきた。
しかしこのような分野ばかりではない。「自分がどの会社にマッチするのか」は繰り返し実験が困難だ。新卒で入ることができる会社は一つだけだ。新卒という実験条件を揃えて、10社に入社して結果を比較することはできない。新卒という条件を緩めたとしても、あなたが10社のそれぞれに入社して3年ほど働いて一番あなたにマッチする会社を見つけようとしたら、それだけで30年経ってしまう。あなたの経験や年齢も、実験結果に影響を与える実験条件だ。
このような分野に対して、事前に「科学的に正しい答え」を求めようとすると、現実的ではない実験コストがかかる。なので「正しいかどうかわからないまま行動すること」が避けられない。この件に関して、Apple社の共同創業者であるスティーブ・ジョブズは、「Connecting the Dots」というソフトウェア業界で有名な言葉を残した。「点を未来に向かってつなぐことはできない、振り返って過去の点とつなぐことしかできない」(You can’t connect the dots looking forward; you can only connect them looking backwards.)という言葉だ。
彼は大学をドロップアウトした。卒業を諦めたので、興味がある授業を取ろうと考えた。そこでカリグラフィー(欧米風の書道)の授業を取った。この知識が、彼が文字のきれいなMacintoshを作る際に役に立った。文字をきれいに扱うことができるシステムを持っていたことが、他のメーカーのコンピュータとの差別化になり、Macintoshのビジネス上の成功をもたらした。カリグラフィーの授業を取った時点で、将来そのようなことが起こるなどと予想することはできなかった。
何が将来役にたつかは、事前に知ることができない。これを彼は「点を未来に向かってつなぐことはできない」と表現した。まず行動し、時が経ってから振り返って、過去に行ったことが今の人生に役立つことを発見する。これが振り返って点をつなぐということだ。そして、点を打たなければ、将来それが繋がることもない。なので将来にきっと繋がると信じて、今行動するしかない。
まとめ
この記事では、みなさんに3つの知識をお伝えした。まず日々の暮らしに有益な知識を実験検証サイクルによって得ることが大事だということ。次に実験サイクルは小さく速く回すことが大事だということ。そして、それをやってもなお「正しい選択」が事前にわからない、そういう時には将来にきっと繋がると信じて行動しなければならないこと。私は、この3つの知識がみなさんの今後の人生に有益な効果をもたらすと考えている。この理解が正しいかどうかは仮説であり、実際にみなさんが実験し、理解を改善していく必要がある。
大人になっても学びは続く。ただし「先生がカリキュラムを決めてくれる」というサービスはなくなる。また、たとえ学ばなくても「期末テストの成績が悪くて追試」などの、短期的でわかりやすいデメリットは起こらない。しかし学ぶ人と学ばない人では、5年10年経った時に明確な差が生まれる。あなた自身が、あなたの限られた人生の時間を使って実験し、あなたの人生に有益な知識を獲得していかなければならない。