初心者にプログラミングのどの専門分野をお勧めしますか [終了]

StackOverflow https://stackoverflow.com/questions/17320

  •  08-06-2019
  •  | 
  •  

質問

私はソフトウェア開発を勉強している学生ですが、一般的にプログラミングは範囲が広すぎて、すべてを知ろうとするのは難しいと感じています。熟練するには、どの領域に焦点を当てて学習し、理解するかを決める必要があります。データ駆動型 Web 開発や SQL の経験など、特定のスキル セットは相互に相乗効果を発揮します。ただし、世界中の win32 API の経験すべてが Linux 開発に直接適用できるわけではありません。このことから、初心者プログラマーとして、ソフトウェア開発の基本原理を一般的に理解した後、どこに特化するかを決定し始める必要があると考えています。

これは実際には複数の部分からなる質問です。

  1. コンピュータープログラミングとソフトウェア開発における共通の専門分野は何ですか?
  2. これらの専門分野のうち、他の専門分野の基礎として、または市場性のあるスキルとして、より長期的な価値があるのはどれですか?
  3. どのスキルセットが相互に補完し合うのでしょうか?
  4. 他の専門分野を発展させる能力を妨げる専門分野はありますか。
役に立ちましたか?

解決

ベン、ほとんどすべての熟練プログラマーはまだプログラミングの学生です。開発者になると、何かを学ぶのが止まることはありません。しかし、本格的にキャリアをスタートさせようとしているのであれば、専門性についてはほとんど心配する必要はありません。あなたが期待するすべての API、フレームワーク、スキルがこの分野での長期的な存在をもたらすわけではありません。テクノロジーは大きく変化しているようで、何でも学べる多才さと柔軟性が必要です。1 つのプラットフォーム/API/フレームワークに関して取得した知識は消えることはありません。そのスキルを次に優れたプラットフォーム/API/フレームワークに適用できます。

そうは言っても、将来のことを心配するのはやめて、基本に集中する必要があります。データ構造、アルゴリズム分析と設計、コンパイラ設計、オペレーティング システム設計は、必要最低限​​のものです。さらに、キャリアの中でいつでも喜んでその分野の本に戻って読む必要があります。必要なのはそれだけです。幸運を。

偉そうなアドバイザーのように聞こえたらごめんなさい。しかし、それが私が思うことです。:-)

他のヒント

あなたの前提を直接否定するわけではありませんが、実際のところ、ジェネラリストであることはプログラミングにおいて良いポジションだと思います。確かに特定の分野で専門知識を身につけることになりますが、それは個人的な興味または仕事上の必要性によるものである可能性が高くなります。時間の経過とともに、言語や問題領域を超えて伝達できる内容が、優れたプログラマーの核心となります。

もっと重要な質問は次のとおりだと思います。最も興味のある専門分野は何ですか?

理解したら、その分野の学習を始めてください。

最大のスキルは時代に適応することだと思います。なぜなら、雇用主があなたの潜在能力に気づいたら、しっかりと握り続けるのが賢明だからです。

そうは言っても、自分が楽しめるエリアに飛び込むことをお勧めします。 学習は熱意によって推進されます.

現在、インターネット プロバイダーに勤務しているため、ネットワークの知識が特に役に立ちます。でも、いつかは 3D グラフィックス (ゲームとは限りません) で遊んでみたいと思っています。

win32、.net、Java、Objective C などの 1 つの環境から始めて、できる限り深く学習してください。何でも。

X がどのように機能するかを深く理解することが重要です...必要に応じて、同じ概念を他の言語やプラットフォーム/環境に翻訳できるようになります。

「専門分野の他の分野を開発する能力を妨げる専門分野はありますか?」ある種ですが、永続的なことは何もありません。

私自身は比較的グリーン(4 年未満)なので、本当に OOP の考え方を持っています。私は .NET から飛び出すことがほとんどなかったので、埋め込みコードに触れるときに、ある仕事で苦労しました。組み込みプログラマは、オブジェクトの作成と継承によるパフォーマンスの低下を懸念しています。深刻なメモリ不足と遅いクロックタイムが原因となっている環境を学習する必要がありました。今は成長する時期です。自分の分野をよく理解していたため、より良い時間を過ごすことができました。

市場性やお金のために何か特化したものを選ぶと、おそらくすぐに燃え尽きてしまうと思います。専門的に学び始める場合は、自分が楽しめるものを選んでください。私は GUI プログラミングが大好きで、サーバーサイドのことは嫌いです。私の友人はその逆ですが、私たちは二人とも自分の仕事が大好きです。もし彼が私の仕事をしなければならず、私が彼の仕事をしなければならなかったとしたら、私たちは両方とも退屈で気が狂ってしまうでしょう。

学生としては、何をプログラミングしているのかを忘れて、ソフトウェア プロセス自体に集中することをお勧めします。問題を分析し、適切な質問をする方法を理解する。できる限りすべてのデザインパターンを実際に学びましょう それらをすべて適用してください オブジェクト指向設計の真の理解と評価を得る。テストを作成し、テストに合格するために必要なだけコードを記述します。本当に学ぶための最良の方法は、できる限りコードを書くことだと思います。言語やドメインは重要ではありません。参照してください。 ソースフォージ そして 新鮮な肉 面白そうなプロジェクトがあればぜひ参加してください。重要なのは、ソフトウェア エンジニアリングの基礎を理解することです。

はい、これには C も含まれます。またはアセンブラ。これは、コンピュータがどのように動作するのか、そして高レベルのコードが実際に何をしているのかをよく理解する最も簡単な方法です。

最後に、決して学習をやめないでください - サービス指向アーキテクチャ、制御の反転、ドメイン固有言語、ビジネス プロセス管理はすべて大きな利点を示しているため、認識することが重要です - しかし、学習を終えて労働力に加わるまでに、次の大きな出来事が何になるか知っていますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top