海兵隊の原則とプログラミング
海兵隊の原則はこうです。体力的に適性のある男女を見つけ、正しい教育と訓練を施せば、ほとんど誰でも優秀な戦闘員に育てられる。プログラミングも、ギター演奏や水泳、自転車の運転と同じスキルです。人は生まれつきサイクリストではありません。

賢く有能な人は少なくありませんが、プログラマーの2倍働いても収入は4分の1という人もいます。もしかすると、単に適材適所ではないのかもしれません。
なぜプログラミングなのか?
誰かにプログラミングを教える前に、それがその人にもたらすものを明確にしておくのが賢明です。
1. シンプルで面白い仕事
プログラミングはシンプルで面白い仕事です。創造の余地が大きい。多くの初心者開発者は、好きなことを仕事にして、しかも報酬までもらえるという事実をすぐには信じ切れません。しかし次第に慣れていきます。
2. 報酬が良い
有能なエンジニアが、働き始めて5年も経つと車や家を買い始めるのを見るのは、やはり気持ちがいいものです。
3. 柔軟な働き方
厳しい固定スケジュールはつらいものです。ラッシュ時の渋滞に巻き込まれたり、5分の遅刻で罰を受けたりした経験のある人なら皆そう言うでしょう。では、午前11時に出社して5時に帰るのはどうでしょうか。夢のようだと思いますか?多くのプログラマーにとっては現実です。仕事をきちんとこなしていれば、誰も文句は言いません。会社によっては、出社すら不要で在宅勤務が可能なところもあります。いつでも柔軟に調整できます。
4. プロとしての成長
ほとんどの組織では、名のある役職に就き良い収入を得るには出世が必要です。プログラマーはプログラマーのままで十分です。管理職を目指したり、管理者職に転向したりする必要はありません。専門性を高め続ければよいのです。実務経験が5〜10年のプログラマーは非常に高い給与を得ています。
5. 国際的な流動性が高い
世界で最も高給な3つの職業は、弁護士、外科医/医師、そしてプログラマーです。弁護士が海外で働くのは非常に難しい——法体系や判例法が違うからです。医師は言語、医療基準を学び直し、試験も受け直さなければなりません。プログラマーは何も学び直す必要がありません。同じ言語。同じ標準。発注者でさえ同じことが少なくありません。
6. 業界最高水準の給与

トップクラスです。特にジュニアのプログラマーにとっては顕著です。
本を一冊読んだだけでプログラマーにはなれません。最低でも500時間の実践が必要です。ボクシングと同じです。全試合を動画で見直しただけではプロにはなれません。ジムでのトレーニングに長い夜を費やす必要があります(だからこそCodeGymには非常に多くの実践課題があります)。
「10時間でプログラミングを習得」といった謳い文句は、「10時間でボクシングを教える」というのと同じです。そのままリングへ?やめておきましょう。
ときどき、初心者がフォーラムで「どうすればプログラマーになれますか」と尋ねると、「自分で課題を考えてやってみろ」と言われることがあります。ですが、それではうまくいきません。人は自分の知識のすぐ外側にある課題を自力で思いつくことはできないからです。あることは知っているか、知らないかのどちらかなのです。
その分野をよく知っている人だけが、各課題が毎回新しいことを学ばせ、しかも理解に何週間もかからないような、連続した課題セットを作れます。私たちはまさにそれを用意しました。
学習への革新的アプローチ
CodeGymの学習は大学のやり方とは異なります。すぐにそれに気づくでしょう。その代わり、ずっと効果的です。
大学では、おそらく「長い講義」とそれを補強する「実習」という形式で学んできたはずです。このやり方の狙いは、広範な知識を与えることにあります。しかし、実際の実務スキルは物足りないままになりがちです。率直に言えば、その学び方では実用的なことはほとんど身につきません。
ここでは違うやり方をとります。理論とは知識であり、知識とは私たちの問いへの答えです。だからこそ、まずは問い——いまの知識では解くのが難しい実践課題——を提示し、その後に答え(それらをずっと容易に解けるようにする理論)を与えます。
新しい内容は3つの段階で提示されます:
- 導入(理論は最小限、または少数の実践課題)。
- 基礎ブロック(話の内容を完全に理解してもらいます)。
- 詳細と運用上のニュアンス(抜けている箇所を埋めます)。
このように、同じテーマに少なくとも3回は触れることになります。さらに、すべてが強く相互に関連しているため、あるテーマを完全に説明するには、その前に別のテーマを少なくとも部分的に扱わざるを得ません。
中には課題について不満を口にする受講生もいます。「まだ習っていない」と。そうした課題こそ考えるきっかけになります——いまの知識でどう解けるか。これらの課題に1〜2時間かけることになるかもしれませんが、その後、独創的なアプローチや美しい解法に喜んで出会えるはずです。
加えて、現実の仕事でも、まず先に課題が与えられ、その後に必要な知識を見つけるのが普通です。現実世界とはそういうものです。ですから、そのやり方に早く慣れるほど良いのです。
GO TO FULL VERSION