巨人の肩の上に立つ方法

「私が他の人よりも遠くを見たのなら、それは巨人の肩の上に立つことによるものです。」アイザック・ニュートン

1676年、アイザックニュートンは、彼の前にやってきた偉大な思想家を「巨人」として語りました。彼らの洞察は、彼が彼自身の新しい洞察を発見するのを助けました。

340年後、巨人ははるかに背が高くなりました。ニュートンの時代のように本だけでなく、あちこちにあります。彼らはオープンな学術雑誌に載っています。オープンソースプロジェクト。データセットを開きます。

インターネット接続があれば、好きなだけ巨人の肩に立つことができます。

しかし、ほとんどの人は、そこに登るのに苦労した場合にどれだけ見えるかを理解していません。ほとんどの人は、すでに立っている場所から十分遠くまで見ることができると考えています。登るのは努力する価値がないようです。

巨人の肩の上に立つ前に、すべてが見えないことを受け入れる必要があります。あなたはこれらの巨人だけがあなたに見せることができるそこにどれだけあるかを認識する必要があります。

Ubuntu

「私は私たち全員のおかげで私が何者であるかです。」—ズールー語の「ウブントゥ」の英訳

人間の先史時代の暗闇の中でさえ、私たちはいくつかのクールなことを考え始めました。

口頭伝承に乗って巨人が現れ始めた。それから本。

洞察を洞察に複合しました。そして巨人は成長しました。

何年にもわたって、私たちはいくつかのかなりきちんとしたアイデアを発見し、いくつかのかなりクールなものを構築しました。使う価値のあるもの。

しかし、毎日、何千人もの人々がこれらのことを無視しています。彼らは言う:「私は知っている、私はこの新しいものを最初から作るつもりだ。」

そして、彼らは夢をゼロから構築するための費用のかかる旅に乗り出します。

私たちはソフトウェアに多額のお金を費やしています。毎年テクノロジーに費やす2.5兆ドルの約60%は、ソフトウェア開発とソフトウェアコンサルティングサービスに費やされています。

それは1.5ドルです。Instagramを1,500回以上取得するのに十分です。毎年。

そして、私たちは常に私たちのお金の価値を得るとは限りません。

ここで発明されていない

人間は自信過剰です。私たちは車輪の再発明が可能であり、私たちのバージョンはより良いものになると思います。

誰が知っている、多分ホイールは実際に改善することができます。しかし、車のようにもっと複雑なものを設計しようとしているのなら、本当にすべての時間をホイールの再発明に費やしたいのでしょうか。

自分たちで物を作りたいのは私たちの本質です。

私たちは、フェラーリ、ロレックス、iPhoneなどの垂直統合製品が大好きです。

私たちは、細部に至るまでの職人技に感心しています。

設計、製造、流通のすべてが1つの制御されたプロセスでどのように一緒に流れるかに驚かされます。

そして、そのスタック全体も自分たちのものにしたいのです。

しかしそうすることで、私たちはここで発明されていないという麻痺する考え方の餌食になります。

「ここで発明されていない症候群は、プロジェクトグループがその分野の知識を独占していると信じる傾向があり、外部からの新しいアイデアを拒否し、パフォーマンスを損なう可能性があります。」—MITスローン経営大学院のラルフカッツとトーマスJ.アレン

これは、1982年に最初に発行されたNot Invented Hereに関する最も広く引用されている論文のPDFです。その調査結果の重要性を知りたい場合に備えて、

この論文があなたに伝えていないのは、34年後、私たちはまだこの同じ古い認知バイアスに陥っているということです。

Not Invented Hereの最近の例は、インドのSwayamオンラインコースプラットフォームです。彼らは、edXのオープンソースコースプラットフォーム上に無料で構築できたはずです。中国で人気のあるXuetangXプラットフォームなど、他の数十の組織がそうしました。

代わりに、Swayamは独自のプラットフォームの構築に600万ドルを費やしました。そして、彼らはこのカスタムソリューションを維持するために今後数百万を費やすでしょう。

これはあまりお金のように聞こえないかもしれませんが、コースを作成するために教師に支払うために彼らが予算を立てた3000万ドルの文脈でその数字を入れてください。また、これにより発売日が2年遅れました。

ここでは無邪気に始まります…

「ブログにWordPressを使用する必要があるのはなぜですか?ブログは難しくありません。独自のCMSを構築しましょう。」

それから人々は大胆になり、考え始めます…

「ドナーを追跡するためにSugarCRMを使用する必要があるのはなぜですか?ドナーの追跡は難しくありません。独自のCRMを構築しましょう。」

これは、人々が次のようなことを提案することをさらに大胆にするだけです。

「なぜAWSを使用する必要があるのですか?クラウドは難しくありません。独自のデータセンターを構築し、独自のプライベートクラウドを実装しましょう。」

未チェックのままにしておくと、この考え方はHealthCare.govのようなプロジェクトにつながる可能性があります。これは9千万ドルのプロジェクトであり、最終的にはアメリカの納税者に17億ドルの費用がかかりました。

私は、健康保険に加入しようとして何時間も無駄に過ごした何百万人もの人々の1人でしたが、JavaScriptエラーと応答のないサーバーによって妨げられました。

