起業家は育てられる---。

 これは、連続起業家(複数の企業を相次いで立ち上げた起業家)にして米スタンフォード大学などで起業家育成の教鞭を執るスティーブ・ブランク氏の言葉である。書籍『「世界」を変えろ! 急成長するスタートアップの秘訣』に登場するものだ(関連記事:シリコンバレー流!達人に学ぶ起業スピリッツ)。

 ブランク氏は、本書において、スタートアップ企業を成長軌道に乗せるには、「起業の基本的ルールを学ぶことで、スタートアップを設立するプロセスをずっと効果的なものにできる」と説く。これを読みながら、とある考えが頭の中から離れなくなった。それは、起業の練習、言い換えれば、起業家の育成にはプログラミング学習が最適である、というものだ。

 スタートアップ企業の多くは、新たなエコシステム(事業環境)の創出を狙い、成功事例がまれな目標に挑戦する。例えば、「高品質で低価格な電気自動車を広めて環境負荷を少なくしたい」「新鮮で清潔な水を世界中の人々に提供したい」「画期的なウェアラブルコンピュータを提供したい」といった目標だ。ビジョンに基づいた具体的な目標を自ら定め、実現に向けて未踏の荒野を開拓していくのがスタートアップ起業家である。

目標設定力と問題解決力が鍛えられる

 スタートアップ起業家に求められる目標設定力と問題解決力。これらを鍛えるのに大いに役立つのが、プログラミング学習だ。

 まずは、目標設定力について考えてみよう。プログラミング学習においては、最初は子どもたちが興味を持てる題材、例えばコンピュータゲーム作りなどの課題が与えられることが多い。ただし、一意に決まるような明確な課題が与えられるのはプログラミング環境の基本操作を習得する段階においてであり、この段階を過ぎた後は各自の志向に沿った目標を自ら設定し、その実現に向かってプログラミングに取り組むことになる。

 この段階では独自性あるいは創造力を伴ったプログラムであればあるほど評価される。既存の仕組みや技術を作り直す「車輪の再発明」も学習過程では大いに意味を持つものの、プログラミングに関する知識が高まるにつれて自然と独創力が問われることになる。

 プログラミングはまた、問題解決そのものだ。それを示す一例として、子ども向けのプログラミング環境「Scratch」の開発を主導する、米マサチューセッツ工科大学のミッチェル・レズニック教授の言葉を借りよう。

「複雑な問題に直面したとき、それをより単純な問題に分解して、一つひとつ処理していく。プログラミングに必要なこうした問題解決能力は一般的なスキルといえる。プログラミングを通じて得たスキルは、どんな仕事に就いても使える」(関連記事:「プログラミング教育は子どもの創造性を高める」、Scratch開発者MITレズニック教授

 もう一つ、起業とプログラミング学習の類似点として重要なのが、失敗の捉え方である。

失敗は目標に達するまでの一段階

 先に述べた『「世界」を変えろ!』には、犯した失敗に対する起業家自身の言葉が数多く掲載されている。曰く「1回の成功を収めるためには、10回の失敗が必要(機能や安全にこだわったベビー用品を扱う「スキップホップ」の創業者、マイケル&エレン・ディアマン氏)、「失敗することは極めて重要だ」(製造業のためのマーケットプレイスを提供するMFG.comの創業者、ミッチ・フリー氏)などである。では、なぜ、失敗が重要なのか。それは、「失敗とは、取り組むべき問題を発見する過程の一部」(画像共有サイト「flickr」の創業者、カテリーナ・フェイク氏)というように、目標に達するまでの一段階と多くの起業家が捉えているからだ。