自分の好きな分野に特化するのか、他の分野に拡大して視野を広げるのがよいでしょうか?[閉まっている]


31

これは私が長い間考えてきたジレンマです。

私は大学院生であり、興味のあるトピックはプログラミング言語の設計、コード分析、コンパイルなどです。これまでのところ、この分野は私にとって非常に興味深く、やりがいのあるものでした。それに特化する。すぐに「スタイルから抜け出せない」比較的堅実な分野だと思います。このような複雑な分野では、専門家が話していることを表面的に理解している単なる別の男よりも、本当の専門家である方が良いといつも考えてきました。

一方、このように専門化することで、将来の選択肢が本当に制限されると感じています。私は、問題に対する学際的なアプローチを常に強く信じてきました。たぶん、他の分野で経験を積むことができる一般的なプログラミングの仕事を探しに行く必要があります。また、問題を解決するために私の好きな分野を適用することもあります。1つまたは2つのフィールドのみを専門とすることで、枠を超えて思考を停滞させ、停滞を引き起こすことができます。

この選択についてもっと意見を聞きたいです。真実は、私はすでに選択肢の1つに傾いているので、基本的な心理学は私の心を変えるものは何もないと言いますが、私はまだいくつかのフィードバックを聞きたいです。


良い調子。保証します。また、私は他のコメントを見たい
PradeepGB

プログラミングや、法律、税金、言語、生物学、数学など、なくなることのない何かに特化してください。ITスキルはすぐに役に立たなくなりますが、他のスキルも残っています。(例として)税金を専門とするイタリア語+中国語を話すプログラマーを見つけるのは困難です。賢く賭けてください。考えてみてください。今後20年間で、プログラマーとして(願わくば)博士論文を完成するのに必要な以上のことを学ぶ必要があります。この観点から、「より静的な」何かでのもう2年間の学校教育は、ひどい考えのようには見えません。
ジョブ

回答:


21

楽しむなら専門に

ご存知のように、専門化すると、他のテクノロジーにすぐに適格にならないという機会コストが自動的に発生します(たとえば、Javaプログラマーはコンパイラー最適化ジョブにすぐに受け入れられないことが多い)。ただし、これは、選択した分野に固有の複雑さに対する愛情とバランスを取る必要があります。

あなたは専門家になりたいと言います-さあ、選んだ分野を学ぶために時間をかけてください。コミュニティとしての私たちには、常に新しい専門家が必要です。ただし、私のアドバイスは、「毎年新しい言語を学ぶ」という実用的なプログラマーの推奨に従うことです。そうすれば、アルゴリズムエンコーディングの詳細な字句解析に取り組んでいる間、あなたが興味を持っている小さなiPhoneアプリを作成することもできます。あなたは決して知らない、異なるパラダイムの相互受粉はあなたの専門性を新しい領域に拡張する洞察をあなたにもたらすかもしれない。


あなたの最初の文に関して-いつか私が愛するものに飽きてしまい、専門家として分野を変えることは難しいだろうという恐れもあります。その一方で、この分野への私の関心は長年にわたって強くなっています。
オーク

1
@Oakでは、いつ疲れるのか予測できないので、満足していると確信しているフィールドを選択し、最大限に活用してください。燃え尽きを感じたら、他の仕事に注意をそらす。選択した分野が十分に進んでいる(そして確かにそのように聞こえる)場合、何でも拾うことができる十分なスキルが必要です。OK、あなたは初心者になりますが、自分自身を捧げるとすぐに飛ぶでしょう。
ゲイリーロウ

2
オークは言語と言語設計に興味があるので、彼はすでにたくさんの言語を知っており、新しい言語を学ぶことは基本的に彼の専門分野(多かれ少なかれ)に該当するに違いありません。すでに言語に興味がある誰かのために、私は新しい、あなたが知っている言語で自明でない何かをお勧め:AIや機械学習やNLPやOSを書くことであなたの手を試してみてください...
Tikhon Jelvis

20

それはあなたがあなたのキャリアから何を望んでいるかに依存すると思います...

技術レベルで:すべての取引のジャックであることは、非常に専門的な人よりも幅広い役割に応募できることを意味します。順応性があり、動き回って、特定のニッチに縛られたくない場合、これはおそらくそれほど悪くはありません。ただし、デメリットは、特定の領域をさらに掘り下げない限り、おそらく比較的中級または中級の役割に限定されることです。

特定の分野に特化することは、上記のほとんど反対です。高い地位と収入を獲得できる可能性は高いでしょう(もちろん、高い需要がある良いニッチにいる場合)が、その専門分野に大いにハマります。

したがって、広い意味では、これら2つは技術レベルの選択肢です。

