私は16歳です。私は高校を始めようとした約1年前にプログラミングを始めました。私はプログラミングの仕事に就きますが、できる限り多くのことを学ぶために最善を尽くしています。最初に始めたとき、私は本からC ++の基本を学び、そこから自分で物事を学び始めました。今日、私は1年前よりもずっと経験を積んでいます。高校はプログラミングについて価値のあることを(おそらく)教えてくれないので、自分で勉強しなければならないと知っていました。
ここでの質問は、自分でプログラミングを学ぶことはどれほど重要ですか?
私は16歳です。私は高校を始めようとした約1年前にプログラミングを始めました。私はプログラミングの仕事に就きますが、できる限り多くのことを学ぶために最善を尽くしています。最初に始めたとき、私は本からC ++の基本を学び、そこから自分で物事を学び始めました。今日、私は1年前よりもずっと経験を積んでいます。高校はプログラミングについて価値のあることを(おそらく)教えてくれないので、自分で勉強しなければならないと知っていました。
ここでの質問は、自分でプログラミングを学ぶことはどれほど重要ですか?
回答:
重要です。私は、あるレベルで独学ではなかった優秀なプログラマーを知ったことはないと思います。大企業の雇用管理者として、私は個人的なプロジェクトと学びたいという願望を説明する候補者は毎回印象的な程度で1つに勝ると言うことができます。(ただし、両方を持つことが最善です。)
大学については次のとおりです。コンピューターサイエンスのコースは、テクノロジーではなく理論を教えます。ハッシュテーブルとBツリーの違い、およびオペレーティングシステムの動作の基本について説明します。彼らは一般的になりません、あなたのコンピュータ言語、オペレーティング・システムまたは浅いレベルを超えて他の技術を教えます。
私が最初のデータ構造クラスを取り込んだとき、私は「C ++」と呼ばれるこの新しい言語の薄いマニュアルを手に入れたので、彼らが学習を開始することに決めたときのことを思い出します。コードを書くのに十分な2週間をかけて取りました。それはそれ自体が良い教訓でした。それがあなたのキャリアの道です。
あなたの学校は、あなたが良い仕事を得るために必要なことをあなたに教えないでしょう。学校は何年も業界の注目を集めています。その後、仕事を得るでしょう。どんな会社に行っても、あなたを訓練するために特別な努力を払うことはほとんどありません。悪い会社は安すぎて、率直に言って、良い会社は彼らが行くようにそれを拾うのに十分なだけ賢く人々を雇います。
私は1987年に大学を卒業しました。DOS、NetBIOS、および「Terminate-and-Stay-Resident」プログラムの専門知識を持つCプログラマーとして働きました。それ以来、私は実際のトレーニングがあったとしてもほとんどありませんでした。求人広告をご覧ください...これらのスキルはあまり必要ありません!私が今日採用できる唯一の理由は、私がその間何年も絶えず学んできたからです。エンジニアとして成功するには、学習の習慣が必要です。地獄、私はそれを超えて行くだろう:あなたは学習の愛を持っている必要があります。面白そうだから、WebGL、Android、iOSをいじるような人である必要があります。あなたがそのような人であり、学習の習慣を維持している場合、あなたは業界ではるかに行きます。
自己学習は非常に重要です。あなたはあなたの分野について知る必要があるすべてをあなたに教えるために正式な教育に頼ることはできません。しかし、それは言われていることですが、あなたがそのキャリア分野に十分な準備と設備を整えたいなら、正式な教育も非常に重要です。
私は大学に進学しており、過去4年間、ソフトウェア開発を独学で学びました。その結果、今ではエンタープライズアプリケーションを管理する有名な大企業で働いています。たくさんの才能は必要ありませんが、たくさんの仕事とモチベーションが必要です。学習に関しては、文学と実践が最善の策だと思います。また、特定のフィールドを選択することも重要です。すべてのフィールドで言語とロジックを使用できますが、特定のフィールドで十分な実践と理解を与えられた場合にのみ真に「偉大」になることができます。
自分で学ぶことは非常に重要です。タスクを達成するために必要な知識を調査および収集する規律を持つことは、同じタスクを達成するために正式なトレーニングに依存している他の多くの人よりもはるかに先を行くでしょう。これは、ソフトウェア業界だけでなく、あらゆる業界に当てはまります。
誤解しないでください。正式なトレーニングや教育を受けることは役に立ちますが、スキルを向上させるためのあなた自身の動機は、より良いソフトウェア開発者に成長するのに役立ちます。新しいプラットフォームやプログラミング言語、実装する開発方法論、使用するツールとアルゴリズム、リストなど、学習すべきことが常にあります。正式なトレーニングを通じてすべてが紹介されるわけではありません。したがって、プログラミングのキャリアを通じて役立つ他のトピックやアイデアについて学ぶのはあなた次第です。
自己指導は、プログラマーにとって不可欠なスキルです。多すぎません。うまくいけば、あなたはこれからのキャリアでこのスキルを使うでしょう。
私は、仕事以外で自分のプロジェクトを持っていなかった人を考慮しない場所がいくつかあったことを伝えることができます。仕事に出て小切手を集めるだけでなく、プログラミングへの愛を示します。私はここで四肢に出てこう言います:プログラムを好まないすべてのプログラマーは仕事を吸います。さらに悪いことに、彼らは参加できるチームに追加するものが何もありません。
経験の浅いジュニア開発者を、彼が自由な時間にコードで遊んでいるのが大好きで、モーションを経験している3人の中規模の開発者よりも好きです。彼らよりも良くなることはありません。
新しいことを学んでいないのなら、あなたは自分の知っていることを忘れてただ座っているだけです。
特定の分野で優秀になるには、少なくとも10年の練習が必要です。したがって、早期に開始することが重要です。
あなたが人生の早い段階であなたが好きだと思われる何かをし始めたという事実は、すでにあなたをパックの先に進めています。したがって、作業するエリアについて再考しない限り、停止しないでください...停止しないでください!
自己学習は、特定の開発者にとって最高のスキルの1つであり、2番目は大学の学位であると考えています。優れた大学の学位は、それがあなた自身の知識ではおそらく非常に質を高め、おそらくあなた自身では集めることができないという理由だけで重要です。このルールには確かに例外がありますが、それだけです。例外。
また、早期に経験を積むほど、大学での楽しみが増し、提示された新しい概念をよりよく吸収できます。最初はとても簡単で無意味ですが、すぐにチャレンジを感じて、もっと学びたいと思うでしょう。
大学を卒業した後、学習をやめないでください。これはあなたの最高の機能の1つです。「才能は過大評価されています」を読むことをお勧めします。その本に関する次の簡単な記事をご覧ください。
私が考えることのできる他のほとんどの分野と比較して、プログラミングは基本的にすべて自己教育に関するものです。正式なコンピューターサイエンス/ソフトウェアエンジニアリング教育は有用ですが、実際にコードを学ぶ場所ではありません。
本当にすべきなのは、プロジェクトに取り組み始めることです。あなたが存在したいものを構築することです。そして、オープンソースプロジェクトに参加して、もっと良くなりたいものに取り組んでください。学習は無料で提供されます...
あなたは自分で新しいことを学ぶ必要があります-あなたの好奇心があなたを連れて行くところに行きます。
正式な教育も受けてください-正式な教育で学んだことの90%は職場で使用されません。しかし、使用される10%は、その時点ではまったく役に立たないと思っていた奇妙で不明瞭なものです。
正式な教育を受けないと、「知らないことを知らない」と最もよく表される問題に悩まされます。正式な教育では、誰も外出してそれをすべて使用することはないという完全な知識の中で、多くのことを幅広く幅広くカバーしています。使用するものは、必要になるまでわからないものなので、どこに目を向ければよいかがわかるように準備することがすべてです。
自己学習/好奇心に基づいたものは、あなたをはるかに知識が豊富でバランスの取れた人にします。雇用主にとってより価値があることは言うまでもありません。
サイドノート:15歳くらいのプログラミングを始めて以来(25年以上... 30年近く)プログラミングを始めて以来、私の大学教育とは別に、ほとんどのトレーニングコース(知っている...フルタイムの3日)はまったく役に立ちません。これらは一般に表面的なものであり、「スキルを維持する」という大いに宣伝されている限り、技術的な詳細を詳しく知る必要がある人にはあまり役立ちません。本を購入し、インターネットを使用して、数学/物理学/建築/私が有用で価値あるものになったものを掘り下げます。ある段階では、私は特定の主題に関する特定の専門知識を持つ世界の約10人のうちの1人でした。そのすべての知識は、自習と実地学習によって得られました。
学習を停止する唯一の時間は、松の箱に6フィート足らずのときです。
それについて良いgood話があります:
ブリティッシュコロンビアで開催される毎年恒例の世界選手権。ファイナリストはカナダ人、ノルウェー人でした。
彼らの仕事は次のとおりでした。それらのそれぞれは、森林の特定の部分。勝者は、午前8時から午後4時まで、最大数の木を倒すことができる人です。
8時にホイッスルが鳴り、2人の木こりが位置を占めました。彼らは木の後ろで木を切り倒しましたが、カナダ人はノルウェー人が止まることを聞いていませんでした。これが彼のチャンスであることに気付き、カナダ人は彼の努力を倍加した。
カナダの9時、ノルウェー人が再び仕事に出たと聞いた。また、10人から10人のカナダ人がノルウェー人が再び停止したことを聞いたとき、彼らはほぼ同時に働きました。そして再び、カナダ人は敵の弱さを利用したいと働き始めました。
ノルウェー時間の10時に作業を再開します。10分から11時まで、彼は短時間中断しませんでした。歓喜の感覚の高まりとともに、カナダは同じリズムで働き続け、すでに勝利の匂いを感じていました。
それは一日中続きました。ノルウェー人は1時間ごとに10分間滞在し、カナダ人は働き続けました。午後4時に競技の終わりについて聞いたとき、カナダ人は賞金がポケットに入っていることを確信していました。
彼が失ったことを知って彼がどのように驚いたか想像できます。
どうしてこうなりました?-彼はノルウェー人に尋ねました。-1時間ごとに、10分間止まると聞きました。ええと、あなたは私よりも多くの木を切ることができましたか?それは無理だ。
実際、すべてが非常に簡単です-ノルウェー語だけ言った。-1時間ごとに10分間停止しました。そして、あなたが木を切り刻み続けている間、私はxを研ぎました。
だから、xを鋭く保つために、いつも勉強するべきです。
自己学習は、次の2つの理由で非常に重要です。
プログラミングに関連して知っていることの95%以上を自分で試してみて、それがどのように機能するかを学ぶことでおそらく学んだでしょう。学校は、優れたプログラミングスタイルを教えたり、コードの速度を最適化したりするのに役立ちますが、教科書を読むだけでは「良い」プログラマーになることはありません。プログラミングスキルを構築するための優れた方法は、コンピューターを使用して解決できる日常的な問題を見つけ、それを実現するためのコードを作成することです。立ち往生することは学習の一部です。私はウェブ開発者になりたいと思っていたので、ダミーのウェブサイトをかなり頻繁に作成し(もちろん、ホスティングもしない)、新しいものを試したいと思いました。それは私にとってはかなりうまくいきました!
2年前にプログラミングを始めました。私の学校は言語を上手く教えることができなかったので、オンラインで自分自身について多くの研究をしなければなりません。私は学習が遅いので、最初のプログラムを書くのに2年かかりましたが、学校の仲間はまだ苦労しているか、プログラミングに専念しています。
これは、プログラマーが学校に依存するよりも独習する方が良いことを示しています。学校は情報の準備ができていないと考えているため、情報を常に隠します。
数学とコンピューターサイエンスの常として、2つの視点があります。1。必要なものと2.十分な主張