web-dev-qa-db-ja.com

「数年のキャリアの後にプログラミングをしないでください」。これは公正なアドバイスですか?

私は少し経験豊富な開発者で、PHPで約5年の経験があり、Java、C#で多少経験が浅く、最近はいくつかのPython=を習得しようとしています。プログラマーとしてのキャリア私は時々、他のプログラマーから、プログラミングはキャリアの最初の数年間に適している(ほとんどの場合5年間かかる)こと、そしてその後の方向を変える必要があると言われてきました。理由彼らは、プログラミングに関連する頭痛とプレッシャーを含んでいます。彼らはまた、プログラマーはあまり社会的ではなく、通常は家族などに時間を与えたくないと言い、特に「ああ、あなたは人生全体をプログラミングすることはできません!」

私はここでやや混乱しており、他の人にそれについて尋ねる必要があります。プログラミングを辞めたら、どうしますか?!この場合、教えることは良い選択肢かもしれませんが、おそらく最初に博士号を取得する必要があります。また、私の国(パキスタン)では、緊急のプログラミングタスクを実行するためにオフィスで2〜3時間余分に費やす必要があるという点で、プログラマーの生活はあまり良くありません。他の国や地域でも状況は似ていると感じています。

この分野で5年間過ごした後、プログラミングから何かにキャリアを変えることは公正なアドバイスだと思いますか?

更新



65
Yasir

私は、これはおそらく古くからの「それは依存する」を除いて、常に正しい包括的な答えを与えることができる質問ではないと思います。

最も簡単なアドバイスは、プログラミングが最も好きなものである場合は、変更しない限り停止しないでください。

就職市場、昇進の機会、場所、そしてもちろん給与など、考慮すべき要素は他にもたくさんありますが、キャリアを決定する上で最も重要なことは、「これで私はhappyになるか」という質問です。 ?」

61
asfallows

私たちには、私が50代で20年以上プログラミングしたプログラマーが何人かいます。それがあなたがしたいことなら、それは若者にのみ適切であると誰にも言わせないでください。

100
HLGEM

私は21年間コードを投げ続けてきたので、私はこれについてコメントする資格があると思います。

まず第一に、数年後に完全に管理職に移ろうとするプログラマーとして始めた人は少なくありません。彼らはコードを書くのを楽しんでいるのでコードを書かない、彼らはそれを彼らの本当の目標への道に沿って必要なステップとして見るので彼らはコードを書く。私はこれらがコーディングトラックからできるだけ早く降りるようにあなたに言っている人々であると思います。

それから、自分の目的でプログラミングを楽しんでいて、その人のスキルが管理職としては十分ではないという人がいます(私は一度試してみましたが、関係者全員にとって災害でした)。

テクニカルトラックに留まり、給与と責任を高めることができます。そして、年配の人のためのポジションもたくさんあります。私は46歳で、チームの他の1人を除いて全員が私より年上です。

MITübergeekステレオタイプに該当する年配のプログラマーを何人か知っていますが、私はそれが一般的には当てはまらないと自信を持って感じています。私と同じ年齢のプログラマーのほとんどは私たちは家族で、私たちが必要とする休暇を取って、通常は通常の生活を送っています。私たちはパーティーアニマルではありませんが、僧侶でもありません。

はい、そこには悪いプログラミングの仕事がたくさんあります。ただし、業界では仕事と私生活のバランスをとるための真の努力があり、多くのソフトウェア会社は死の行進シナリオを回避するためにできることを行っています。スプリントは常にありますが(今は真っ只中ですが、それは単なるビジネスの性質です)、マラソンはますます少なくなり、その間には遠ざかっています。

34
John Bode

それは、何十年経ってもまだ捨てられている古典的な大企業のアドバイスのように思えます。

基本的に、キャリアアップの問題の1つは、多くの企業が開発者に(仕事ではなく)キャリアを提供するように設定されていないことです。他の多くの職種では、管理職以外の役割を継続したい場合に、追加の経験と認定を取得する必要がある追加の管理責任または専門分野の層を徐々に上に行く傾向があります。ただし、重要なのは、「いつかパートナーを作ろう」や「自分の練習を開く」など、これらの分野でのキャリアアップが知られていることです。