政治レベルで:管理職への昇進などの点で「キャリアの進歩」について話している場合、通常、技術的に何をしてもかまいません。プログラマーの役割から管理職に移行した私が知っているほぼすべての人が、組織の人々とビジネスプロセスを非常によく知ることでそうしました。一部はスペシャリストであり、一部はジェネラリストでした(彼らが使用したテクノロジーに関して)-しかし、全員が組織に深く根付いており、人々とプロセスを熟知しており、基本的に彼らがそれらの責任を所有することは論理的になりました。

したがって、基本的な意味では、経営階層を上に移動するという点でキャリアを向上させたいのであれば、それはすべて政治をすることです。ジェネラリストとスペシャリストになることはそれほど重要ではありません(おそらく、あなたが管理するプロセスとテクノロジーのスペシャリストに多少なりともなります)。


4
シニアに分類されるためにあなたが非常に専門化されなければならない理由は正確にはわかりません。
ジョン

@ジョン:良い点。編集しました。
ボビーテーブル

3
また、問題に直面した場合、Jack-of-all-tradesは、1つの技術しか知らない誰かが想像することさえできない追加のソリューションを思い描くことができるため、独自の視点を持つことができます。
ワイルドピーク

10

まず第一に、求人情報はしばしば必要な専門化の量を誇張します。求人掲載に「私たちは何も知らないのでJavascriptについて少し知っている人が必要です」と言っている会社はありません。彼らはそこに「Javascriptの専門家」を置いています。なぜなら、他のすべてが平等であるため、彼らは実際に専門家である誰かを獲得したいからです。それは、専門家だけがその会社がJavascriptで行う必要があるものに資格があることを必ずしも意味するわけではありません(そして、彼らが何をする必要があるかさえ知らないことに驚くでしょう)。だから、「専門家」になることをあまり心配しないでください。アドバタイズされたスキルに精通している仕事に応募し、インタビューで物事がどのように進むかを確認します。仕事に長けているということは、あなたが何年もの間[言語を挿入]している以上のことです。そして、仕事がやりがいのあるものであれば、

それは仕事を「得る」ことです。仕事を「維持」するために、JOATになることは素晴らしいことです。あなたの会社がさまざまな言語とプラットフォームの調査を開始するなら、あなたはゲームの先を行くでしょう。MSベースの会社が突然何かのためにUNIXの男を必要とする場合、あなたは彼らの頼りになるでしょう(その男になるか、「専門家」の雇用を処理する)。仕事を続けることは、何が起こっても不可欠であるということであり、JOATはその人になるには良い方法です。

さらに、あなたの会社がはるかに簡単になったときに新しい仕事を得ることができます:)


1
「もしあなたのMSベースの会社が何かのためにUNIXの男を突然必要とするなら」...私たちは夢を見ることができます、私たちはできません:)
ヨルダン

@ジョーダン-夢を見る必要はありません。私はそこに行ったことがある。私は何年もMSショップで働いていましたが、最終的にはMySQLとLinuxのサポートを必要とする顧客になりました。他の仕事や家庭での使用からLinuxを知っていた私たちは、Linux管理者を雇うことができるまで介入しなければなりませんでした。それは起こります:)
EZハート

7

はい、そうです。問題は、あなたがロックスターになることは決してないということです。Cで他の誰にもできないことをできる人になることはありません。あなたの焦点の欠如は、そのような卓越性を排除します。

一方、管理者が大量のプログラマーを買う余裕がないと判断した場合、彼らはあなたを解雇ません。。柔軟性には利点があります。

私はジャックであり、私の部門は過去4年間で80%の削減を見ました。まだここにいます。一部は、私が他の人よりも焦点が合っていないからです。私は好き私はについて何も知らないタスク、と私は言っているという事実のように私の上司手渡したばかり「確かに!」どんなおかしなことを思いついたとしても。そして、全体像を理解するとき、それはほとんどの専門家が決して達成しない一種のロックスターダムであり、それはluかることができます。

だから、あなたがロックスターになりたいのなら、集中する必要があります。誰よりも優れている人はいないからです。ただし、安定性を求めている場合は、柔軟性を選択します。柔軟性があることは、悪いことよりも市場性が高いからです。


3

ジェネラリストとスペシャリストはCIO.comの記事ですが、一方が他方より優れているかどうかを確認しようとする人々の類似した記事やブログ投稿が多数存在する可能性があります。それぞれに長所と短所があります。一方が他方を完全にトランプしたと言いたい人は、ある程度偏っているかもしれません。

あなたの選択の両側に可能な幻想があることを忘れないでください。スペシャライゼーションとして見るものには、さまざまなフレーバーがあります。たとえば、Web開発者全体をスペシャリストまたはジェネラリストと見なしますか?一部の人は専門分野として見ることができ、他の人はそれがかなり広いと見ているかもしれません。多くのWebベースのアプリケーションは、さまざまな専門知識をある程度必要とするあらゆる種類のコンポーネントを持っているからです。

