パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

日本のソフトウェア開発者の作業スペースや待遇は劣悪?」記事へのコメント

  • by Anonymous Coward on 2007年09月09日 20時30分 (#1216649)
    「やたらと広いスペースよりは狭くてゴチャっとしてる方が落ち着くしはかどる」という人が多いような。あと「適切な作業環境」を割り当てられてるプログラマは元から能力が高いのではないかという気が。

    でも、作業に集中させるべき人に割り込みをかけないというのは確かに重要だなぁ。
    能力の高い人に「なんでもやらせよう」とするか「重要な作業に集中させよう」とするかという点で、総合的な生産性を考えると後者の方がよいのだろうけど、実際には前者の傾向が強い気がする。
    • by yasudas (5610) on 2007年09月09日 20時44分 (#1216660) 日記
      >「適切な作業環境」を割り当てられてるプログラマは元から能力が高いのではないかという気が。

      その能力によって「適切な作業環境」を勝ち得たという風にも思う。

      >作業に集中させるべき人に割り込みをかけないというのは確かに重要だなぁ。

      割り込み程度でへたる作業者というのも、どうかと...
      仕事なんだから、割り込みは当たり前。
      それをどう捌くかで能力ってわかったりしませんかね?
      親コメント
      • >割り込み程度でへたる作業者というのも、どうかと...

        1オクターブ低い声で「おめー、コード吐いた事ないだろ」と言われるレベルの発言だよ、それは。

        それにそもそもプログラミングは「作業」じゃない。プログラミングはいわば手順を作る事で作業でなかったものを作業にする行為なのだから、どこまで行ってもプログラミングが作業になる事はあり得ない。プログラミングを作業と称する事にはソフトウェア開発を工場で製品を生産する事に例えるのと同じ愚昧さがある。ソフトウェア開発を製造に例えるなら工場そのものの設計にあたるものであって、製品の生産はコードを走らせる事に相当する。

        もし「作業」のようなプログラミングがあるとするならそういう「作業」はライブラリやフレームワーク、あるいはビルドツールに置換可能であり、一般的にはそれらを作る事は仕事に値するがそれらを「する」ことは仕事には値しない。

        >仕事なんだから、割り込みは当たり前。
        >それをどう捌くかで能力ってわかったりしませんかね?

        割り込みを何とかするのは次善策であって最善策じゃない。時間当たりの給料を考えればそんなことのために本人に努力させるのは無駄でしかない。割り込みを捌く能力で能力全体を測るなんてのはバッドノウハウにも似た不毛さがある。もし会社として人が集まった結果個々の総和より能率が低下するとするなら、会社は何のためにあると思う?
        親コメント
        • >1オクターブ低い声で「おめー、コード吐いた事ないだろ」と言われるレベルの発言だよ、それは。

          さんざん吐いてましたが...
          そして、吐いたコードに対しての環境の変化にもそれなりに対応して割り込みもそれなりに...
          あんた、吐いたコードそのままなんだったろうね。そのレベルの発言ですなぁ...www

          >割り込みを捌く能力で能力全体を測るなんてのはバッドノウハウにも似た不毛さがある。

          身の回りや社会の変化に追い付けない馬鹿ですね。
          親コメント
        • > 製品の生産はコードを走らせる事に相当する。

          製品の生産は、ビルド。
          コードを走らせることは、製品を使用すること。

          だと思う。
        • プログラミングなんざ作業だよ
        • いや、プログラミングは作業でしょう。単純作業とか、肉体労働とまでいうといいすぎだとしても、作業というのはあたっている。

          もし、あなたではなく、ほかの人がプログラミングしたとき、その結果がどれだけちがうでしょうか。ほかの人が2時間かかるところを1時間ですむというのなら、それは作業の効率が2倍だったというだけのこと。(それは十分にすごいことですが。)ほかの人が書いたコードより実行速度が何割か早いとすれば、それはすばらしい仕事でしょうが、そのルーチンが利用される頻度があまり高くなければ、最終的結果にはさほど大きな影響は与えないでしょう。

          ま、でも、個室くらいはあったほうがいいかも。これは、普通の事務職も同じ。アメリカは、ちょっとした事務作業をする人まで個室に入っているから、それと同じ待遇が与えられているだけだとは思いますが。
          • by firewheel (31280) on 2007年09月09日 23時46分 (#1216768)
            >もし、あなたではなく、ほかの人がプログラミングしたとき、その結果がどれだけちがうでしょうか。ほかの人が2時間かかるところを1時間ですむというのなら、
            2倍なんて甘い甘い♪

            一説によると30倍以上と言われているし、体感的にもそのくらいはあります。

            平均的な人が丸1日かかる作業でも、
            できる人なら1時間でより品質の高いコードを作れるし、
            出来ない人は1ヶ月かけても1年かけても出来ない。

            プログラミングの生産性とはそういうものです。
            親コメント
          • by TarZ (28055) on 2007年09月10日 10時52分 (#1217018) 日記
            ここで生じている齟齬の原因

            「プログラミング」とは…:
            - 画面仕様書を見て、VBでプログラムを組む。
            - 入力データが正しいことを検証して、DBにINSERT/UPDATEするプログラムを組む。
            - テストは手作業でいいや。

            プログラミングとは…:
            - 「これを継承して使ってくれ>ALL」な汎用性のある画面部品を書く。
            - 後から参加した要員でも使いやすくて安全なデータアクセスクラスを書く。
            - ええと、これはツールとして用意しておいたほうが後々楽だな。
            - パーサを書く。
            - GCまで書いてしまう。
            親コメント
          • > ほかの人が書いたコードより実行速度が何割か早いとすれば、
            > それはすばらしい仕事でしょうが、そのルーチンが利用される
            > 頻度があまり高くなければ、最終的結果にはさほど大きな影響は
            > 与えないでしょう。

            つまり頻度が高い部分のプログラミングは作業じゃないってことね。
            つーか上手いコードと下手なコードは計算量のオーダーレベルで
            違ったりするから、ちょっとでかいデータを扱うと実行速度が数十倍
            は違ってくるかと思いますよ。
            Googleの検索にかかる時間が30秒とかなったらみんな他の検索エンジン
            に流れるでしょ。
          • 他人が作ると、だいぶ違うよ
            一個のルーチン程度だったら、そう変わらないけど、
            構成から設計、デザインまで含めてプログラムだろと。

            ん?そんな仕事任された事無い?
          • これって釣りでしょうか?それかこの人、コード書いたことなさげ。

            他の人もコメントしてるけど、同じだけのプログラミングでも出来る人と出来ない人では数十倍の差があるなんてザラ。出来たものの品質にも差があるし。

            ひょっとしたらこういう認識でプログラマの能力を適切に評価することをも放棄している人がいるのでしょうか?業績を評価する方の人にもこういう認識の人がいるのだとしたらやはり大きな問題でしょうね。
            • 個人的には釣りっぽい気がしますね。
              何箇所かわざとらしく釣ってる感じの文面もありますから。
              もしくはディベートの練習かなんかかも。
          • 2倍どころじゃないよねってのが正直な感想ですが、2倍だとしても
            システムが落ちたときに、原因の究明と当面の対策を打つのにに3時間かかる人と人と6時間かかる人とか、そういうところで効いてきますね。

            あと、一週間でプログラミングしないといけないなど期間が限られてる場合、普通の人の2週間分の時間を取れるわけで、出来上がったものの精度が格段に違ったりね(コーディングにかかる時間が少なくてすむことがわかってるのならその分調査や設計に時間を割くことも可能だし、単体テストをやる時間も十分取れる)。
            #能力差30倍とかいうのは、この辺から来てるんじゃないかな。
      • by Anonymous Coward on 2007年09月09日 23時48分 (#1216769)
        >>作業に集中させるべき人に割り込みをかけないというのは確かに重要だなぁ。
        >割り込み程度でへたる作業者というのも、どうかと...
        >仕事なんだから、割り込みは当たり前。

        人間のアタマの中も情報がキャッシュされてますので。全部キャッシュに放り込んでブン回してる時に
        割り込みかかって他の作業をやることでいったん情報がフラッシュされちゃうと、どうなります?
        もういっかい作業内容を読み込みなおす必要があるんですよ、遅い外部インタフェイスを使って仕様書読んだり、
        怪しい内部記憶デバイスからこれまでやったことを思い出してね。わかります?
        しかも長時間集中力を持続するのだって難しいんですよ、機械じゃないんだから。

        個人的には、午前中に1時間半、午後に2時間、夕方に2時間、これぐらいしかフルに能力を発揮するのは難しい。
        あとは、集中状態に入るまでの助走だったり、疲れて能力が落ちてたり。仕事してないわけじゃないですが、
        パイプラインにデータが次々に放り込まれてフル稼働とはとてもいきません。夜更かししても集中力は低下します。
        深夜は割り込みが少なくなるから、昼よりははかどることが多いわけですが、フルに能力を発揮できるわけではない。
        もちろん集中して頑張っている時に他の仕事が割り込んで入れば、そこで強制停止、助走再スタートです。
        全然はかどりません。たいして仕事してない時に割り込んでくるなら問題ないんですがね。

        というわけで、電話番とか簡単な応対は美人秘書に任せて仕事に集中できるようにする環境キボン。

        お役所みたいに「ああすればこうする、こうすればああする」と決まってるなら、
        覚えた通りやればいいわけですが、それだけじゃ何もできないのがこの業界ですから。
        親コメント
        • >他の作業をやることでいったん情報がフラッシュされちゃうと、どうなります?

          仮想記憶から呼び戻す。
          数秒前に考えたことが消えちゃうなら、すれは意味がない。
          ちゃんと出来る人は。君みたいなのと違ってそれなりに高速なバッファなり退避領域をもっているよ。
          没頭してひとつ頭にならんと出来ない上に、割り込みで苦労する程度なら、それはその仕事に向いてないと言えるね。
          親コメント
          • > 仮想記憶から呼び戻す。
            パフォーマンスが落ちますねぇ。
            って話でしょ?

            プログラマの性能を引き出すにはどうしたらいいかっていう話。
            とりあえず動けばいいやってのなら、別に気にする必要はないでしょう。
        • >人間のアタマの中も情報がキャッシュされてますので。全部キャッシュに放り込んでブン回してる時に
          >割り込みかかって他の作業をやることでいったん情報がフラッシュされちゃうと、どうなります?

          性能が低いので、もっと性能のいいのととっかえる。

          あまりにも低レベルすぎます。
          もしかして、壊れかかってるのかな?
      • by Anonymous Coward on 2007年09月09日 20時56分 (#1216667)
        「仕事なら作業に専念できる環境を調えるのが当たり前だ」とも言えるんじゃないかと…。
        それを認識してるかどうかでマネージャーの能力がよく分かったりするんじゃね?
        親コメント
        • >「仕事なら作業に専念できる環境を調えるのが当たり前だ」とも言えるんじゃないかと…。

          割り込みがない環境は死んでいると思うよ。
          時々刻々と環境は変わるし、それに伴って仕様の変更点な不明点は発生するからその割り込みが入る。
          そういったことがない、死んだ環境で生まれた成果物は、実際には使えないモノだったり死んでいたりするね。

          >それを認識してるかどうかでマネージャーの能力がよく分かったりするんじゃね?

          リアルタイムなイベントに対処しない環境を前提にするマネージャーは無能だと思うよ。
          親コメント
          • 仕様変更に対応しつづけるプログラマの人件費だってタダじゃないっすからねぇ。
            仕様変更がプログラマまで伝わる前に止めといたほうが、安くできるんじゃないのかな?
          • いくらリアルタイムにイベントを処理して欲しいからってint86送っちゃうようなのは現代的なマネージャー(OS)とは言わないと思います。
      • by Anonymous Coward on 2007年09月09日 22時56分 (#1216739)
        >> 仕事なんだから、割り込みは当たり前。
        >> それをどう捌くかで能力ってわかったりしませんかね?

        割り込みが入っても外から見て生産性があまり変わらない人間がいたとしたら,それは元から生産性が低い人ってことですよ.例えば生産性が1の人と10の人がいたとして,1の人は割り込みが入って数十%の低下を受けても,四捨五入すれば1だったりするわけで,結果的にはほとんど変わらんわけです.一方,10の人が同じ割合で低下してしまうと,10のポテンシャルから6とか7の生産性しか得られてないわけです.

        そこで「~君は6~7の生産性があるから能力が高いね」などと言い放つのは,単なる傍観者であって,本来の管理職とは言えないでしょう.だって,ここで大幅に生産性が落ちているということに気づかず,現状の追認しかしてないわけですから.本来であれば「無駄な割り込みを減らせば,彼の生産性は最低でも9くらいまで伸びるはずだ.そうすると生産性1以下の人間を2,3人減らせるのでコストの削減につながる」という計算ができるはずですし,それを実行しないまでも,「無駄な割り込みが多くて,彼の能力を100%生かせず,勿体無いことをしているな」という認識は持っているのが当然でしょう.

        ただし,日本ではこういう無能な管理職が大半だとは思いますし,上記のように個々の能力をドライに数値化して計算するような考え方は日本の文化や風土には合わないとは思いますけどね.ただ,現状で生産性が高い者について「彼は優秀だね」と評価するだけで終わってしまい,そこをより伸ばす方向を模索するような管理職が少ない現状はヤバいように思います.
        親コメント
      • ある人を1つの仕事に集中させるために手間をかけたとして、集中による生産性の向上(アウトプット)がかけた手間(インプット)を上回れば、全体の生産性が上がるわけで、そういう意味で改善の余地があるだろうなという話です。
        #それをコントロールするのが仕事の人がいるはずなんだけど

        #元コメントのAC
      • あなたがどのレベルの仕事をしているか、仕事をしてきたかが分かります。
        相当低いですね。
    • 請負でやってると、どうしても客とのやり取りが非同期に発生しますからねぇ。

      派遣プログラマとして働いてたときはシステムのことだけ考えてればよかったのでそこそこ良い成果物を上げられてたと自負してますが、自社に戻って仕事をやってるとそうもいかないのでプログラマとしてのパフォーマンスはかなり落ちちゃいました。
      客や外注とのやり取りをやりつつ、社内外の人員調整や後輩の育成もしつつ、プログラマとしての成果を上げていくのはなかなか難しいっすね。調査・設計やデバッグなど、集中力の必要な作業は休日や夜中に出てやってしまいがちです。
      #バグ対応などで客先に出たほうが一エンジニアとして動きやすかったりします。。

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

処理中...