何らかの理由で、「コーディング」 1 は、ソフトウェアアーキテクトが提示した詳細な仕様に従ってタイピングプールに実行させるものに過ぎないという考え方を採用しているように思われる多くの企業です。低俗な職業と見なされているため、基本的に開業医をやめて管理層に上がらない限り、生計を立てるためのソフトウェアを書く人としてのキャリアアップはありません。

私が困惑しているのは、IBMが1970年代に非管理職のキャリアパスを提供するではないことに気づいたことです。非常に良い開発者である。それは業界で長い間知られていますが、メモは人事に届かなかったか、基本的に人々はこの問題について十分に気にしていません。

現在、1980年代後半から1990年代前半にかけて専門的なソフトウェア開発を行っており、主に生計を立てています。はい、私は自分のキャリアのさまざまな段階で管理に「時間を費やして」いますが、「公式」のキャリアのはしごを登るよりもソフトウェアを作成する方が(そして、側面で少し管理する方が)幸いです。あります。

経験豊富なソフトウェアエンジニアがもたらす可能性のある価値を認めている企業は世界中にあります。トリックは、ソフトウェア開発で長期的なキャリアを持ちたい場合にそれらを見つけることです。 4〜5年後に人々が「コーディング」から抜け出すことは、過去の過ちを何度も繰り返したくありませんが、それらの記憶がないので、本当に良い考えだとは思いません。

