ベストアンサー
コンピュータサイエンス(CS)の学位とコーディングへの参加の両方ブートキャンプは、プログラマーとしての仕事に着手するための効果的な方法です。それぞれに長所と短所があります。私は自分の経歴から、両方にかなり精通しています。私はノースイースタン大学でCSを学び、開発者として多くの新興企業や大企業(MicrosoftやeBayを含む)で働いてきました。それ以来、オンラインコーディングブートキャンプである ファイアホースプロジェクト を開始しました。
私のキャリアを通じて、私は「学校でCSを学ぶ伝統的なルートを経験した人々や、独学で学んだ人々と協力してきました。プログラミングを学ぶことは、実際に行うことで学ぶことです。 私が最も尊敬しているプログラマーの中には、コンピューターサイエンスの大学の学位を持っていない人もいます。
これが2つのスタックの相互の概要です。
コンピュータサイエンスの学士号
費用:$ 80,000- $ 120,000 長さ:4〜5年
コンピュータサイエンスの学位は、通常4年かかります。 MIT、スタンフォード、バークレー、プリンストン、カリフォルニア工科大学、ハーバード大学などのトップ大学は、イントロコースで関数型プログラミング言語を教えています[ 1 ]。関数型プログラミングは、他の種類のプログラミング言語ほど一般的に業界で使用されていません。
私の経験では、ノースイースタンのCS101に参加した学生の半数以上がクラスに参加していませんでした。ほとんどが専攻をやめましたが、次の学期に再試行した人もいました。クラスはとても簡単だと思いましたが、大学の前は趣味でプログラミングをしていました。これがプログラミングの最初の味だったとしたら、おそらく気が狂ったか、少なくとも本当に苦労したでしょう。
CSの学位を取得した経験全体で、ほとんどの学生は、さまざまなプログラミング言語に触れ、複雑な理論的概念を研究していることに気付くでしょう。 彼らは、アルゴリズム、データ構造、ロジック、およびコンピューターの動作の基盤を形成する多くのトピックを教えています。
経験の中には、当時はあまり実用的ではない理論的概念を教えてくれるものもあります。学生が学ぶスキルの多くは、高度な問題解決スキルと、さまざまな問題解決方法の理解です。コンピューティングの問題。
ほとんどのプログラマーが仕事で直面するよりも難しい問題を解決することにより、大学は意欲的な開発者に問題の解決方法を教えるという優れた仕事をします。
また、多様性クラスの要件、英語、社会学、および卒業するために必要な他のいくつかのコースなど、CS以外の要件もあります。 しかし、ここに学生が立ち去る方法があります。
- コンピュータサイエンスの卒業生は一般的に優れた問題解決スキルを持ち、高度なアルゴリズムを記述できます。
- また、漸近的な複雑さ、オートマトンの仕組み、離散などの理論的な知識もあります。数学、およびコンピュータシステムを保護する方法。
これらは、企業が開発者に採用するプロセスの重要な部分であるスキルです。
コンピュータサイエンスは通常、他の特定のことを教えていません:
- 過去10年ほどで業界で採用されている新しいテクノロジー。
- アジャイルチームでの作業、バージョン管理、現実世界のほぼすべての開発チームが使用する多くのことなど、重要な実用的なこと。
一流の大学(MIT、スタンフォード、カルテックなど)で受ける教育の質にも大きな違いがあります。残り。
コーディングブートキャンプ
費用:4,000ドルから20,000ドル長さ:2〜5か月
コーディングブートキャンプは、キャリアを切り替えてプロ級の開発者になるための代替方法であり、大学でコンピュータサイエンスを勉強している人にとっては、現実的な選択肢ではありません。ほとんどの人にとって、仕事を辞め、4年間学校に戻り、数十万ドルの借金を積み上げることは、実用的な選択肢ではありません。特に、大学で何か他のことを学んだことがあり、すでに学位。
コーディングブートキャンプは通常、現実の世界に適用できる特定のツールを教えます。彼らは通常、カリキュラムを更新して、より最先端のテクノロジーを含めることができます。
コアとなるのは、多くの場合、レーザーに焦点を当てたトレーニングプログラムです。
- ジュニア開発者として就職するために必要なことを学生に教える
- 学生を強力なプログラマーにして、貴重な長期従業員になるようにする
ほとんどのコーディングブートキャンプは、特にWeb開発に焦点を当てています。これは、大学が教えるものよりも少し具体的です。 その理由は、Web開発業界は現在非常に活況を呈しており、この特殊なタイプのプログラマーには多くの埋められていないポジションがあります。
コーディングブートキャンプは通常、1つのコアプログラミング言語を選択して、期間中の教育に重点を置き、業界で一般的に行われているのと同じ方法でウェブアプリを構築します。コーディングブートキャンプから離れると、思いついたWebアプリケーションを構築できるはずです。
Web開発者の役割でほぼ毎日使用されるツールは他にもあります。これらには、Slack、Git、GitHub、Trelloなどのツールやその他のいくつかのツールが含まれ、コーディングブートキャンプでもこれらのツールを使用した経験があります。
ブートキャンプの学生は、過去にチームの主任開発者であったエンジニアからの監督とともに、アジャイルチームの一部としてプロジェクトを構築するために互いにチームを組むことがよくあります。業界では、開発者のチームが組織化し、チームとして効果的に作業できる特定の方法があります。これらの戦略は、しばしばアジャイルと呼ばれます。コーディングブートキャンプでの経験により、学生は実社会と同じ環境での作業を体験でき、上級開発者を綿密に監視できます。
技術面接に向けて学生を適切に準備するために、いくつかの
あいまいな理論的トピック は、技術面接で頻繁に取り上げられる従来のコンピュータサイエンスの学位で教えられています。 これは、優れたコーディングブートキャンプが、学生に仕事を競わせたいかどうかを教える必要があることを意味します。コーディングブートキャンプは、すべてを網羅しているわけではありません。 CS学位のトピックでは、特定のスキルを教えることが不可欠です。
優れたコーディングブートキャンプは終わります技術面接で何度も登場するアルゴリズム、データ構造、その他の理論的トピックなどのトピック。
- コーディングブートキャンプは、Web開発者としての仕事で毎日使用されるツールを教えます
- また、開発者としての作業をシミュレートします。そのため、学生は仕事の初日に他の開発者と協力するための技術的および社会的スキルを持っています。
- 彼らは学生に技術的な準備をします面接プロセス(およびホワイトボードコーディングと呼ばれるスキル)。
eは、企業が採用するプロセスの重要な部分です。 コーディングブートキャンプは通常、特定のことを教えません:
- 高度な数学コンピューティングに関連しています。
- ジョブやジョブ検索プロセスで頻繁に取り上げられない理論上のCSトピック。
- オペレーティングシステム、プログラミング言語、およびコンパイラの構築方法。
大学と同じように、一流のコーディングブートキャンプとその他の場所で得られる教育の質には大きな違いがあります。
高校を卒業したばかりの場合卒業してフェンスにいるときにプログラマーとして働きたいと思っている場合は、コンピューターサイエンスの学位が実際的な決定になる可能性があります。一部のCS卒業生は、大学での経験を経て、コーディングブートキャンプに参加することを選択します。スキルをさらにレベルアップするので、どちらか一方だけを選択する必要はありません。
しかし、転職者の大多数にとって、4年間の研究と、さらに10万ドルの借金の積み立ては、現実的な選択肢ではありません。コーディングブートキャンプは、一般的にこのカテゴリの人々に適しています。
一流のコーディングブートキャンプは市場の他のプログラムとは大きく異なるため、登録を検討している場合は1つは、スマートな方法で参加する方法について調査することが重要です。正しい電話をかけるために知っておくべきことはすべて次のとおりです。
完璧なコーディングブートキャンプ戦略のリバースエンジニアリング
私の答えが気に入ったら、下の水色のボタンを押して賛成した場合、それは私にとって大きな意味があります。
回答
ここには、私が非常に同意しない多くの回答があります。非常に強く。率直に言うのは嫌いですが、ここに行きます。
物事をすばやく上手に学び、習熟する方法として、大学のフラットアウトは最悪です。誤解しないでください…他の多くの理由で素晴らしいですが、知識を習得することはそれらの1つではありません。私はケンブリッジ大学の自然科学で一流の栄誉を持っています。同じように、シドニー大学の財務学修士であり、医学部の1学期について(シドニー大学でも…私はそれを嫌い、寒さをやめました)—私はそれについて客観的になるのに十分な大学を見たと思います。
何かに気づきました。それは、私が出発して自分でグーグルで検索する前に、大まかなシラバスを投げるという大雑把な仕事をするために、他の人に莫大な金額を支払っていたということです。それから、彼らは私を業界が気にしない何かで任意の、予測可能な、厳密にスコープされたテストに座らせ、そして私にいくつかの曖昧に定義された、派手な響きのスキルの習熟度の証明書を発行します。
私は手足に出て、大学の学位を持っていない人を考慮することを拒否する採用マネージャーは、不必要に素晴らしい才能を放棄していると言います(その結果、かなり悪いことをしていますそこに;私はそれを言った。)これは、若いエリック・シュミット、マーク・ザッカーバーグ、ビル・ゲイツの採用を故意に拒否することを宣言するのと同等の規模の無知です。それは誇張のように聞こえますが、そうではありません。
大学の学位を持っていない、または他の何かで大学の学位を持っている信じられないほど優秀な人々がそこにいます(彼らの多くは…)。それらの多くは、おそらく、私が名前を挙げられるどのCEOカレッジドロップアウトよりも優れたコーダーです。誰かが「ああ、あなたはXの学位を持っていない」のように私に紛れもなく愚かに聞こえる何かを言うとき、私は宇宙全体に悲しくて欲求不満になりますか?それでは、「something\_vaguely\_related\_to\_xを実行することはできません」。それは真実ではありません。*明らかに機能しない*製品にばかげた金額を費やしていないので、そのような膨大な数の人々を大胆に書き留めることは、(a)意図的な無知、(b)道徳的破産の立場です。または(c)昔ながらの怠惰。
好意を持ってください:ここでこれらすべての回答を無視し(必要に応じて、上記の私自身の主張をすべて含む)、ニューヨークのFlatiron Schoolにアクセスするか、サンフランシスコのHackReactorまたはMakerSquareにアクセスしてください。人々(学生、卒業生、本当に誰でも)そしてあなた自身のために見つけてください。人々がどこで働いているか、彼らのバックストーリーは何であるかを調べてください。何をするにしても、*良い*プログラミングブートキャンプの卒業生に会ったことがない人は、彼らの意図がどんなに素晴らしいものであっても、彼らが何について話しているのかわからないので、地獄を無視してください。