«前の日記(2011-10-06) 最新 次の日記(2011-10-08)» 編集

会長@腹部日記


2011-10-07 [長年日記]

_ 35歳プログラマ定年説はもう時代遅れ。職業プログラマは32歳定年説を推します

今冬のチーム体制を議論する季節になってきました。とうとう私はプログラマとして招へいされることが無くなりました。

ジョジョの奇妙な冒険第二部風に現状を説明すると以下です。

tamoot は・・・二度と Ruby on Rails を使った開発のお仕事には戻れなかった・・・
サポートのようなお仕事と、バグ調査・パッチ作成のお仕事との中間の生命体となり永遠に会社をさまようのだ
そして開発のお仕事をしたいと思っても招へいされないので・・・・
--
そのうち tamoot は考えるのをやめた

私をプログラム開発業務へまわすデメリット

客観的に見て以下です。弊社ならやはり定年として扱われても仕方ありません。

  • 時間単価が高い
    • 偉い人はプログラミングごとき下流の作業は単価の安いやつにやらせるという方針です。
    • 明らかに間違ってるとは思いますけどね。。
  • 地獄のミサワのように浮いていた・目障り
    • 以下のようなことを時折メーリングリストで発言する私は、動けばいい。保守しやすい構造やコーディングより何よりも納期が大切という方針の弊社では、やっかいがられても仕方ありません*1。郷に入っては郷に従えを逆で行っていたんですね。
      • 「オブジェクト指向的にどうのこうの、クラス設計がどうのこうの、ちょっと違うクナーイ」
      • 「保守しやすいよう、トレースログを分離しマショウヨー」
      • 「Tracにそれなりの規約書いたから遵守してホシイナー」
      • 「勉強会しましょうよ。良いコード書きまショウヨー」
      • 「私のやってきてることをTracで共有シヨウヨー」

さて、定年を迎えたのだから、職業プログラマとしての7年を振り返りますね。


やってきたこと(習熟してる・してないはおいておいて)

言語周り C、C++、Java、Ruby(JRuby)
OS周り WindowsServer系、Redhat・SUSE、ShellScript
開発周り SWT、Ruby on Rails
通算行数 こんなの骨の髄までウォーターフォールが染みついてないので書きませんが、自慢したい人はいるんだろーなー

んまーたいしたことありませんね。


楽しかったこと

  • Ruby on Railsを使い始めたとき、ちゃんとテストコードを書く時間をもらえたこと
    • 自他含めて、何個もバグが見つかった
  • EclipseRCPを使ったデスクトップアプリケーションの開発
  • オープンソースのソースコードを見たこと
    • Eclipse、JRuby、Rubyのコードを見ていろいろ思うところがあった。勉強になりました。
  • 人のソースコードの意図がきっちり理解できたとき*2

びっくりしたこと

  • リリースのたびに、CVSへ圧縮ファイルをコミットしていた一年目
    • さすがにこの作業、すぐ無くなったからもういいですけど(>_<)
  • 特定javaソースは、Eclipseをハングさせるくらい長かったこと
  • StaleObjectErrorをやり過ごすコードを見かけたこと
  • subversionのマージ作業が一大イベントと化していること

つらかったこと

  • ボタンぽちっと押したら、二時間後にならないとexcelに○×をつけられないテストを繰り返していたこと
  • ウォーターフォールであるがゆえに、1行の修正でも、A4用紙5枚くらいの反省文が必要なこと
    • 良い結果につながっていればいいものの、結局どこかの誰かが同じことをやらかしていて、反省文が全く生かされないことをみんなわかっているから本当に辛い
  • 「なんでできないの?」と言われること
  • ソース行数の見積もり == 作業の難易度 という風潮
  • 状態遷移とか必要と思って仕様書に書いたら「それは付録程度の内容だね」と言われたこと

最後に思うところを書きます

いろいろ努力してきましたが、最終的にはバグを量産する、品質の良くない開発者になっていました。この先バグを量産させるより、大き目なプロジェクトに携わっている経歴の長さを買われ、中間に入る業務に入れられることも仕方ないよなぁと、何となく先が見えていました。

ただ、やはりこうやって人員計画に現れてくるといろいろこみ上げてくるものがあり、日記に残しておこうと思いました。

でもこれで、新しいバグを仕込んでしまう業から逃れられると思ったら少し気が楽になっています。時間の無い中で、仕様を決めて、設計*3をして、プログラミングとテストの時間はいつも締め切りを早められて、バグがいっぱいできて、ごめんなさい文章を書く。このダメ職業プログラマの連鎖から抜けられることができたのです。ジョジョの奇妙な冒険第二部で言うと、死の結婚指輪の解毒剤をエシディシ・ワムウから勝ち取ったような想いです。

立つ鳥後を濁さずとして去るのではなく、先日書いているように知っていることは後生に伝えたいと考えています。ただ、肝心の若手は参加してくれそうにない状況です。若手君・さん たちが忙しいのはわかるけど、もうちょっと広い視点で先を見てほしいなぁと思い悲しいです。嫌われてるのかな、ハハッ(^_^)v

今の会社を通して、自分の書いたプログラムを世に出すことは無くなります。バグを絶対仕込んでしまう不安がどうしても取り切れずにここ数年プログラミングしてきたので、こうやって書かなくてよい機会をもらえたのは幸運であると考えたいです。残してきたバグもありますが、後ろ髪引かれることなく、好きなプログラミングができそうだなと思っています。 これからもtDiaryのプラグインをちょこちょこ書いたり、Rails3にも手を出してみたいと思います。

と、いうわけで35歳プログラマ定年説どころか、職業プログラマは32歳定年を突きつけられたことによる振り返りと今後の決意でした。自分の立ち位置をよく理解するようにして、職業プログラマとしての定年がやってきても前向きに捉えるようにしたいですね!もしくは・・・みなさん、良くない開発環境にある会社を抜けるような準備をしておいてくださいね!

*1 本当にスルーされている

*2 理解できたと思い込んでいたことも多々多数

*3 結果からみるとここがいつもザル。できない理由はたくさんある。どうみても構造も悪いし、人間の理解できるデータ構造・変遷では無い

本日のツッコミ(全3件) [ツッコミを入れる]
_ とーふ (2011-10-08 23:25)

トレースログの分離ってどういう物でしょうか。<br>Exception のスタックトレースは、普通のログファイルとは別のファイルに書き出す<br>ということでしょうか。<br>確かに、それは便利ですね・・・<br>くれくれな上に部分的なお話ですみません

_ 会長@腹部 (2011-10-10 05:17)

コメントありがとうございます。多種多様なトレースログを残し続けねばならない宿命を背負ったソフトウェアなもので、あまり一般的なものではないんです、はい。。

_ ばしくし (2012-08-06 10:07)

なるほど。<br>業務システムの世界では、32歳で実装から離れちゃうんですね。<br>寂しい話ですな。<br><br>自社Webサービスの世界だと<br>40手前のマネージャでも当然のようにソースをメンテナンスしてますけどね。(うちのはLAMPのPHPでZend使ってます)<br>監視アラートが飛んでくると、40オーバーのCTOがLinuxとかMySQLとかLVSとかmemcachedとかの話にガンガン首突っ込んできて、いろいろ議論しますけどね。<br>一緒にデータセンターに行って作業することもあるし。<br><br>32歳で定年って、全然想像つかなくて「ポカーン」って感じです。