2013-03-13

沈没船エントリあとがき

http://anond.hatelabo.jp/20130310152356

沈没船エントリを書いた増田です。

およそブログ向きではない冗長で読みにくい文章だったけれど、

元増田に便乗したお陰か、思ったより多くの方に読んで頂けたようでとても嬉しいです。

こんな付け足しを書くのは興ざめかもしれないけれど、

似たような境遇の人も多いようだし、

PGSE現場20歳から10年居続けてきた人間として、

もうちょっと具体的な事を「あとがき」として補足しても良いかな、

という気になりました。

(申し訳ないことに、この付け足しも長いです)

私の文章は、元増田

「上流エンジニアなんて死んじまえ」

http://anond.hatelabo.jp/20130309233920

ブクマトラバで言われている

「上流にも技術力はあるはず」

「下流だってダメな奴が多い」

という、上流下流のどちらが優秀かという議論が問題からやや外れているように思えたため書いたものです。

優秀な人がいても活躍できず、当たり前のような施策もうまく働かない、

そういう現場だという事を描写してみたかったわけです。

技術力のある人は、上流・下流を問わず

20~50人に1人の割合で点在しているのだと思います

(下流にいたほうが技術力の見せ場が多いため、

下流に優秀な人が多いように見える傾向はありそうです)

そして、その他の19人~49人は基本的に普通の人です。

20~50人に1人の人をあてにして仕事を進めるのは(現状のSIer周辺では)不可能なため、

19人~49人の普通の人が持つ価値観・思考・ペースで仕事を進める事になります

さて、システム開発ソフトウェアの基本構造を決める部分について、

どうしても一種の才能(パターン認識適用能力)が必要なのですが、

大勢普通の人の中に特殊な人が点在している状況だと、

才能のある人が適切に作業に割り当てられる可能性は低くなります

その結果、普通の人が納得しやすい下記のような方法が取られがちです。



こういった構造は、当時は場当たり的なつもりでも結局は規約化してしまい、

「動いているものは敢えて変えるな」「似たものコピペせよ」

「途中で何を思いついても設計書の通りに絶対作れよ」

といったSIerありがちな規約と相まって、未来永劫負の遺産として残ることが多いです。

そして、一旦ダメな土台が出来上がると、その上には基本的にダメものしか重ねられないため、

どんどんダメになっていき、最終的には手のつけられない沈没船になります

プログラムの基本構造ダメだと、どんな優秀な人であっても出来ることが限られます

当然リファクタリングすれば良いのですが、

リファクタリングお金を取るのはかなり難しいだろうし、

  • 何でお客様の稼働している大切なソフトにわざわざ手を入れるのか? リスクを取る意味が分からない。
  • 今まで俺たちが頑張って作り上げたものが結局ダメだったと言いたいのか? 金をもらって作った物なのに?


といった、普通の人による突っ込みには、現場での反論がなかなかしにくいです。

そして、リファクタリングもやはり才能のある人が中心になる必要があり、

普通の人がやっては結局問題の焼き直しにしかなりません。

ここまで書いてきたようなことが、

名高い大手SI下請け現場にいた5年間に見てきたことです。

現場の中に居たままそこを良くする方法は、結局思いつけませんでした。

仕事は基本的にエクセル方眼紙を読み書きする事で、

出世昇給の見込みも薄く、

これをこの先何年続けても無意味だな、と思い、転身することにしました。

行き先が黒船かどうかは分からないけれど、

割と自由にものが言える立場にしてもらえそうです。

黒船沈没について



黒船だって沈没する」という指摘は本当にその通りです。

黒船からこそ辛く厳しい現場もあると思います

ただ、黒船沈没するというのは、

正当な取るべきリスクを取った結果だと思うのです。

沈没船では最初から沈没寸前のため、リスクを負うことができないか、異常に増幅されます

運用リスクを負うことのできない(機能追加できない・構造改善できない)システムなど、

ただの負債しか無いと思うのです。

黒船は、取れるリスクの幅が大きいからこそ難しい航路を選べるし、

そこで失敗したとしても、それ自体が業界人類全体の資産になるのだと思います

現実沈没船沈没していません。

黒船は水平線のはるか向こうで、船長はそれらが見えないため気楽です。