あなたがリストした分野は、あなたがソフトウェア会社で働きたいと思うように思えますが、ある方法で同様のスキルを使用できる情報技術の一部があるかもしれません。さまざまな市販のソフトウェアでどの程度のカスタマイズを行って機能させることができるか、そしてこれがほとんどの企業にとっていかに優れた例であるかについての投資にどれだけの価値があるかを知ることができます。


3

一方、このように専門化することで、将来の選択肢が本当に制限されると感じています。

覚えて。あなたの未来は何十年も続きます。

現在の技術は、新たな機会が発生するにつれて大幅に薄れていきます。

専門化はまったく害はありません。

私は、紙のカードをパンチしてCOBOLプログラムを作成することを専門に始めました。今、私はPythonを書いており、何十年もパンチされた紙のカードには触れていません。

テクノロジーは行き来します。あなたが今特化しているものは何でも10年で消えてしまい、あなたは何か他のものに特化します。または、あなたは時代遅れになります。

「他の分野での経験」を心配することは時間の無駄です。あなたがしたいかどうかにかかわらず、あなたはその経験を得るでしょう。


3

それはあなたのキャリアに依存します。総合コンサルタントになりたい、自分でビジネスを始めたい、中小企業で働く、またはそのような柔軟性が認められている他の状況で仕事をしたいなら、あなたのキャリアに役立つと思います。私も同じ状況にあり、現在コンサルタントとして働いていますが、.NET / C#/ SQL / ASPの専門化を追求しています。

同様に、特定の技術に特化することなく、幅広い(浅い)経験を持ちながら、技術の多才さからキャリアを作ることは可能ですか?

はい、専門分野ごとに誰かを雇うことができない、またはコンサルタントになることができない中小企業を探すことができると思います。

(それはあなたがいることを地域選択することも、悪い考えではありませんでしょう、あなたの、より一般的なスキルを維持することに加えて、専門を。)


2

開発者を雇うとき、私は私が探している特定のスキルの強さと経験を持つ人々に偏っています。リクルーターはその偏見を大きく増幅するでしょう。つまり、私があなたを雇うかもしれない(そして私が学ぶことができる幅広いスキルと優れた基礎知識を持つ人々が好きだとしても)私はあなたと話すことはありそうもないことを意味します。

私自身は常に大物になっていて、ほとんどのキャリアで働いている同じ会社で多くの異なる肩書きを持っています。それでも、私は仕事を探しなければならないという見通しを恐ろしく思っており、現在の給料で簡単に別の仕事に就くことができるとは思いません(十分満足ですが、ここの人々は私を知っています)。


2

いつものように...

場合によります

「キャリア」の意味に依存します。要するに、それはあなたが「キャリア」によって何を意味すると思うかに依存します。

最近では、Webアプリケーションで多くの仕事をしています。私がこのキャリアを始めたとき、ワールドワイドウェブは存在しませんでした。そのため、@ Satanicpuppyの答えは非常に大きな意味を持っています。

Jack-of-All-Trades(JOT)テリトリーには4つの利点があります。

  1. 意欲と能力仕事を成し遂げるために必要なことを何でも学ぶ
  2. 知らないことを知る知恵
  3. そう言って、必要なときに助けを求める謙虚さ。
  4. 複数のドメイン境界にまたがる大きなトリック

主な欠点は次のとおりです。Excelには非常に長い時間がかかります、複数の分野で学習曲線を推進しているためにことです。

私はDBAとして15年もの間何もしていない友人と同じくらい良いのでしょうか?もちろん違います。2週間で想像もできないようなソリューションをすぐに見ることができますか?はい。

最高のアドバイスは、とても魅力的で魅力的な何かを見つけるまでJOTであり続け、時間の終わりまでそれだけをやりたいと思うことです。その「それ」があなたの専門になるでしょう。

私は、新しい難しい問題を解決すること、平凡なものを殺すためのイノベーションを探すこと、そして継続的に学習することが好きです。それが私の「それ」です。

ジェネラリストであること私のキャリアです。


+1:ジェネラリストになることも私のキャリアです。:-)問題のあるドメインやメインテクノロジー以外のものを知ることは、可能な解決策のツールボックスを持つことができるので便利です。あなたをスーパースペシャリストにすることはできませんが、新しいおもちゃ、つまりテクノロジーをいじくり回すことができます。
スポイケ

2

企業が専門人を探して大切にする理由の一つは、漏れやすい抽象化に戻ると思う。問題は、過去30年ほどで、ソフトウェアエンジニアが抽象化レイヤーの数を指数関数的に増やしており、副作用がないことを確認したい限り、常にそれらが出現することです。そして、それはあなたを得る傾向がある文書化されていない特異性です。

