2010年09月25日 22:45 [Edit]

私がソフトウェア技術者でもありつづける理由

一言でいえば、「自分に報い続けたいから」ということになる。


私がソフトウェア技術者をやめた理由 - Rails で行こう!
私の職業生活でもっとも多くの時間を注いだのがソフトウェア作りだ。その作業に対して、実際のところ、好きとか嫌いとか一言で割り切れるはずがない。複雑な感情を持っているというのが正直なところだ。

以下に照らし合わせれば、その複雑な感情とやらそのものがお嫌いなのだろう。

私の職業プログラマのとしての最大の欠点は、ソースコードに対して強い美意識を持たずにいられなかったところだろう。生来の生真面目な性格が災いし、私の基準で美しいとはいえないソースコードを敵視しすぎた。

で、何をもって美醜を決めているかといえば、コルモゴロフ複雑性と、そこからの距離をお使いのようだ。

うるう年を計算するアルゴリズムを考えてみる。

"Hello, world!"やFizzBuzzなみに使い古された例であるが、それではこちらはどうだろう。

(Shift_JIS|EUC_JP|ISO-2022-JP)とUTF-8を変換するアルゴリズムを考えてみる。

問題がこうなったとたん、最も「美しい」実装も「見るに耐えられない」ものとなる。(Shift_JIS|EUC_JP|ISO-2022-JP)が元としているJIS X 0208をはじめとする「JIS X 02XX規格」とUTF-8が元としているUnicodeの間には、うるう年のような「美しい」変換規則などないからだ。よって変換テーブルを使うこととなる。何万文字もあるので、当然ソースコードも大きくなる。元記事の「美しくない」事例など、大便の前のフケひとかけらに過ぎないほど。

私は Perlというプログラミング言語で、まさにこれを行うソフトウェアモジュールのメンテナを務めている。元発言主からみたら、汚穢屋(死語?)にも匹敵する醜い仕事であろうことは想像に難しくない。

我ながら思う。よくぞまあこんな「便所掃除」を引き受けたな、と。それも無給で。それどこか、Perl 5.8の開発が佳境だったその年の私の年収は60万円ちょっと。それも独身貴族というのであればとにかく、仕事辞めたて、次女生まれたて。阿呆にもほどがある。

結論からいうと、これは私が今までした「仕事」の中で最も報われたものの一つである。まず私自身が報われた。

UTF-8のベトナム語から声調記号を落す - Rails で行こう!
@@map_source =<<EOS A 0041 A 00C1 A 00C0 A 1EA2 A 00C3 A 1EA0 # 以下140行略 EOS

というような「醜い」コードを書く日常茶飯事、いや日常用便時からまず自分が解放されたのだ。

次に、私が最も尊敬する人物の一人と友人になれた。あの Larry Wall である。

404 Blog Not Found:身内には言えない「頑張ってるね」もある
otsukaresama deshita!

この一言が一プログラマーにとってどんな意味があるのか想像力を働かせられない人は、ただちにプログラマーをやめるべきだと断言する。弾言でなくて。

もうこれだけで一年あまりを「棒にふった」経験は「元が取れた」のであるが、「儲け」はこれに留まらない。EncodeがPerlの標準モジュールとして全世界のWebサーバーに普及することによって、文字コード問題というのは「できれば解決しておきたい」ものから「解決しておいて当然」のものとなった。本blogの文字コードはEUC-JPであるが、そんなことを気にせず記事をかけるのは、WebサーバーとWebブラウザの方でよきに計らってくれるからで、そしてサーバー側でよきに計らってくれるようになったのは、サーバーを構築するソフトウェア技術者たちが、「汚水槽」に手足をつっこまなくとも私が作った「ユニットバス」を設置して「配管」するだけでよくなったからだ。

しかし、他のどんな成果よりもうれしかったのは、Perlコミュニティという、プログラマーのコミュニティの中では最も魅力的なコミュニティの一つの中で、かけがえのない地位を得たことだ。

コンピュータと心が合体するような「対コンピュータモード」は、非コミュだった少年時代には、それほど嫌ではなかったが、それなりの社交性を身に着けてきている現在では、たいへん苦痛になってきている
お前は何を言っているんだ

プログラマーほど社交的な人種を、私は知らないのだが。ウソだと思うならYAPCに一度来てみるといい。今年も来月東工大で行われる

「対コンピュータモード」「対人モード」と2つのモードがあり、これらは相互に排他的

というのがいかにガセかがいやがおうでもわかるから。

ソフトウェア技術者は私にとって報われない職業であった

ご愁傷さま。もうこの時点で間違っている。

ソフトウェア技術者というのは、まず誰より自分に対して報いる仕事なのだから。