1 これは、ソフトウェア開発の略記と、関係のない人が職業をよく見ている方法を示すために使用しています- [〜#〜] phb [ 〜#〜] 「理解できないのなら簡単だろう」.

25
Timo Geusch

いいえ、それはお粗末なアドバイスだと思います。このアドバイスを与える人々はどのくらいの期間プログラミングを行っていますか?それは私のレトルトの1つでしょう。私は米国とカナダで開発者として働いていましたが、それを自分のキャリアパスとして選択した場合、私の人生全体でこれを行うことに問題はないと思います。私は1998年から開発者であり、フィールドで5年以上経ちましたが、今でも自分の仕事をしています。ある場所から別の場所に移動したり、どのような進行をしたいのかを理解したりする際に、さまざまな遷移があり得ます。マネージャー、アナリスト、またはアーキテクトになる。

IMO、プログラマーは非常に社交的である可能性がありますが、ここで重要なのはどのようなグループを調査するかです。プログラマーでもある「スタートレック」ファンの集まりは、私が想像するだろうかなりのパーティーを開催する可能性がありますが、他の人はそれを不満だと思うかもしれません。


経験について尋ねる理由は、それが彼らのアドバイスの背景を提供するのを助けることができるということです。誰もがここで忘れてはならない偏見を持っています。人々は彼らの情熱に従うことができなければならず、一部の人々にとってプログラミングは彼らの情熱です。ソフトウェアの開発に非常に興奮し、伝染性の高い開発者を見てきました。他の分野に進む人もいれば、何十年も開発者がいる人もいます。あるもので機能するものは別のものでは機能しない場合があります。

14
JB King

通常、人々がこのようなアドバイスをするとき(「永遠にコードモンキーにならないでください!」)は、プログラミングとは無関係なことを追求する必要があることを意味するのではなく、開発と管理の計画により多くの時間を費やす管理職に就きます。実際のコーディングよりもチーム。これは問題なく、多くの人々は最終的にこの代替案を好むでしょうが、多くのプログラマーはこれらの「ビジネスに適した」タイプの責任を絶対に嫌います。コーディングが好きな場合でも、進歩の余地はあります。多くの組織の上級プログラマは、給与と福利厚生においてマネージャからそれほど遅れていません。どちらの方法でも、経験を積むにつれて、おそらくスペクトルの両側で、前進するためのオファーと機会が与えられます。ケースバイケースで機会ごとに、その特定の役割を引き受けたいかどうかを決定します。プログラミングが一般的に嫌いなようには聞こえませんが、他の人が物事のやり方についてあなたに言っていることを恐れています。 それらを聞かないでください。彼らはあなたではなく、コーディングが好きなら、コーディングを続けてください。 プログラマーSEには、毎日何をするのが好きで、何年もそれをしているプログラマーがたくさんいます。

10

私はこれが最終的に正しい答えだと思うので、「あなたがそれを愛しているならそれを続けてください」のいくつかのバリエーションを言うすべての応答を賛成していました-しかし、私は少しの間、別の見方について考えました「プログラミングを続ける」オプションに対する良い悪魔の支持者を思い付く...

プログラミングの「移動」という考え方は、実際にはプログラミングに固有のものではないと思います。むしろ、それは非常に多くの技術専門職のための一般的なキャリアプログレッションアドバイスです-本質的に、anyは自己制限的で一般的な傾向があり、誰も実際にメガグルにならないほどです。ただし、プログラミングは途中で失敗する可能性があります。この意味で賛否両論があります。

外科医であることと会計士であることを比較して説明しましょう:

心臓外科医は、彼女が彼女の分野で世界的に有名になり、偉大になれば、単に心臓外科医であるだけで、非常に優れた生産的なキャリアを持つことができます。彼女は心臓手術と心臓病学に革命を起こす特別な新しい手順を考え出し、これらの手術を行う命を救い続けるかもしれません。簡単に言えば、キャリアは多かれ少なかれ実際に始まり、そして実際に終わりますあなたが最も得意とする技術的な仕事をすることおそらく講義をしたり、彼女が思いついた新しい手順について書いたりする以外は、キャリアは大体同じです-技術的。

一方、会計士はおそらく、彼のキャリアの初期にのみ、個人的な納税申告書などの古典的で低レベルの不快な「会計業務」を行いたいだけです。私も、経理担当者がキャリア全体で申告番号を殺している猿になりたいとは思わないかもしれません。彼らはむしろ上層部に移動して経営陣に入るか、自分の会社を立ち上げます。とにかく、多くの会計士にとっての「自然な」キャリアの動きは、標準的で基本的な「技術的な」仕事ではなく、より経営的で戦略的なものへと「上がる」可能性があります。

重要なのは、これら2つのキャリアについて考えた場合、1つは生涯同じことを続けてもかまわないということです。他の場合、それは曖昧ではないように見えます。これが鍵だと思います-これが人々がこのアドバイスをする理由です。彼らは頭の中で、プログラマーであるというのは低レベルのうなり声のエンジニアリングの役割であり、一生コードモンキーの仕事を続けているのであれば、あなたのキャリアにはそれほど野心的ではないという考えを持っています。多くの人にとって、このアイデアはおそらく無知から生まれています。他の人にとっては、おそらく管理階層を上に移動する威信を望んでいるだけかもしれません。

いずれにせよ、これがこの現象の根本的な原因だと思います。人々は多くの技術的な職業を自然に制限するものと考える傾向があります。人々が年をとったとしても、彼らはまだ大げさな技術的な仕事をしているべきではなく、むしろ管理や自分自身のビジネスを実行するような一般的に「より高いレベル」に移動します。

9
Bobby Tables

プログラミングに情熱を傾けている方もいらっしゃるかもしれませんが、その場合、それをやめる理由はありません。

または、そうではありません。その場合、最初からそれを行うべきではありません。

ある時点で、その情熱が他のことの余地を作る場合、それは問題ありません。それが起こったときに、必ず何か他のものを見つけますが、それまでの間、楽しんでください!

7
tdammers

パキスタンとインドの多くの人々は、数年後に他のIT専門職に移るようです。私が一緒に仕事をしているインドの会社では、彼らはプログラマーだけを雇うという方針を持っています。すべてのビジネスアナリスト、アーキテクト、プロジェクトマネージャー、データベース管理者、およびその他の専門家はすべて、もともとプログラマーとしてスタートしました。これは、1980年代中期から後期まで、米国の多くの企業データ処理ショップを思い起こさせます。ですから、そのような組織では、はい、「先に進む」ことが期待されているのです。さもなければ、あなたはあまり成功していないように見えます。私たちのグループでは、経験豊富な開発者がプロ​​ジェクトにとって非常に有益であると考えているため、この考え方を変えようとしています。この分野であなたの仕事が本当に上手になるには、わずか5年で十分です。

とにかく、私は他の人にあなたが何をすべきかを教えないようにします-私が説明したような組織で働いている場合、それが期待されていないか、尊重されていない場合、プログラミングのキャリアの長期的な実行可能性を考慮する必要があるかもしれませんあなたです。

5
Jeremy

結婚している場合や子供がいる場合は、数年後にプログラミングを離れる可能性が高くなります。 死の行進 は例外ではなく、この業界の標準であり、多くの配偶者/子供はパパ/ママを家から離れたがらないようにしています。これが、多くの開発者が30代までにプログラミングを辞める理由です。

通常、緊急のプログラミングタスクを実行するには、オフィスで2〜3時間余分に時間を割く必要があります。他の国や地域でも少し似ている感じがします。

ええ、マネージャーによるこの種の失敗は非常に一般的です-とはいえ 過去150年間、クランチモードが作業を行うための最悪の方法であることが明確に文書化されています 。米国では、連邦法により、すべてのプログラマーが「免除」されています。これは、逆に労働組合契約がないため、残業しないことを意味します。

合衆国§213 a(17)コンピュータシステムアナリスト、コンピュータプログラマー、ソフトウェアエンジニア、またはその他の同様のスキルを持つ労働者であるすべての従業員...

http://codes.lp.findlaw.com/uscode/29/8/21

私のアドバイスは、常に何らかの「プランB」を用意することです。つまり、あなたが出したいとき、または押し出されたときに、あなたは何かをします。一部の人々にとっては、それは管理/ダークサイドへの切り替えを伴います。テクノロジーの変化に対応できない、対応できない、または対応できないために、これを行うことがあります。一人では解決できないほど大きな問題を解決したいので、ときどきこれを行います。

あなたの過去の資格がすべて重要である文化から来て、あなたが主題についてコースを「取った」ならば、あなたはそれを再び勉強する必要はありません(私はこれをと呼びます)教育のワクチン理論)、数年後、あなたが学んだことは役に立たないことに気づくでしょう。この文化的な観点からは、絶えず学ぶことの「恥」が気にならないものでない限り、専門職を離れなければなりません。正直なところ、これに苦しんでいるのは非常に高い地位のビジネススクールに通ったのは通常アメリカのマネージャーですが、私は何年も前に取っていた何かを再学習しなければならないことに気分を害する人々に出会いました。

