2011-02-26

http://anond.hatelabo.jp/20110223195508

プログラマー」と名乗っている人をあんまり信用しないほうがいいというのはよく言われる話だが最近そのことを痛感している。今やってる仕事の一環として、「ほかのプログラマープログラムを書いてもらって、それをレビューする」という作業があるのだが、この「ほかのプログラマーが書いたプログラム」というのがひどい。クズたいプログラムばっかりだ。

物心ついた頃から不可解で仕方がなかった

たいしたプログラムも書けない そのくせに威張り散らしてる

ってな、黒夢の『C.Y.HEAD』という曲の歌い出しですけど、最近この部分がぐるぐるぐるぐると頭を回るものだよ。

ええ、わかってますよ。仕事相手の悪口を公的な場で言うなんて、問題があるって言うんでしょう。まあ、それもそうなんだけど、たいしたプログラムも書けないくせにプログラマー名乗ってる奴らに本当に腹が立つからせいぜい堂々と書きますよ。

「忙しくってコードの質が下がってる」っていうような事情もあるでしょうが、まともに納品が出来ないなら仕事なら受けるべきでないわけだし、ビジネス世界は「結果責任」を負うものですから、「事情」なんてのは知ったこっちゃないね

……っていうふうにね、「仕事」というのは基本的に「事情」を無視するものなんですね。だから基本的にはあんまり僕は「仕事」が好きじゃない。とはいえ、今いっしょに働いている人たちはかなり「事情」というものを意識していて、おかげでそれほど辛くはないんだけれども。ただ「ほかのプログラマー」みたいな、外部の人たちは、事情を共有することができないので、「あー! クズたいコード送ってきやがって!」ということにしかならない。「事情」を共有できるような、近しい距離の人たちとのみ、仕事をしていたいものですよ。

で、そのコードがどういうふうにダメなのかというと、主に2つの側面がある。

【1】文法が正しくない、プログラムが読みづらい

【2】ソフトウェア目的意識できていない

【1】はもう、そのまんま。文法がおかしいとか、同じ様な処理コピペで5回かいてるとか、1メソッドが長すぎる上に変数が"hoge"とかでわかりにくく、意味を取るのに困難があるとか。「こんなプログラムに金を払わなければならないのか……」と思うとめまいがする。何せ、それを「まともなプログラム」にレビューするのは僕なのだ。で、その作業に対してお金は一銭も入ってこないのだ。

不具合先祖返りなんかは誰にでもあるミスだし、それを点検するために僕がチェックしているわけなので、そのあたりはいい。しかし文法の狂っているプログラムを修正するというのは、時には全体を書き換えなくてはならなくて、非常に労力である。それに、受け取ったコードは「ほかのプログラマー」さんの「成果物であるので、あまり手を加えすぎるわけにもいかない。それが「仕様書」をもとにしたコード場合、あまり修正するとクライアントに「自分はこんなこと言っていない」と思われてしま可能性もある。だいいち、こんな作業にあんまり時間をかけたら、ほかのもっと大切な作業をする時間がなくなってしまうのだ。こういった様々な事情を考え合わせ、うまいことバランス取りながら、修正の妥協点を探していくわけだが、これはとてつもない頭脳労働である。疲れる。

【2】は例えば、「バリデートチェック」のためのコードなのに、「intは2バイト」ということばっかり書いて来るとか。「intは2バイトはわかったけど、いつからバリデートチェックになるのだろう」と思って読み進めても、最後までintは2バイトしかチェックしていない。依頼主であるからSIerは、そんなプログラムに金を払いたがるだろうか?

もっと具体的な例。ゲーム会社が、「我が社のキャラクタ版権を利用して、凄く売れるSNSゲームを作ってくれ」と依頼してきたとする。プログラマーが打ち合わせに行くと、企画者は「動的フラッシュも使って、100万ユーザーが遊べる。。。」という話を延々とする。プログラマーは「了解しました」と言って安請負する。そのプログラムメイン処理だけで1000行というもので、memcachedの「mem」の字もないし、「オブジェクト指向」といった概念も勿論ない。これでは仮にSNSゲームリリースされたとしても、100人さえも遊べない。

このくらいならマシなほうで、ひどいのになるとフリーランス会社から紹介されたプログラマーで、「SQLselect文くらいしかやった事がない」とか平気で送りこんでくる。たった一人で。

また、意味のないコメントも多い。ループ処理に、「イントのiに3を代入する」と書いて、何の意味があるのだ? せめて「処理速度改善の為にIntegerは使わずにプリミティブのintを使う!」というふうに書くのが本来だと思う、まぁ嘘なんだけど。だって、そんなコメントみて、「なるほど」って誰が思いますかね?