ちゃんと沈没してくれれば、最終的にはまともな船しか残らないので助かるのですが、

まともさに関する競争が働きにくいところがあるらしく、

現実には沈没船でも(だからこそ)安泰なのです。

リスク満載のはずの沈没船を安泰とさせている事によるコストは、

最終的には企業全体・社会国家人類といったものが負っていると思われます

補足の補足、「普通の人」「才能のある人」について



普通の人というのは、

プログラミングについて特別な情熱を持たず、

会社で使う他は開発ツールに手も触れず、インストールもせず、

家に帰ってから基本的には勉強せず(資格仕事必要場合は別)、

仕事で決められた範囲のツール・技術・問題領域で満足できる人の事です。

これは不真面目とか怠慢とかそんなわけではありません。

極めて普通の真っ当かつ正常かつ健全社会人の行動です。

例えば、マクドナルド店員が、

自宅でもビーフパテを練ってハンバーガーの焼き色を研究したりレシピを何冊も書いたり、

毎日毎日ポテトハンバーガーキーワードにググったりブログを読んだり、

枕元には常に藤田田の著作を数冊積んでいて、本棚には完全なコレクションがあったり、

1日に5度は銀座1号店の方角へお祈りを捧げたりしたら、

やはり変だと思うのです。

「才能のある人」とは、そういう事をごく自然に、

それこそ食事や睡眠のように日々やっている人です。

さらに言えば、これはマクドナルド店員を例に出すと変に思えるのであって、

ギタリストピアニスト作家写真家デザイナーといった専門家であれば

自然でも何でもない最低限のたしなみです。

20人~50人に1人という割合も、それがプロギタリストであれば納得できる数字です。

本来そのぐらい特殊な専門領域を広く一般に開放してしまっているという問題が、

元増田の「システムエンジニアなんて免許制にしちまえよ」という言葉に繋がるのだと思います

他の専門家とのアナロジーで言えば、事務所制なども考えられるかもしれません。