5
Tangurena

プログラミングは、キャリアの初期の数年(ほとんどの場合5年と見なされます)に適しており、その後は方向を変える必要があります。彼らが提示する理由は、プログラミングに関連する頭痛と圧力です。彼らはまた、プログラマーはあまり社会的ではなく、通常は家族などに時間を与えることを好まない、特に「ああ、あなたは一生プログラミングをすることができない!」と言っています。

私はそれを聞いたことがありません、そしてそれはすべてばかげて聞こえます。

あなたがプログラマーであり、それを楽しんでいるなら、そのまま続けてください...勝手に辞任し、他のキャリアを見つけてそれを置き換えるために苦労して自分自身を強制する理由はまったくありません。

私は10年ほど開発者として働いており、すでにここに投稿した他の多くの人と同様に、質問に関連する経験が少しあります。 5年を目処に、私は実際にこの分野への関心がかなり低下し始めていることに気付きました。私は会社の上級開発者の一人であり、かなり長い間そこにいました。 Visual Basic 6からC#に切り替えても、いつも同じことをやっているように感じ、Webサイトの閲覧などに時間を費やしすぎて興味がなくなってきました。

私が働いていた会社には、社外の開発コミュニティで起こっていることに注意を払う人はいませんでした。 [〜#〜] tdd [〜#〜] のような概念と、残りの [〜#〜] xp [〜#〜] プラクティスは、主流の設計パターンになりつつありました、 [〜#〜] solid [〜#〜] 、リファクタリングなどの重要性が増し、 。NET CLR はジェネリックの喜びをもたらしましたが、それ。私が問題の一部であったことを自由に認めます。他の人が何をしていたのかを見ていませんでしたが、ソフトウェアアーキテクトの種類を含め、社内の他の誰もいませんでした。

この中途半端な方法で数年間、そして同様のスタイルを持つ他のいくつかの会社で浮かんできた後、私は新しい仕事を探していて、自分にとって何の意味もない多くの用語を見つけました。この時点で、学ぶべきことがたくさんあることに気づきました。ブロゴスフィアを発見したり、 。NET Rocks のようなポッドキャストに登録したり、いくつかのユーザーグループ会議に出席したり、その他の活動に参加したりして、業界のベストプラクティスに精通しました。そうすることで、ソフトウェア開発への関心を取り戻し始めました。 TDDフレームワークでいくつかの新しいコードをテストしたり、よりクリーンなソリューションを考え出すためにリファクタリングしたりするなどの即時性により、エクスペリエンス全体がはるかに楽しくなり、そのようなスキルが望ましい仕事を探すようになりました。今では、数年ぶりに自分の作品が大好きになりました。ほんの数年前に言うと思ったことはありませんでした。

問題は文化に固有のものである可能性があるとしても、私の面倒なことですが、あなたの会社の外、国の外で起こっていることと連絡を取り続けることです。何が起こっているかに興味、興奮、動機を見つけることができれば、それらのいくつかを日常に振り向けて、仕事をより楽しくすることができます(そして、同僚よりも効率的で優れた開発者として自分を際立たせることができます。またはあなたと一緒にそれらを引っ張るのを助ける)。それでもspark対象者の熱意が感じられない場合は、コーディングの人生はあなたのためではないかもしれません。

3
eviltobz

急成長しているITセクターを見て、プログラミングのキャリアを始めたばかりの人はたくさんいます。彼らはプログラミングにはあまり興味がありませんが、生計を立てるためだけにそれをします。そのような人々はしばらくすると仕事にうんざりし、あなたにそのような助言を与えるかもしれません。

私は長い間プログラミングをしてきました。私は学校にいるときに自分でプログラミングを始めましたが、まだそれをやっていて、永遠にそれを続けます。私は現在大学で勉強しており、割り当てを完了したりお金を稼ぐためではなく、丸一日コードを書いていることがありますが、それが大好きだからです。何も足りない気がしません。

答えは簡単です。好きならそれを、好きじゃないならそれをしないでください。プログラミングよりも管理のようなものが好きなら、5年のプログラミング経験の後、管理に移行しても害はありません。

おそらく、考えすぎて、髪のパッチを失うこと、カフェインを取りすぎること、社会的でなくなることは、おそらく私が恐れていることです

一部のプログラマーはあまり社会的でない場合があります。しかし、それは自然に起こります。彼らはマニアックなことに多くの時間を費やしているので、彼らの社会的スキルは少し未発達です。 (Googleは「知的な人々の問題」について詳しく知っています。)現在、あなたが社会的である場合、プログラミングのために将来的に社会的でなくなるとは思わないでしょう。唯一のことはあなたが仕事で過ごす時間です。あなたがオフィスで一日中過ごしていると思うなら、問題があります。プログラミングジョブの性質上、時々余分な時間座らなければならない場合があります。しかし、これが現在の職場で頻繁に発生する場合は、別のジョブに切り替えてみてください。

2
Cracker

プログラマーとしてのキャリアでは、選択した言語とデザインパターンの使用に完全に精通し、分析/デザインスキルを追加することで、基本的にエントリーレベルの「コードモンキー」のポジションから上級プログラマーに昇格します。ソフトウェアアナリストになり、いくつかのスキルと要件収集を収集してビジネスアナリストになり、次にいくつかのハードウェアアーキテクチャを組み合わせてシステムアナリストになり、その時点で6つの数値を作成し、非常に高い需要があります。または、シニアから、監督階層を上に進み、チームリーダー、プロジェクトマネージャーの順に進みます。

...しかし、あなたは常に「プログラミング」になるでしょう。あなたはいつもあなたが個人的に座っていくつかのコードを書く必要がある状況になるでしょう。ソフトウェアチームの一員になるというポイントを超えて、ソフトウェアチームを監督し、プロジェクトの資金とロジスティックスに対処するようになったら、毎日それをやめ、おそらく自分を「プログラマー」と呼ぶのをやめます。

2
KeithS

プログラミングは人生の他のものと何の違いもありません。あなたが永遠にやることもあれば、より短命なものもあります。プログラミングが好きなだけプログラムを続けます。ある日、おいしい食事の後のように満腹になり、自然にあなたを魅了する何かに移るかもしれません。でもそれまではあまり気にしませんでした。他の回答からも明らかなように、何十年もプログラミングのキャリアを楽しむことは珍しくありません。 :-)