コメントには必ず「目的」というものがあって、次にソースを読む人は処理の概要を知りたいのだから、「プログラム」をそのまんまコメントにしてもダメなんですよ。そういう単純で、最も重要なことが意識できないで、どうして堂々と「プログラマー」なんて名乗れるのか知らん、と思うぜ。

一番、腹が立つのは「偽SEですね。「プログラムはだれでもできるでしょ、重要なのは業務知識でしょ!」みたいなのが偽SE。こういうのを本当に思っているのがいる。業務の画面遷移さえ理解してないSEがだよ。

上の例はさすがに大げさでも、「僕は、プログラムが好きでソフト開発者になりました」とか言ってまともにプログラムが書けない奴は、頻繁にいる。自分サーバ建てろよ。自分で簡単なサービスつくる事もできないなら、向いてないから辞めてしまえ。

「オレはサーバエンジニアじゃないかコマンド打てない」みたいなね。

世も末だ!

ここに挙げたのは「最低限」のことで、「より読みやすく」「より自然に」「より美しく」というところを、自分能力限界まで突き詰めてこそ、プロってもんじゃないんかね。もちろん時間や諸々の事情相談してのこととはいえ、「26歳の若造吐き気を催すような拙いプログラム」を送ってくる、30代40代のプロプログラマーってのはいかがなもんでしょう?

身の程を知れというか。

なんでプログラム書けない人がプログラマーなんかやってんだろ?

んで、なんでそういう人に「仕事」があるんだろうか?

世の中ってのは本当にわからんもんです

身の程を知れよ。

自分の欲望ばっかり考えやがってね。

記事への反応 -
  • 「ライター」と名乗っている人をあんまり信用しないほうがいいというのはよく言われる話だが、最近そのことを痛感している。今やってる仕事の一環として、「ほかのライターに文章...

    • 「プログラマー」と名乗っている人をあんまり信用しないほうがいいというのはよく言われる話だが、最近そのことを痛感している。今やってる仕事の一環として、「ほかのプログラマ...

      • 最近はGUIなコード生成ツールを使ってメソッド名とかを自動生成するのがブームらしい(どんなツールがあるのかは全く知らん)から、傍目からすると仰天コードが出力されてる可能性...

      • char *="hogehoer"; // スペルが間違っているが直さないこと。多くのシステムでコレをキーとして使っているので直すと大変なことになる。

      • コピペなのを承知でダメ出ししてみる。 文法が狂ってるプログラムなんて今日日見たことないんだけど、実際あるの? だって、自分がかじった数少ない開発環境でさえ、たいていコン...

        • 文法が狂ってるプログラムなんて今日日見たことないんだけど、実際あるの? インタプリタって基本的な知識もないの? 色んな意味で大変そうだね。おたくの会社

          • そもそもそこら辺のエラーを通知してくれないエディタを使ってるってんなら哀れやな!

          • わかってるけどもw 一昔二昔前の環境をそのまま使ってるならともかく、 いまどきの開発環境で、文法エラーをすんなり通してしまうのって見たことないし、 そこを通したとしてもコ...

    • お疲れ様です 最近立教の学生の崩壊しきった文を読んでゾッとしてたけど 40代のプロでもそうなのか どうなってんだろうな一体 何か最近劣化したとかじゃなくて、世の中って元から...

    • 職種は違いますが、う~ん、気持ち分かります。 以前にソフトウェア開発職をやっていました。 能力があるSEさんが会社を辞めて、替りに50歳手前のSEを雇うことになったんだけど その...

    • その指摘は「ダメな漫画家のダメな描画」「ダメなドラマーのダメな演奏」「ダメな社長のダメな方針」「ダメな政党のダメな法案」と置き換えて論じても基本的に同じことが言えるん...

    • http://anond.hatelabo.jp/20110223195508 一般的なトピックを扱うライターに関してはたしかに元増田の主張は正しいね。 ただ、一般的な知識レベルの人が簡単には参入できない専門的な分野を扱...

    • 「原稿の目的」を発注の際にきっちり伝えているのか? 「○月号のインタビュー取材お願いします!○日○時に○○集合で!」 しか言わない人もいるからな。。 あと稿料として、件の...

    • お金持ちに大量に触れて気づいた8の共通点 http://anond.hatelabo.jp/20110825105018 3317users 生活・人生 2011/08/25 --------------------- 自分でWEBサービスを作りたいと思っている人へ http://anond.hatelabo.jp/201...

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

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