[翻訳]プログラマの生産性の壊し方


George Stockerの「How to destroy Programmer Productivity」の翻訳です(Georgeさんには報告済み)。
間違いがございましたら、ご指摘お願いします。


プログラマの生産性に関する次の画像は、インターネット中を徘徊しています。

ザ・シンプソンズが出てきそうだけれども、「真実だから面白い」。

私は、今まで生産的になる秘密について解明してきませんでした。それは、主には、私が一貫して生産的ではなかったからです。Joel on Softwareのジョエル・スポルスキは、ブログの記事でこのことについて話しています

時々私は何も終わらせることができなくなります

確かに、私はオフィスに入って、10秒ごとにe-mailをチェックして、ウェブを読んで、アメリカン·エキスプレスでの支払いのようないくつかの頭を使わないタスクを処理します。しかし、コードを書くフロー状態に戻ってくることはありません。

非生産的なこれらの発作は、通常、一日か二日続きます。しかし、何もできないで過ごす時が何週間も続くときも、開発者としての私のキャリアの中で起きています。彼らが言うように、私はフロー状態ではありません。ゾーンに入っていません。私はどこにもないんです。

私は、片手に余るぐらいそのブログの記事を読みましたが、いまだに、プログラマコミュニティの有名人が「物事に取り掛かれない」問題を持っているのを見るにつれ、私は衝撃を受けます。

私は一人ではないことがうれしい。

私は生産的であることへの秘密の方法を共有するためにここにいるわけではないのですが、生産的であることから私を離してきたものを伝えることはできます:

  • 開放的なフロア
  • Djangoと.NETについての開発者間の論争
  • 一般的に開発者間の論争
  • 同僚が私のところに来て、「ねぇ、送ったメール見た?」と尋ねる
  • チューインガムのクチャクチャした音が聞こえる。どうやら私は音声恐怖に苦しんでいます
  • 取り組んでいる問題を理解していません
  • このプロジェクトが本当には信じられません
  • どこから手を付けるべきかわかりません
  • 炎上中のため、たった1つではない終わらせるべきタスクに直面しています
  • 炎上中の案件が全てのことを中断する
  • 自分のスマホのTwitterのツイート通知
  • e-mail通知
  • 実のところ全ての通知
  • インスタントメッセンジャー達
  • 私の妻が尋ねる「ねぇ、時間があったら、Xをやってくれない? 」
  • 長いビルド時間
  • 雑音
  • 私の机のそばを過ぎる定期的な人々の行進
  • パワハラ飲み会
  • Wikipedia (真剣にいいますが、どのリンクもクリックしないでください)
  • ハッカーニュース
  • 一般的なインターネット

過去に私が生産的になるのに貢献してきたもの:

  • 静かな雰囲気
  • 静かなワークスペース(個室は驚異的に働けます)
  • プロジェクトで行わなければならない次のステップの理解
  • 問題空間の十分な理解
  • 中断なし
  • 真剣に:中断なし
  • Twitterをオフ
  • ハッカーニュースをオフ
  • ハードウェアトラブルなし
  • プロジェクトを愛する
  • 少ないビルドとデバッグ時間
  • インターネットで政治的な議論をしない

以上の、私を生産的から離しているうちの半分は私が作り出した問題です;しかし、開放的なフロアのように、いくつかはそうではありません。

究極的には、私たち一人一人は、非生産的にする問題を制御します。私は平和的な論争が苦手です。非常に強く迫るか、ふんぞり返って他の人を服従させる。私は、本当に、それを得意としません。ですので、私は、生産的ではないことに寄与する外力を処理するためのどのような良いアドバイスも持っていません。しかし、私には知っていることがあります:制御することができるものは何でも制御する必要があります。それは次のものです:

  • 自分のiPhoneでの通知をオフにする(これは、バッテリ寿命を増加する付加的な利点も持っています)
  • 3時間続けてコーディングを行ったら自分にご褒美を与える(ハッカーニュースやTwitterを見に行ったりと、通常は「インターネットの時間」の形で)
  • 本当に、本当に、 何かをしなくてはならないときは、自宅で仕事をする
  • 値段の割りに良いノイズキャンセリングヘッドフォンに投資します
  • カレンダーに「ノー会議」時間の予定を入れます。これらは、他のみんなに忙しいことを示すための時間です。私の仕事の時間です。
  • オフィスの周りでのプログラマの議論に入りません。人々は強い意見を持っており、議題を持つプログラマは議論が大好き。解決する必要のある実際のビジネス上の問題なら、会議室を確保して、各アプローチの利点と欠点を考え出しましょう。いくつかのデータを取得しましょう​​。ただ主張するのは止めましょう。
  • 通行人が気にならない位置に自分の机を移動します。
  • 最初に問題を試してみて、その後、より良い理解を得るために、他の開発者に問題の段階的な説明をしてもらう。これは2つのことを達成します:まず、「地勢」を得ることができるので、私は、少なくとも仕事における(非生産的なことへ続く)外力の基本的な理解ができます。第二に、私が助けを求めるとき、私は、よりインテリジェントな質問をすることができます。

何があなたを非生産的にして、あなたはそれに対処するために何をしますか?