2
Nick Spreitzer

余談ですが、余暇にコーディングしながら会社のはしごを上っていくのは何の問題もありません。コーディングは、技術サービスチームのリーダーとしての面倒なビジネス仕様と分析のミーティングからの素晴らしいリリースだと思います。私は実際に、Ruby on Rails)についてスタックオーバーフローで何かを探しているこのスレッドにたどり着きました。

また、技術面での鋭敏さを維持することにより、将来に役立つ強力な技術スキルを開発し続けます。プログラマーは、話をしたり、散歩したりできるマネージャーをより尊重する傾向があります。このアドバイスをされた方は、このカテゴリーに該当しないと思います。

1
bballer320xu

パキスタンの状況については知らないが、私の国では、この職業は非常によく考えられており、給料も悪い。私は人生を通して確実にプログラムを作り、新しい言語を学びます。問題は、別の仕事に変更し、趣味としてのみコードを書く必要があるかどうかです。または、私が国を逃げることになるかもしれません。しかし、プログラミングは、他の人々が支払わなければならないことを実行する力を持つことです。

1
Mister Smith

プログラマーについてあなたの友人が言うことは、どんな挑戦的な分野にも深く関わっている誰にでも等しく当てはまります。

ですから、あなたの質問は次のとおりです。「人生の他の部分が多少損なわれる可能性があるように、高度な献身を必要とするキャリアを持ちたいですか、それとも、仕事を辞めたときに完全に忘れることができることをしたいですか?夜、翌朝戻ってくる?」

