あなたが将来を見据えたいのなら、私があなたに与えることができる最良のアドバイスは自分をテクノロジーに閉じ込めることではありません。
したがって、APIを盲目的に学習しないでください。彼らがどのように考え出されているかを学びましょう。舞台裏の哲学は何ですか?それらの利点と欠点は何ですか?特定のテクノロジーではなく、ソフトウェア一般を考えてください。
また、優れたプログラム構想に取り組むこともできます。OOPとAOPに行くのがIMOの良い選択です。しかし、メカニズムを理解するだけでなく、メカニズムの背後にある哲学に真に取り組みます。
データ構造やアルゴリズムなどの一般的なコンピューターサイエンスは、常に役立つクロステクノロジーの知識であるため、無視しないでください。
また、良い習慣を身につけてください。多くの場合、何かを行う方法は12通りありますが、それらのほとんどはがらくたです:バグが発生しやすく、保守が難しい、後で理解するのが難しい、または別のプログラマーがなど。。。通常、コードは書くより読むのが難しいです。だから、読みやすくするために、もう少し努力して書く方法を学びましょう(書くよりもコードを読むため)。
デバッグ(ログとデバッガーのスマートな使用)とテスト(簡単に単体テストできるコードの記述方法とこれらのテストの自動化方法)に効果的なテクニックを学びます。
次に、一般的な技術の背景が必要になります。私は、プロセッサのしくみ(キャッシュミスまたは分岐予測が適切なスタート)、UNIXシステム、IP、TCP、イーサネットなどのネットワークプロトコルなど、非常に幅広い知識について話している。。。
最後に、学ぶ方法を学びます。あなたが学ぶ方法を知っているなら、あなたは適応することができます。
仕事を見つけるには、特定のテクノロジーに関するいくつかの強力な知識が必要ですが、それらは非常に古くなっています(たとえば、COBOL、またはIE / Netscape戦争のときのWebプログラミングについて考えてください)。したがって、将来性を保証するためにそれらに依存しないでください。彼らは採用するための鍵となりますが、優れたプログラマーを作るものや、長期にわたってあなたのスキルを永続させるものは間違いなくありません。
編集:始めたばかりの場合は、間違いなく何かを行う必要があります。なんでも、本当に。テトリスやヘビのようなゲームは良いスタートであり、楽しいです。物事を成し遂げなければ、多くの時間を学習に費やしてしまい、実際に学んだことを完全に理解するために必要な経験を得ることができません。
デザインパターンを使って例を設定しましょう。デザインパターンは素晴らしいので、間違いなく使用する必要があります。しかし、過度に使用すると、コードが複雑になり、理解しにくくなります。設計パターンが何であるかを完全に理解するには、設計パターンが解決する問題に直面し、それを解決しようとする時間を少し失う必要があります。デザインパターンは、コードが大きくなると、時間の経過とともに小さなリファクタリングとして使用する必要があります。また、デザインパターンの利点が、その使用によって引き起こされるコードの複雑さよりも大きい場合に、デザインパターンがいつ必要になるかがわかります。これには経験が必要です。
決定的に、物事を成し遂げ、彼らはあなたの過ちから学びます。これ以上主張することはできません:GET THINGS DONE!