自分に報いることが出来なくて、どうして人様に報いることが出来ようか。

私が一目置くソフトウェア技術者たちは、まず誰よりも自分に報いる人々であったし、あるし、これからもそうでありつづけるだろう。私自身、人に報いようと思ってやった仕事がうまく行った試しがない。たかがblogの記事一つでさえそうなのだ。

自分に報いるのであれば、どんな醜い仕事でも「はい、喜んで!」やれる。

世の中が美しいのは、そうやって自分に報いている人々が、その過程でゴミ拾いを続けて来た結果なのではないか。

なのだとしたら、ゴミを拾わぬ人に、美の何たるかを語って欲しくはないものだ。

Dan the Janitor


この記事へのトラックバックURL

この記事へのトラックバック
何となく、三者三様で立ち位置が違うのでコメントしようがないのですが。 ・私がソフトウェア技術者をやめた理由(Rails で行こう!)  ↓ ・私がソフトウェア技術者でもありつづける理由(404 Blog Not Found)  ↓ ・ソフトウェア技術者をやめるのは構わないがどの仕事でも
ピントが曖昧なソフトウェア技術者観【pc4beginnerの日記】at 2010年10月06日 10:12
自分の今の立場とはちょっと違うかもしれないけど....ちょっと共感...404 Blog Not Found:私がソフトウェア技術者でもありつづける理由しかしこれを正面きっていっちゃうと「社蓄」とか「ブラック」とかいう輩が湧いてでるんだよな(笑):俺はいまでこそ「プログラマー」は...
俺がソフトウェア技術者であり続けたいと思う理由【そういう攻撃ver.2.0】at 2010年10月06日 00:22
elm200さんという方がソフトウェア技術者を辞める事についてブログで書かれた所、ひがやすをさんや小飼弾さんが少々反論っぽい記事を書かれています。 私もひがやすをさんや小飼弾さんの言ってる事はごもっともと思います。 でも、こうも思うのです。 (いつ頃からか・・...
ソフトウェア技術者を辞められるなら辞めても良いんじゃない?【コードを書かせてもらえなくなったエンジニアのブログ】at 2010年10月03日 12:54
ソフトウェア技術者でありつづける理由 小飼さんの、私がソフトウェア技術者でもありつづける理由は、僕が先日紹介した、私がソフトウェア技術者をやめた理由を痛快に批判している。 小飼さんは、こう言い切る。 私がソフトウェア技術者でもありつづける理由 一言でいえば、
[日本企業は世界で生き残れるか?]ソフトウェアの美を語る前に、ゴミを拾おう【科学と金融とプログラミング】at 2010年09月29日 01:10
hide BEST ~PSYCHOMMUNITY~アーティスト:hideMCAビクター(2000-03-02)おすすめ度:販売元:Amazon.co.jpクチコミを見る 土曜日。 今日はJTさんとのコラボセミナーなのだ。セミナーは私が最もテンションが上がる仕事である。4時間半の長丁場。終了後は7人の学生から個別質問...
「魔法を使える戦士」として、常に現場にいるということ【試みの水平線】at 2010年09月26日 04:34
前回の記事がだいぶ脱線したので別記事化。 id:ele200さんの記事を、id:dankogaiさんが次のように引用していたのだけど、ここだけなんかピントがずれてるなと思った。 プログラマーほど社交的な人種を、私は知らないのだが。ウソだと思うならYAPCに一度来てみるといい。今年
[日記]プログラマのトランス状態【Brezzaの日記】at 2010年09月26日 02:07
この記事へのコメント
danさんも独善的だねー。

>> プログラマーほど社交的な人種を、私は知らないのだが。
その根拠って?どうやって測定したの?
それとも個人的なフィーリング?
それなら正しい間違っているを議論しても不毛だ。

> ソフトウェア技術者は私にとって報われない職業であった
>> ご愁傷さま。もうこの時点で間違っている。
上に同じ。これも感じ方なので正誤を議論するべきものではない。

ま、個人のブログなので何を論じても別にいいけど。
Posted by d050226 at 2010年09月26日 23:02
dankogaiの愛を感じた。
Posted by qstring at 2010年09月26日 21:05
余計なお世話ですけど、ご本人の弁を貼り付けちゃいますw

−−−−−−−−−−−−−−−−

ははは、やはり dis られていましたか。dan kogai の直撃を食らうと、石になってしまうので、やはり読まないで正解でしたねw RT @enokijp: @elm200 danさんがああいう事を書くとは思いませんでした。
Posted by https://me.yahoo.co.jp/a/bLbJ4G4EeonxIkJwQbrGe1fbQw--#22ac3 at 2010年09月26日 15:34