この質問に答えるには自分のことをよく知っている必要があり、答えは時間の経過とともに変わる可能性があります。

IMOは、プログラマーとして満足し、挑戦されていると感じている限り、それを採用します。自分が変更に憧れている(または仕事が見つからない...)場合を除いて、心配する必要はありません。来る、それは来るでしょう。

HTH

0
Vector

私の経験では、上級IT職には2種類の専門家がいます。

  • IT管理
  • 上級技術者

それはすべて、どこに分岐したいかに依存します。退職するまで自分でコードを書くと予想する場合は、後者のオプションが必要です。しかし、コードの代わりにチームのリーダーになり、人々を管理したい場合は、前者が最良のオプションです。

正解はありません。ここにいる私たちの多くは、コードの作成とプログラミングを非常に楽しんでおり、重要な問題を解決しています。しかし、人々/プロジェクトの管理など、物事の「より大きな写真」の側面を楽しむ人々もたくさんいます。

これはITの開発面だけではありません。ネットワーキング、データベース管理、システム管理などの他の側面でも、これと同じ「道のプロの分岐」が見られます。

0
user29981

私の父は過去24年間プログラマーとして働いています。彼はかつて私に1つのことだけを言っていました:「何でも多すぎると何も役立たない」。ただし、プログラミングには適していません。

0
Aravindhan

プログラミングは確かに難しい分野であり、他の職業、特にパキスタンと比較すると、報酬はほとんどありません。私がパキスタンにいたとき、良い給料を与えられた若い才能のあるプログラマー(それは素晴らしいBTWではありません)を聞いたが、彼らは彼らから多くの油を取らなければならなかった。個人的には長い間プログラミングしたくないです。しかし、私は何かをします:)そして、プログラミングはちなみに楽しいです。

年齢を重ねるにつれて多くの経験を積むので、それが履歴書に反映されます。私はそれを聞いた、そしてそれは本当ではないと思う。もちろん、集中できない、または興味を失うことができない心の状態にある場合、実際にプログラミングすることはできません。したがって、あなたの社会生活、特に問題や興味は、この分野でのスキルに大きな影響を与える可能性があります。

私は個人的にプログラミングから道を移して公共サービスに行きますが、プログラミングも楽しいです。そして、あなたはプログラマーであることに少し夢中になる必要があります。

0
Noname