Healthcare.govのメルトダウンの最中に、サンフランシスコの3人の開発者が既製のコンポーネントを入手することにしました。彼らはいくつかのパブリックAPIを統合しました。彼らはHealthcare.govの機能のかなりの部分を構築しました。そして、彼らはほんの数週間で、数百ドルでこれらすべてを行いました。

巨人の肩の上に立つ物語。私自身。

2年前、忙しい人たちが一緒にコーディングを学ぶことができるコミュニティを始めたかったのです。

私は18か月間、巨大なカスタムソリューションを構築していました。それは、誰も使いたくないことが判明したコース推奨エンジンです。

それで私は正反対の方向に行くことにしました。私は必要なだけコードを書き、代わりに他の人のコードを使うことに集中します。

では、コミュニティは何を必要としていましたか?

  1. お互いにコミュニケーションする方法
  2. 誰もが自分の洞察やストーリーを共有できるブログ
  3. カリキュラム、およびカリキュラムを通じて人々の進歩を追跡する方法

古いNotInventedHere-傾向がある私は:

  1. Webソケットを使用してチャットルームを構築し、次にモデレートツール、さまざまなAPI統合を構築し、セッション間でメッセージを永続化するための優れた方法を考え出しました。
  2. ブログをゼロから構築し、読みやすさ、タグ付け、埋め込み、RSSなどの人々が期待するようになった基本機能などのデザインの問題に対処しました。
  3. インタラクティブコーディングの課題に対応するカスタムCMSを構築し、プロファイルシステムを構築し、コアプログラミングカリキュラムを設計および実装しました。

この最後のステップは、おそらく私が自分でやるのに何年もかかったでしょう。

そして、あなたが私に言う前に、「この時代では、自分のブログを転がすほど愚かな人は誰もいない」-まあ、どうやら私はそうだったようだ。二度と戻らない数日。

しかし、これが新しい私(18か月の降下からNot Invented Here Hellへの新鮮な)がやろうと決心したことです。

当時、私はNode.jsを知りませんでした。しかし、フルスタックJavaScriptが未来であると私に確信させてくれる賢い人々を知っていました。

また、人気のあるオープンソースのNode.jsボイラープレートであるHackathonStarterについても知っていました。それで私はそれをフォークしました。

過去18か月間、何千ものオンラインコースをスクレイピング、監査、分類してきたので、プログラミングとコンピューターサイエンスを最もよくカバーしているコースを知っていました。そのため、カリキュラムを設計する代わりに、既存のリソースをキュレーションしました。

チャットルームには、HipChatを使用しました。ブログでは、Bloggerを使用しました。

そして3日以内に、新しいコミュニティが稼働しました。

ソリューションが時間の経過とともにどのように進化するかを予測することは困難です。あなたはただいまいましいものを出荷することから多くを学びます。

既製のソリューションの使用をすぐに開始する場合は、後でそれらを交換して、必要に応じて微調整することができます。

時が経つにつれて、私たちのコミュニティはフィードバックに基づいて何千もの小さな調整を行いました。また、チャットルームをGitterに移動し、コミュニティのブログをMediumに移動しました。

オープンソースの貢献者が非常に多いと、私たちは独自の1,200時間のカリキュラムの設計と実装に取り​​掛かりました。

今日、私たちのコミュニティの5,000人以上の人々が、最初の開発者の仕事を得るのに十分なコーディングを学んでいます。

しかし、私が「ここで発明されていない」傾向に抵抗していなかったら、私は物事を軌道に乗せることはなかっただろう。

巨人の肩の上に立つ方法

何千年にもわたる洞察をすぐに活用するための3つの簡単なヒントを紹介します。

ヒント1:自分自身や他の人の中でここで発明されていないことを認識することを学びます。

自分たちで物を作りたいのは私たちの本質であることを受け入れてください。これの明るい面は、自分の家具を作る愛好家です。ダークサイドは、開発者が独自のセキュリティを導入していることです。

ヒント2:そこにあるツールを学びましょう。

利用可能なツールの種類を理解する最も簡単な方法は、現在行っていることを継続することです。つまり、テクノロジーについて読むことです。

ほとんどの主要なオープンソースプロジェクトはGitHubにあり、そこでドキュメントを表示できます。これらのツールの多くは、数分で独自のクラウドサーバーにデプロイできます。

ヒント3:履歴を読む。

あなたの高校の歴史の先生があなたにこれを引用したと確信しています、そして彼らは正しかったです:

「歴史を読まない人は、それを繰り返す運命にあります。」— 1905年のジョージサンタヤーナ

テクノロジーの歴史についての優れた本がたくさんあります。有名なアルバート・アインシュタインとスティーブ・ジョブズの伝記を書いたのと同じ男、ウォルター・アイザクソンによるこれをお勧めします。それは特にソフトウェアの歴史についてです:

イノベーター:ハッカー、天才、オタクのグループがデジタル革命をどのように生み出したか

説明を編集するamzn.to

巨人はあなたを彼らの肩に持ち上げることに熱心です。それらをしましょう。彼らはあなたにまだそこにある問題の数のビューを与え、あなたがそれらを解決するのを待っています。

私はプログラミングとテクノロジーについてのみ書いています。Twitterでフォローしていただければ、時間を無駄にすることはありません。?