web-dev-qa-db-ja.com

プログラマーは仕事でどんなストレッサーに遭遇し、どのようにそれらに対処しますか?

ストレスを管理することを学ぶことは、どんな仕事で働いている間も健康を保つために不可欠です。必要なサブタスクは、ストレスの原因を認識して制限することを学ぶことです。

ただし、毎日のグラインドの最中は、ストレスの原因を認識するのが難しい場合があります(特に、プログラマーなどの集中力のあるペルソナ)。

プログラマーはどのような種類のストレス要因に注意する必要があり、どのように管理できますか?

74
Matthew Rodatus

私が見つけたものは私と私の周りの開発者に最もストレスを与えます:

  1. あいまいさ:効果的に述べられていない目標、要件、またはその他の期待。多くの企業には"I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."の姿勢を持つ従業員がいます
  2. 不適切な期限:ほとんどの期限は、スタッフの開発者の現実的な能力ではなく、ビジネスニーズによって設定されます。これに加えて、要件への期待は高まりますが、予算/リソースは増えません。
  3. 悪い仮定/期待:プログラマーは自分の能力(未熟な特性ではない)について高い意見を持つ傾向があり、このため、他の人が自分の能力、理解、期待に匹敵することを期待しています。多くの場合、何かが"common knowledge"などであると想定されますが、これはストレスカテゴリで壊滅的となる可能性があります。さて、ビジネスの専門家はプログラマーの期待に応えなかっただけでなく、起動するのに完全に無能でした。逆に、プログラマーがビジネスの期待に応えられなかった場合、プログラマーは、続行するために必要な情報が提供されなかったために苛立ちを覚えます。
  4. 敬意の欠如:多くの人々は、誰かがあなたの分野に弱いからといって、それは彼らが自分の分野に弱いことを意味すると信じる傾向があります。私たち全員が異なる仕事/能力/期待を持っている理由があり、他の人が彼らに行うように頼まれたタスクで非常に有能である可能性が非常に高いことを尊重することが重要です。誰かがあなたの能力を持っていないからといって、彼らが能力がないか能力がないという意味ではありません。
  5. 自己制御の欠如:これは多くのことに現れます。たぶん、あなたは適切な休憩を取ることを拒否する仕事好きな人です。これはストレスの蓄積につながり、悪いことです。たぶん、あなたはストレスがたまったときにもっと多くのカフェインを飲むジョルトコーラを飲んでいるのかもしれません。これはあなたの健康に悪いし、あなたのストレス反応を悪化させます。あなたは自分の限界を知り、何があなたの特定のストレス反応を引き起こすのかを知り、そして最も重要なことにそのストレス反応を緩和する方法を知る必要があります。同僚や同僚にそれを持ち出すことは適切ではなく、ストレスを増大させるのに役立つだけです。
  6. コミュニケーションスキルの欠如:多くの場合、私たちは同じ言語を話せません。私は英語、ドイツ語、またはインドについて話しているわけではありません。同じ言葉を使っていますが、同じことを言っているわけではありません。人々は、自分が理解していないことについて具体的でオープンである必要があります。あなたが理解していると思っていても、明確にすることは害にはなりません。ビジネス指標は、組織内の部門ごとに異なる意味を持つ可能性があることに注意してください。
  7. 限界の出血:職場で仕事をし、自宅で家にいます。 7歳の人が靴を床の真ん中に置いていて、朝食後に片付けを行っていないからといって、ティファニーが請求要件のスプレッドシートを渡していないので、ティファニーが新しいものを会計する必要がないというわけではありません。 。同じことですが、ティファニーがスプレッドシートを利用していないからといって、あなたの妻が通勤ホームで不適切に扱われるに値するわけではありません。 (ところで、貧しいティファニーはその扱いにも値しません)
100
Joel Etherton

どのプログラマにとっても最大のストレス要因は自信の欠如だと思います。

はい、多くのミーティング(確かにミーティング自体ではない)は不要ですが、プログラマーとしてできることはたくさんあります。私が定期的に会議に出席する必要がある場合-私の意見では-立ち上がって「ねえ、私はその会議に参加する必要がない-より生産的に時間を費やすことができる」と言うのは私の責任です。

中断についても同じことが言えます。はい、それは面倒です。かなりの数の企業で見たことがあります。しかし、多くの場合、繰り返しになりますが、実行できることがいくつかあります。プログラマは、メールアカウントを5分ごとにチェックして、すべてのメールに瞬時に応答する必要はありません。同様に、一定の時間邪魔されたくない場合は、インスタントメッセージをオフにして電話を転送します。

これらは2つの例にすぎません。他にもたくさんあります。はい、時々行くことが荒くなります。しかし、ほとんどの場合、私たちが話している問題は、もう少し自信があれば非常に簡単に修正できます。通信ループの反対側にいる人々に「はい、あなたの言うことを聞いたのでメッセージを受け取りましたが、後で連絡します」と伝えます。

