海兵隊の原則とプログラミング
海兵隊の原則はこうです:もしあなたが身体的に適した男性や女性を見つけたら、正しい訓練とトレーニングを行えば、ほぼ誰でもユニークな戦士に変えることができる。プログラミングも同じで、ギターを弾く、泳ぐ、自転車に乗るといったスキルと同じです。人は生まれながらにして自転車乗りではありません。

頭の良い有能な人たちがいて、彼らはプログラマーの倍働き、収入は4分の1。もしかしたら、彼らは自分の適性じゃないのかも?
なぜプログラミングなのか?
人にプログラミングを教える前に、それが何をもたらすのかを理解したほうがいいです。
1. 簡単で面白い仕事
プログラミングはシンプルで面白い仕事です。創造性を発揮できる場もたくさんあります。初心者の多くは、最初は自分が好きなことをしていて、お金ももらえるなんて信じられないかもしれません。でも、慣れてきます。
2. 高収入
優秀なエンジニアが5年働いた後に車や家を買い始めるのを見るのは、ただただ嬉しいことです。
3. 柔軟なスケジュール
厳しいスケジュールは嫌ですよね。ピーク時の渋滞や、5分遅れただけで罰金を科されるのを経験した人ならわかるはず。11時に出社して17時に退社できるとか、どうですか?夢みたいですか?多くのプログラマーにとっては現実です。仕事をきちんとこなせば、誰も文句は言いません。多くの会社では、在宅勤務も可能です。調整次第です。
4. プロとしての成長
ほとんどの組織では、名誉あるポジションや高収入を得るにはキャリアアップが必要です。でも、プログラマーはただプログラマーのままでいてもOK。別の職種に転向したり、管理職を目指す必要はありません。専門的に成長し続けるだけです。経験5〜10年のプログラマーは、素晴らしい給料をもらっています。
5. 国際的なモビリティ
世界で最も高給な職業トップ3は、弁護士、外科医/医者、そしてプログラマーです。弁護士は海外で働くのが難しいです:法律や判例の違いがあります。医者は言語や医療基準を学び直し、再試験も必要です。プログラマーは何も新たに学ぶ必要はありません。同じ言語、同じ標準です。クライアントもほぼ同じです。
6. 業界最高水準の給与

特に初心者のプログラマーにとっては、最も高い給与の一つです。
本を読んでプログラマーになれるわけではありません。最低でも500時間の実践が必要です。ボクシングと同じです。試合を何度も見てプロになれるわけではありません。長い夜をジムでトレーニングし続ける必要があります(だからCodeGymには実践課題がたくさんあります)。
「10時間でプログラミングを習得しよう」なんて提案は、10時間でボクシングを習得しようと言っているのと同じです。リングに上がるのはやめましょう!
初心者がフォーラムで「どうやったらプログラマーになれる?」と聞くと、「課題を作ってやり続けろ」と言われることがあります。でも、それは無理です。なぜなら、人は自分の知識の範囲を超えた課題を自分で作ることはできないからです。知っていることと知らないことは明確です。
テーマをよく理解している人だけが、あなたにとって段階的な課題のセットを考案できます。それぞれの課題は、新しいことを学ばせ、長い時間をかけずに解決できるものです。私たちもそれをやってきました。
革新的な学習アプローチ
CodeGymの学習方法は、大学とは違います。すぐに気づくでしょう。でも、その方が効果的です。
大学では、長い講義とそれを補完する実践が一般的です。この方法は、広範な知識を身につけることを目的としています。でも、実際のスキルはあまり身につきません。正直に言えば、ほとんど何もできない状態です。
こちらのアプローチは違います。理論は知識であり、その知識は質問に対する答えです。最初に質問を提示します。実践的な課題は、今の知識では解きにくいものです。その後に答え(理論)を示し、それを使えば解きやすくなります。
新しい教材は3段階で提供されます:
- 紹介(最小限の理論またはいくつかの実践課題)
- メインの知識ブロック(内容を完全に理解する)
- 詳細とニュアンス(穴を埋める作業)
つまり、同じテーマに最低3回触れることになります。すべてが密接に関連しているため、一つのテーマを完全に理解するには、他のテーマも部分的に理解しておく必要があります。
中には、「まだやっていない課題が出てきた」と不満を言う学生もいます。そんな課題は、「今の知識でどう解くか」を考えるきっかけです。1時間や2時間かかるかもしれませんが、その後、新しいアプローチや美しい解決策に出会えるでしょう。
また、実生活でも最初に課題が与えられ、それを解決するために必要な知識を後から学ぶことがよくあります。現実はそういうものです。早くこのやり方に慣れるほど良いです。
GO TO FULL VERSION