仕様やオンラインの例を読むことで新しいテクノロジーの使用をすぐに開始できるかもしれませんが、何か新しいことを始めると、機能のコードを書くのに20%の時間を費やし、最も奇妙なバグを見つけるのに80%の時間を費やしますあなたは今まで見たことがありますか?ある分野の専門家になると、この分野の具体的な比率が20/80から95/5に変わります(私は数字を作成していますが、一般的には近いでしょう)。つまり、作業をより迅速に提供し、落とし穴や一般的なバグが発生する前に回避することができます。たとえば、今日早く、シニアエンジニアの1人(チーム/製品の新人)が半日以上かけてスタックの破損の問題を探しました。

あなたがあなたの分野の専門家になると、あなたは経営者にとってより目立つようになり、貴重になります。私は他の会社については知りませんが、私が働いた会社では、あなたの報酬は(少なくとも部分的に)あなたの責任がどれほど重要であるかに依存します。JOATは通常、永続的な責任を負いません。代わりに、マネージャーはそれらを移動可能/交換可能なリソース(私たちのVPコールはスイスアーミーナイフ)として使用し、需要に応じて1つのチームから別のチームに移動できます。だからあなたは会社に10年間滞在し、振り返って気づくことができます。あなたは一度も責任を負いません。私には、そのような役割に型キャストされた非常に良い友人(優れたC ++ / C#開発者でもありますが、彼はどんな仕事もするので非常に良いJOATでもあります)がいます。私は彼が幸せではないことを知っています。なぜなら、私は非常に大きくて楽しい製品を私の遊び場として使っているが、彼はほとんどが誰か他の土地の一時的なゲストだからです。しかし今、彼はそれから抜け出すことができません。

そうは言っても、JOATのスキルを身に付けることも同様に重要です。そのため、必ずしも自分をJOATとして位置づけようとはしませんが、テクノロジーは変化するため、今日は専門家ですが、明日はまったく違うものの専門家になる必要があります。


あなたの友人の場合はまさに私が今経験していることです!+1
Html Tosin

1

私は絶対に言うでしょう。

しかし、あなたは外に出てそれを手に入れなければならないでしょう。新聞やオンラインの求人に掲載されることはありません(可能性は小さいです)。ですから、専門的な仕事を探すのではなく、あなたのさまざまな強みに合った仕事を探すべきでしょう。「わずかに良い」というのは主観的なものです。多分あなたは自分自身に対してあまりにも過酷で、控えめすぎるかもしれませんが、それは良いことです(-:

また、あなたの経験と専門知識は重要ですが、雇用主はあなたの結果を出す能力により興味を持っています。自問してください:この会社の収益を改善するさまざまな知識と経験で何ができますか?履歴書を見て、私の頭の中で思い浮かぶタイトルは、ソリューションエンジニア、アーキテクト(ネットワーク、アプリケーションなど)、さらにはCTOです。

最後に、私のアドバイスはあなたが楽しむもののキャリアを作ることです。あなたは、何年もの間、8時間以上の日のためにそれをしなければならない、とあなたかもしれないとしてもよのようなあなたがそのレートでやっていること( - ;

HTH、そして最高の願い、

KM


1

ほとんどの求人情報は、具体的すぎる、または要求が厳しすぎるため、彼らと戦っています。それらは広告のように書かれていますが(おそらく他の方法の強力さを示すため)、質問で述べた理由のために、適用する優れたプロファイルがいくつかありません。

私が使用している求人情報は次のとおりです。

仕事と人の説明

.NET Frameworkに関する4年以上の経験。特定の技術の知識は必要ありません。候補者は素早い学習者であり、新しいことを学ぶ意欲を示すことができなければなりません。私たちは次の人を求めています:

  • デジタルメディアに興味がある
  • 困難を機会とみなす
  • 物事を成し遂げ、CV駆動ではありません
  • のビジネス面に興味がある
  • 彼らの仕事にはスタートアップ精神があります言語:フランス語または英語

スキル(必須ではありませんが、それぞれが資産になります):

  • .NET Framework 4.0
  • nHibernateまたはEntity Framework
  • DevExpressコンポーネント
  • LINQ
  • WCF
  • HTML / CSS / Javascript
  • ExtJ

.NETの全体的な経験を除いてご覧のとおり、他の知識は実際には必要ありません。ただし、必要なのは新しいものを活用する能力です。

企業が職務記述書をどのように書くかを制御することはできないので、あなたはそれらを学習の機会として見るべきです。

非常に厳しい求人を見ると、それは新しいことを学ぶ機会だと思います。インタビューの中で(もし得れば)、私は動機が学習と物事を成し遂げているので、リストされているテクノロジーの経験の不足によってあまり影響を受けないだろうと説明します。

実際、それは私が非常に速く学んだ方法です:要求の厳しい仕事を選ぶことによって

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.