最大の問題は、私たち自身が作成している問題です! ;-)

17
perdian

サードパーティコンポーネントのバグ

何かを壊すいくつかのサードパーティのコンポーネントのアップデートを取得すると、それは非常にストレスになる可能性があります。デバッグまたは変更するソースコードはありませんが、システムがそれに依存している場合、それはかなり恐ろしいことです。ある朝、ソース管理サーバーが予期せず動作していて、2週間のチェックインを失う可能性があることを確認するために行くと、かなりのストレスが生じる可能性があります。これは基本的に、準備が整っていない場合の、リークの多い抽象化レイヤーのアイデアです。マイクロソフトのスタックテクノロジーに関する未解決のバグチケットを一目見れば、コメントは確かにそのさまざまなストレスの証拠となるでしょう。

12

非現実的な期待。 7週間の設計期間のうち6週間を費やして、開始する必要のあるファイルを入手できると期待していて、なぜ翌日それが行われないのか疑問に思うクライアントがいます。金曜日の4:30に新しいタスクを渡せると期待し、月曜日のCEOへのプレゼンテーションのために週末全体を費やすことを期待する人々を見てきました。 1つの優先度の高いタスクをやめて2番目の優先度の高いタスクを実行し、最初のタスクが時間どおりに行われていないことに激怒する人を見てきました。これらのすべてのことは、最初から彼らの期待が非現実的である理由を明確に説明するために最善を尽くしても、ストレスになります。

心を読む能力の欠如。 (私はこれまでに、その心を読むモジュールを発明したことで幸運を味わうつもりです。)ユーザーのテストで、彼らが望んでいたことを彼らが実際に望んでいたものではないことを見つけるのはストレスになります。

10
HLGEM

これらの提供された回答の多くは素晴らしいものです。特に、Joelが挙げたストレスや、彼らが何を求めているのかを理解していない、金銭の損失や強引な管理に関連するストレスは、すばらしいものです。

私が遭遇する主なストレスのいくつかは

  • Inheriting Spaghetti Code

    • 私は、ホイールを再発明することが最も確実に必要であったいくつかの非常識な経験をしました。別の開発者が1年以上かけて単独でコードベースを構築した後に雇われたと想像してみてください。彼らが何をしているのかわからず、惨めに失敗して解雇されたことがわかりました。到着すると、あなたは自分の仕事が「この仕事をする」ことだと言われます。もちろん、4000行のコードごとに約1行のメモがあります。モジュール性の極端な欠如と方向性がほとんどない。何よりも、すべてが「風変わりな」名前(理解可能で、時には素晴らしい私見)を単純な「wth-ness」にすることをはるかに超えています
    • あなたは2つのサブポイントを持っているはずです:P(スパゲッティコードは悪いですよね?)
  • バグがあります。あなた[〜#〜]知っている[〜#〜]それが絶対的事実であるhasは、1つまたは2つの小さな文字の変更を含むソートです。締め切りは明日、完成する3つの機能があります。このバグは検出に5時間かかり、無視することはできません。 ;(痛い笑。

  • 以前を説明しようとしています

  • ビジネス上の制約のためにデスクで立ち往生しているのに、公園を1時間歩いて戻ってくるだけの場合は、黄金のコードが指先から跳躍するのを待っているでしょう。私の個人的な最悪の場合、私が良いコードと速い進歩を望んでいるなら、私はいくつかの木と空を見なければなりません。結局のところ、プログラミングの少なくとも半分は芸術です。インスピレーションを見つける。

  • ビジネス上の制約のために家に帰る必要があるときにデスクで立ち往生しておらず、ゾーンにいる間は今日の20時間しか働けない。時々、私がしていることをクリックして、夜通しすぐに引き出せない場合は、翌日は同じではありません。私はそれのほとんどを覚えていますが、それを降ろすには3倍の時間がかかり、とにかくそれほど良くはありません。

  • 時々、コーヒーやその他の消耗品はそれを悪化させ、私の脳はちょうど私の心に耳を傾けません。 =)

  • 15分の休憩。私を捨てるのに十分であり、脳を新鮮にするのに十分ではありません。わー.

  • 私が新しいライブラリまたは..worse ..新しいフレームワークを選択していたことがあります。これは、私が遭遇した最も驚くべきストレスの多い作業の1つです。それがうまくいくとき、あるいは大丈夫なときさえ、それは素敵です。時々、それが悪くなったとき...ああ、男の子。そこに座って、さまざまなスタイルの無限のテストを試してみて、頭があまりにも多くのインターフェイスでいっぱいになると、私の心の一部がシャットダウンして「いや、いや...私はそれをしません。悪い。離れろ」提出するためにそれらを打つことを余儀なくされるためだけに。ルため息。

  • 悪い種類のリンカエラー。それらをどのように説明するかわかりません。

  • 煩わしいファイル形式からオブジェクトに大量のデータをインポートする。これは時々かなり楽しいですし、そうでないときはしばしばあなたを本当にすぐに燃やします。非常にトリッキーで文書化されていないエスケープ文字の恐怖があったこの古いExcel形式で作業したことを覚えています。これに加えて、実際に抽出した列の情報には、ファンキーなキャラクターがたくさん含まれていたという事実もありました。私は「ああ、今はうまくいく!! ....!............ oh ... nevermind ..」と考え続けました。

