独学のプログラマーが実際に仕事を成し遂げる方法

Quoraからの質問:



独学のプログラマーは実際にどのように仕事を成し遂げますか?



私は17歳で、14歳からプログラミングをしています。 Javaに主眼を置いて、AP Computer Scienceのテーマについて5つのポイントを得ました。 私はJava(構文、コアクラス、GUI / JFrameなど)が得意であり、HTML5とCSS3にかなり精通しています。 業界での仕事に実際に資格を得るための多くの知識が不足しているようです(たとえば、DBMSがどのように機能し、どのDBMSを使用する必要があるかなど)。 私はソフトウェア工学の学位を取得して大学に進学する予定ですが、大学が仕事を得るための前提条件であるという考えに腹を立て始めました。 私はそれらを勉強しなければならなかったけれども、私が逃したコース、または私がしなかった何か他のものがありますか?



私の答えは:



あなたは間違ったことを見ていると思います。 他の誰かが答えを教えてあなたに教えるように、コースを取るべきだと思います。 基本的な観点から見ると、独学のプログラマーの行動は異なります。



独学のプログラマーは、ギターの演奏を独自に学んだ人と多くの共通点を持っています。 あなたがギターを弾いたことがあるかどうかわかりませんので、トレーニングがどのように行われるかを説明します。



まず、それはすべて、誰かがギターを弾いている相手を見ているという事実から始まります。 すでにある時点でプレーしている人のほとんどは、他の誰かのようになりたいと思っていました。 その後、彼は「私も学ぶことができます!」という決定を下します。地元の楽器店に行き、中古ギターを買います(安いからまだかっこいいので)。



次の2つのうちの1つが来ます。 または、何らかの形でギターチュートリアルを見つけた人、またはYouTubeにアクセスしてお気に入りの曲を再生しようとする人もいます。 原則として、2番目のオプションはより効果的です。



若いギタリストは特定の曲を演奏する意欲があるので、ビデオを見たり、タブやコードを印刷したりします。ビデオやアクセス可能なタブにガイドされて、自分で座って曲を作り直そうとします。



コード、ソロ、リズムなどを選択して何時間も練習した後、彼は自分のバージョンの曲を演奏できるようになります。 まったく同じではありませんが、ロックンロールのオリジナルに十分近いものです。



それから彼は、好きな別の曲ともう1つの曲を選択します。 徐々に、初心者のギタリストは、それが何であるかさえ理解することなく、パターン、テクニック、その他すべてを習得します。 彼は単に名前と理論を勉強せずに必要なことをする方法を見つけます。



結局、ギターを弾くのは「自然」になり、新しい歌を学ぶことは一般的で痛みのないことになるでしょう。 彼にとってのギターの「言語」は、人間のスピーチのように自然なものになります。



これはすべて、数千時間の練習で起こります。 1日数時間練習しても、そのプロセスには数年かかります。



では、これは独学のプログラマと何の関係があるのでしょうか?



プログラマを独学させるのは、彼がさまざまなものを作成するということです。 そして、あらゆる種類の多くの。 要求されるスキルを持つ優秀なプログラマーになるには、物を作成してコードを書く必要があります。



クラスに参加して理論を学ぶことは良いことですが、多くの教授は最も単純なプログラムでさえ書くことができません。 誰かが使いたいと思う便利なアプリケーションにすることはできません。



彼らが自分の主題を知らないということではなく、教育の主なことは、コードを書いてクライアントに利益をもたらすのではなく、主題を研究し、理論を理解することです。



違いを感じますか?



私が今まで働いた中で最高のプログラマーは、彼らが本当のコードを書いたのでそうなりました。 ほぼ常に。



たとえば、今日、すべてのWeb開発者(およびその兄弟)はWordPressを使用しています。 WordPressのずっと前に、私はPHPとMySQLで3つまたは5つの異なるコンテンツ管理システムを書いていました。 ゲームを作りました。 彼はモバイルアプリケーションを作成しました。 フレームワーク SAASアプリケーション。



誰も私にこれを支払った。 これはすべて、楽しみのために、トレーニングのために、または好奇心からです。



長年、私はどのコースにも参加していませんでしたし、彼らが私のキャリアを大きく前進させるとは思いません。 しかし、座って独自のプログラミング言語またはオペレーティングシステムをゼロから作成することを決めた場合、その過程で多くの有用なことを確実に学習するでしょう。



はい、これらの科目のコースに参加できました。 しかし、本や講義から学ぶのではなく、自分で物を作り、間違いを犯し、これを本当に「感じる」なら、もっと多くを学ぶことができます。



だから私はあなたがこれをほとんどしない人よりも大きな利点を得る助けを借りてアドバイスを与えることができます...



解決できる問題を解決します。 あなた自身や他の人がプログラムで見たいようなクールなことを行うプログラムを作成します。 毎日コードを書きます。 夕方、週末、毎日。 たった15分でも結構です。



最終的には、何かがうまく機能し、かなりまともなものになります。



その後、もう一度開始します。 他のことをしてください。 書き込みと書き込み、書き込みと書き込みを続けます。 スキルに何千時間も投資して、新しいプロジェクトを作成することに挑戦してください。



コードを書くときは、サイトの小さなポートフォリオに作業内容を保存してください。 プロジェクトを完了するたびに、Hacker NewsまたはRedditなどで報告してください。 ブログで。



あなたは17歳です... 20歳までに、スキルの開発に2000時間以上を簡単に投資できます。ポートフォリオには10〜20のプロジェクトがあり、コースの学生が決して学べない多くのレッスンを学びます。



さらに重要なことは、コードを記述し、問題を解決し、この世界で機能する何かをリリースする能力を明確に示すことができることです。 これは大きな価値です。 企業がまさに求めているもの。



仕事を見つけたらすぐに、自由な時間にプログラムを続け、プロジェクトを促進します。 彼らは家に帰ってテレビを見たり、学んだり、成長したり、何かを作ったりしないので、あなたは仲間よりも速く成長します。 彼らは収入を得て家に帰ります。



作成するほど、知識が増えます。 知識が多いほど、価値が高くなります。 値が高いほど、仕事を見つけやすくなり、給与も高くなります。



シェルから出て何かを作成します。 コードを書きます!



All Articles