テクノロジーの再構築によってプログラミングを極める
私たちは、仕組みを知ることなく毎日ツールを使っています。フレームワークやライブラリは、開発をスピードアップさせるために複雑さを隠蔽しています。これが、知識の欠落を生む原因となります。
「build-your-own-x(自分で作ってみる)」という手法が、この問題を解決します。普段使っているツールの簡略版を、ゼロから構築するのです。単にテクノロジーを「使う」のではなく、テクノロジーを「設計する」ようになります。
なぜこの手法が効果的なのか:
謎が解消される。ツールを「魔法」のように捉えるのをやめられます。Webサーバーがどのようにリクエストをルーティングするのか、あるいはGitがどのようにデータを保存しているのかを学ぶことができます。
基礎が身につく。サーバーを構築すれば、ソケットやHTTPについて学ばざるを得なくなります。ハッシュマップを構築すれば、衝突解決(collision resolution)について学べます。これらはソフトウェアを構成する基本要素です。
問題解決能力が向上する。ゼロから構築する場合、インターネットから解決策をコピーすることはできません。問題を細分化し、自分なりの答えを見つけ出す必要があります。
自信がつく。複雑なシステムを作り上げる経験は、より大規模なプロジェクトを扱うスキルへとつながります。
理論を実践できる。ネットワークやアルゴリズムに関する教室での学びを、実践的なスキルへと変えることができます。
小さなことから始められます。データベースやコマンドラインツールなどのツールを選び、その基本的な機能を再現することから始めてみましょう。