8
Garet Claborn

私が遭遇する主なストレス要因は、私が "Mort Syndrome"と呼んでいるものです。基本的にそれは、平凡が大丈夫であり、今までとは違ったやり方で改善したり実行したりする必要がないという、一部の開発者の態度です。仕事の外でブログや本を読んだり、ポッドキャストを聞いたり、プロとしてより良い方法のビデオを見たりする時間を費やしている人として、95%の時間しか私がチームにいないので、これは本当にストレスになります。 、会社全体ではない場合、たとえば、ユニットテストの記述が優れている理由や、1つのクラス(または6種類以上のことを行うクラス)に数千行のコードを含めるのが悪い理由を理解し、同僚を教育すると、空白の外観、「修正する時間がない」、「これまで使用したことがないため、使用しない」などの言い訳ができます。または「それは私たちが物事を行う方法ではありません」、または最悪の場合、私はドアを見せられ、物事をより良いものに変えようとするために解雇されました。

6
Wayne Molina

ストレスの多くは次の前提の結果だと思います:

  1. 優れたプログラマーは多くの場合、プログラミング以外のタスク(プロダクションサポート/トラブルシューティング、ドキュメント作成、ビジネスや他のチームメンバーからの質問への回答、将来の方向に関する技術的な意見の提供)を最も効率的に実行できる人々です。
  2. プログラミングは、中断のない長い時間をかけて行うのが最もよい活動です。
  3. 前提#1の理解>>前提#2の理解。

その結果、プログラマーは多くの異なることをするように求められることが多く、選択した技術における生産性と作業の品質を損ないます。深刻な問題が迅速かつ効率的に解決され、コストがすぐに明らかにならないため、この召しを行うマネージャーはこれを「勝利」と見なします。

それを管理するためのいくつかの戦略があり、さまざまな利点と欠点があります。

  1. 時間管理-一日の一部をプログラミングに費やし、一日の別の部分を他の仕事に費やし、それについて訓練する。これの1つの欠点は、プログラミング以外の作業で8〜5時間を費やしてしまい、夜間にプログラミング作業を行うことになり、仕事と生活のバランスが悪いことです。
  2. 教育-これは、ジョエルのような人々がヨーマンの仕事をしているところです-15分の中断のコストは15分よりもはるかに大きくなる可能性があるという言葉を伝えます。 (例 http://www.joelonsoftware.com/articles/fog0000000022.html
  3. チーム開発、文書化-会社のテクノロジーの重要な部分に関する唯一の知識源ではないことを確認してください。
  4. 厄介な性格-私は冗談です。割り込みに対してうなり声で応答するという評判を養うと、人々は何かを成し遂げるために他の方法を見つける傾向があります。ただし、これをうまくやった方がいいです。
6
JohnMcG

この質問に対する一般的な答えを得ることは難しいでしょう。人々はさまざまな条件下で繁栄します。

  1. 短すぎる時間で働きすぎ
  2. ユーザーからのフィードバックが少なすぎる
  3. 文化を責める
  4. 信頼感の欠如。

特にプログラマーではなく、仕事がほとんどの人にとってストレスの最小の原因であることに気づく傾向があります。ほとんどの人に最もストレスを与えるのは、企業文化、ユニットの雰囲気、コミュニケーションの問題などの無関係な項目です。彼らが仕事を処理できないということではありません。キッチンの雰囲気が気に入らないということです。

より有用なディスカッションは、上記の問題の解決策に重点を置く可能性があります。

4
temptar

「割り当てられたその他の義務」。

電話に出なければならなかった。私は倉庫で働かなければなりませんでした。インベントリをしなければなりませんでした。私は一日中会社の会議に参加してきました。私は外に出て、限られた芝生のメンテナンスをしなければなりませんでした。

説明の一部としてそれを含む別の仕事をするかどうかはわかりません。

4
John Kraft

貧弱な管理。私が経験した、またはマネージャー(特に上級管理職やトップ企業の人々)が、自分が決めた分野について何も知らない人に相談せずに、とんでもない決断をした経験は、何件あるかわかりません。決定された反対方向に進む前の以前の会議のメモ。

2
Tom A