記事への反応 -
  • [居酒屋。サラリーマン風の男がグラスを片手にくだを巻いている。] もうさ、システムエンジニアなんて免許制にしちまえよ。 こんな複雑で難しい仕事、ロクにソフトウェア工学も修...

    • http://anond.hatelabo.jp/20130310152356 沈没船エントリを書いた増田です。 およそブログ向きではない冗長で読みにくい文章だったけれど、 元増田に便乗したお陰か、思ったより多くの方に読ん...

    • 意見自体は同意なんだけど、SIerみたいなシステムが出来上がっちゃってんのがもはや駄目なんじゃねえの 人月仕事単位で金払ってたらそりゃこんな感じになるだろ プロダクト単位で金...

    • なんで今のシステムになってるかっていうと ”顧客が全て丸投げしたいから”そういう感じになってるんだよね~ 顧客側は勉強も何もしたくないの理解もしたくないのよ 金だけ出して...

    • 医者みたいに御上がITに関する料金を決めてくれたら、様々な問題が解決するのになーと思う。デスマとかなくなるだろうし。

    • 製造工程で、ソフトウェア工学に明るい優秀なプログラマからのフィードバックで、 今のまずい設計のまま製造を進めればカットオーヴァーまでの工数は100人月+保守費用10人月/年、 前...

    • どこの業界でもそんなもんだろ。 下請けに回すってのは、所得の再分配ならぬ仕事の再分配。 それ自体はいいんだけど、現場の人間に金が届く頃には抜かれた額だけっていう。 途中で...

    • http://anond.hatelabo.jp/20130309233920 俺、それなりの規模のSIer側の人間なので、下請けに出す側の人間だけど、下請けもたいがいクソだよ。 会社は、対象のプログラミング言語を「やったこと...

      • http://anond.hatelabo.jp/20130310143818 まあね。でもそれは結局「待遇に似合った質」でしかないよ。 下流にいてデキるプログラマは、勉強会等で人脈を作り、ソーシャルに行ってしまう。 結...

      • で、下流の人間は、(契約形態によるけど)残業代がかかるし期日がくると逃げる。で、バグだらけのクソコードを俺がサビ残でせっせと直しているわけさ。 結局、何億も赤字を垂れ流...

      • 下級のクソプログラマだって時間さえあれば多少メソッド化してみせるくらいの器量はあるのさ、時間さえあればね 下流の質を嘆く前に、まず上流で時間を食い過ぎてないか、下流が滞...

      • そういう悩みがあるのなら、最初から君がコード書けば済む話だよね。 なぜそれができないのかを考えると答えが見えてくると思うよ。

    • 残念なソフトウェア開発の現場は、沈みかけの巨大な船に乗った航海に似ている。 船底の穴からの浸水を必死でかき出しながら、どうにか進んで行く。そういう航海だ。 船のどこにど...

      • このまえ某動画サイトでウテナ見たせいか「あなたは世界を革命するしかないでしょう」って台詞思い出した。 あれ見てる時は「なぜ革命?」とか思ってたけど、突き詰めると鼻くその...

      • 長文の力作だけど、つまんない。 と書こうと思ったんだけど、ブコメはそこそこ好意的なのね。

      • 彼は、パーティーの時と同じように冷笑を浮かべた。 理由はどうあれ、結局は、沈むべきものが沈むのだ。 それは真っ当なことなんだ。 きっと「彼」は航海の最初の頃からいつか...

      • 彼は、パーティーの時と同じように冷笑を浮かべた。 理由はどうあれ、結局は、沈むべきものが沈むのだ。 それは真っ当なことなんだ。 きっと「彼」は航海の最初の頃からいつか...

      • 言いたいことはわかるし内容が違うとも言わんが、 航海要素がこじつけレベルなので読んでて違和感ありまくり。

    • http://anond.hatelabo.jp/20130309233920 「下請けが客より技術的に上なのは当たり前」というが、それこそ思い込み。 俺は15年以上プログラマをやってきた。そんな俺がリーマン・ショックで職を...

      • SEって何だ?という話はおいておいて、元請けも下請けも昨今はひどい奴がたくさんいるでFA

      • なんだろう、下請けにいいものを作ることを求められても困るぞ?   できた後に、発注書に書いてないような高スペックを求められたり、常識ですよねとセキュリティーを求められたり...

        • どうなんだ? 俺が書いた例読んでもまだそんな事を言うって事は、あんたもエセ側じゃないかと思うんだが…… ゾンビ出さないとか大量のCLOSE_WAITとかは常識レベルじゃないのか? SEに...

          • 現に書かないから実装されないわけで、 エビデンスを求めるなら書くべきだと思うけど。

            • 言ってる事も酷いし、エビデンスの使い方も酷いし、まぁ一生底辺って感じ。 君と関わらないで仕事していければいいなぁと思った。

          • SEになってよく見るプログラムは、リソース開放なんて知った事か的な場当たり的プログラムなんだけど、こいつはその匂いを強く感じるなぁ。仕様書に「確保したリソースは必ず開放...

          • 「ドキュメントに書かれてない事はしない。書かれてある事だけをやる」を徹底するのもまた優秀なプログラマーだがな。

        • 場所にもよるけど、作れる人間がいるSIerだと本当に「もう、作るのはうちでやるから君等もういいよ」状態なわけで。

      • スキルが必要な作業はSI内部だけで回した方が楽だし、環境を整えておけば時間かけずに品質も確保できるはずだけどな。 最近経験したプロジェクトだと開発自体は社内の人間だけでや...

        • それはそれで、下請けの無駄遣いっぽい感じがするなぁ 一種誰かの理想なんだろうけどね とても健全でいい環境とは思えない いつまでも自分が苦労しそうな感じ

          • 下請けはスキル面で品質が担保できないと考えると当然の使い方だけどな どうすれば下請けのスキル面を低コストで簡単に見積もれるんだろうか

            • まぁ確かにね。 というか君の職場、下請け要らないよね デバッガーとかは下請けといえば下請けだけど、元々のこの話では単純なデバッガーは除くよね?

        • >>というか君の職場、下請け要らないよね<< http://anond.hatelabo.jp/20130310232504 を書いた人間だけど、テストする人を下請けに含めないのだったら文字通り「いない」状態と言えると...

    • なんかところどころ書き換えれば、まるで建設業界でもそのまま使えそうなお話ですね。 どこの業界も大変ですね。

    • この手の話は何十回も聞いたけど、一番罪深いのは中抜き元請けでもブラック下請けでもなく発注者だと思う。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん