テクノロジーを再構築することでプログラミングを極める
あなたは毎日ライブラリやフレームワークを使っています。しかし、ほとんどの開発者はそれらがどのように動作しているかを知りません。あなたはその状況を変えることができます。
「Build-Your-Own-X(自分自身で〇〇を作る)」メソッドを活用しましょう。これは、既存のツールをゼロから再構築することを意味します。単なるクローンを作るのではありません。テクノロジーがその核心でどのように機能しているかを学ぶのです。
このメソッドのメリット:
- 深い知識: HTTPサーバーを構築することで、ヘッダーやステータスコードについて学べます。ハッシュマップを構築することで、速度やメモリについて学べます。
- デバッグ能力の向上: システムを自分で構築したからこそ、エラーがどこに潜んでいるかが分かります。バグの修正も早くなります。
- イノベーションを起こす力: ルールに従うだけでなく、自分自身のソリューションを作り始められます。
- キャリアの成長: 面接官に対して「ミニ・ブロックチェーンを構築した」と伝えることは、あなたがエンジニアであることを証明します。それは他の候補者との差別化につながります。
- 真の自信: 困難な問題をゼロから解決することで、インポスター症候群(自分は実力不足だと思い込む心理)を克服できます。
開始方法:
最初からオペレーティングシステムを作ろうとしてはいけません。まずは小さく始めましょう。毎日使っているものを選んでください。
次のようなプロジェクトから始めてみましょう:
- ファイル一覧を表示する
lsコマンド。 - パターン検索を行う
grepコマンド。 - 基本的な連結リスト(Linked List)またはハッシュテーブル(Hash Table)。
- 静的ファイル用のシンプルなHTTPサーバー。
- 小さなコマンドラインのToDoリスト。
- カスタムの
Promise実装。
Reactを使っているなら、最小限のコンポーネントレンダラーを作ってみてください。Gitを使っているなら、git init のシンプルなバージョンを作ってみてください。
ツールを盲目的に使うのはやめましょう。それらを自分で作り始めるのです。