2005-07-04

日記

日記21日目. 昨夜はスターウォーズを見た. 8:15 起床, 喉が痛い. 完全に風邪だ. しかし諸事情により休めない.

出社, 研修レビュー. 今日のレビュイーは既存のコードの改造をしている. 新人の書いたコードではなく先人のコードがまずい場合レビューに困る. 普段は若干私の趣味も交えて話すのだが, 今日はチェックリスト的なレビューだけに留めておく. メンテナンスって大変だよねという話など.

今週は心を入れかえ集中して働きたい. 大半は雑用. 雑用だけに集中力と線型に効率があがる. ER-4 でがっちりと耳を塞ぐ.

QA チームから来た障害報告の精査. 仕様がよくわからないものが多く, しかし仕様書を読む気力がないので隣席の同僚に尋ねる. 即座に返答. 仕様に精通できる人は頭がいい人だと思う. 効率の良いエンコード方法を知っている証拠だから.

社内の ML で, 新人より社内フレームワークのドキュメントに関する不満の声あがる. 気持はわかる. あたりさわりの無い返信をしておく. しかし気になる話題だったらしく参戦者多数, フレームの気配. 件の新人はあっさり火消しに回ってしまった. 残念. ドキュメントを改善しようという意欲までが失せていなければいいのだが. 他力本願な雰囲気漂うメールだったので若干の不安. 政治の絡む問題だけに面倒だ. 私は既に敗者でもある. 距離を置いて地道に改善したい.

早めに帰宅. 葛根湯購入. 帰りの列車内で週刊の少年誌を読む高校生の軍団. ストーリーのわからない話を読むか否かで争っている. 単行本と週刊誌連載のギャップは出版社の利益を損ねているようにも思える. バックナンバーを電子配信して欲しい. 著作権をどう妥当に保護するか.

ふと電子透かしについて考える. マンガに特化した電子透かしのアルゴリズムは有り得る気がする. マンガは超高解像度の二値画像なのだと以前聞いたことがある. 二値画像に対する透かしは, グレースケールやフルカラーに対するそれとはアプローチが違っていい. 周波数特性の高い部分に情報を埋めこむとなると, たとえばスクリーントーンの部分にデータが埋めこまれることになる. しかし, それだとスクリーントーンの少い "ONE PIECE" などの漫画は困る. こうした, 二次元フーリエ変換の視点からは周波数特性の低そうな画にどうやって透かしを埋めこむか. それが課題となりうる. たとえば輪郭線の起伏に着目するなどのアプローチが考えられる. でも, これは二値画像の非可逆圧縮と同じ根を持つ問題なのか. なんかもう解かれてそうだなあ ... (やはりあった.)

"「お先に失礼!」する技術" 読了. 普通の自己啓発本だった. 一つの組織にコミットしすぎないという主張は特に新しくない. なにか違和感があるなと思ったら, 時間潰しの代表格として挙げられている会議や飲み会が私の場合さっぱりボトルネックになっていないのだな. 飲み会で時間を潰せるとは羨しい暮らしだ. 他の槍玉である事務処理とメールについては反省すべき点もあるので素直に読む. おおよそは以前読んだ "なぜか、「仕事がうまくいく人」の習慣" と同じ主張だ. 要は溜めずにさっさと済ませろ(スラッシングがおこるから), コンテクストスイッチを軽くしろ(タスクは並列に走らざるを得ないから)という話. 自己啓発本というのは, 同じ事の繰り返しをマンネリ化せず説教されたい人が読むものなのだと実感する. あと後輩に議事録を書かせ, それを添削するというのは良いアイデアかもしれない. しかし会議がない.

09:30 出勤, 21:30 帰宅. 昼飯 バー V (ドライカレー), 夕食 めしや丼(彩定食).

履歴について (5)

今の仕事, 携帯電話のミドルウェアを作る仕事は, 先のような理由で選んだにも関わらずそれなりに楽しい仕事だった. というのも, 私は極めて運が良かった. 同期入社の多くがメンテナンスや受注開発の仕事を割り振られたのに対し, 私はほぼ新規開発に近い仕事を与えられた.

実際のところ, 与えられたというのは正確ではない. 私の配属になった部署で, ある先輩社員が担当するモジュール開発が頓挫していた. その仕事は若干の専門知識を必要としており, その先輩にはそれがなかった. 私はたまたまその知識を持ち合わせていた. (聞き齧りではあったが.) まず, 私は下位レイヤの高速化をする手伝いということでプロジェクトに参加した. しかし, 書き直した下位レイヤは API からしてまったく互換性のないものだった. もとの設計がひどかったのだ. (ということにしておく.) なので, そのレイヤを繋ぐひとつ上のレイヤを書き直した. これを繰り返し, 結局私は全てのコードを置きかえた. 要するに乗っ取ったのだ. 新人なので余計な雑用仕事はなかった. ひたすらコードを書いていた. こんなにコードを書いたことはなかった. 自分の能力をアウトプットするのは楽しかった.

この先輩が極めて人格者であったのが何よりも幸いした. 私がやったモジュールジャックは極めて屈辱的な行為であり, 彼はかなり不快な思いをしたはずだ. (私だったら出社拒否してしまうかもしれない.) しかし何も文句を言わず, むしろ余計な雑用をすべて引き受け私がコード書きに集中するのを助けてくれた. 感謝するほかない. 開発が進み, チームは 3 人に増えた. 渉外や雑用をする先輩, モジュールを開発する私, そのモジュールをフレームワークに繋ぐ同期の同僚. 私にとっては面倒な部分がまったくない理想的な状態. およそ半年後, モジュールは一応の完成をみた. マイルストンを迎え, プロジェクトは完了した.

しかしその後, しばらく営業から新しい引き合いはなかった, このまま消えていくモジュールなのかもしれない. それも良いと私は考えていた. 完成したとはいえ, 社内にある他のモジュールを水準とすると私の書いたコードはだいぶ酷いものだったからだ. 社内フレームワークのコンベンションを完全に無視していたし, 拡張性もありそうでなかった. これをメンテナンスしていくのは気がひけた. ("既知の問題" も山ほどあった.) 仕事がないのでチームは解散した.(というか他に引き抜かれていった.)

細々とモジュールをメンテナンスしつつ, 私自身も他の仕事を手伝うようになった. これはこれで勉強になった. 社内にあるいくつかのフレームワークやライブラリに触れることができ, それらは学ぶところがあったからだ. (なにしろ半年間一人勝手にやっていたので, 社内の流儀を勉強しそびれていた.) また部署変えで同じチームになった社内の凄腕と議論を深めることができた. この新しいチームはなぜか凄腕揃いで, 毎日の議論がとても楽しく, 勉強になった. それに, 他人の手伝いは気楽だった. 設計や意思決定の労が少い分, 開発プロセスや各種雑用について考える時間ができた. 火事場もあったがせいぜい半月か一ヶ月くらいのもので, お祭り気分で済んだ. そんなこんなでまた半年過ぎ, 入社から一年が経とうとしていた.

この間, 私は数冊程度の技術書しか読まなかった. 世間の新しいテクノロジを学ぶことはなかった. 仕事の開発が社内のテクノロジで閉じており, 世間の技術が直接仕事の訳に立つことは少なかったからだ. 単に遊び呆けていたという面も大きい. 週末はふらふらと出掛けるか, PC を触ってもウェブを見る程度. 今まで勉強していた時間(+a)がすっぽり仕事になってしまったのだが, それを補えずにいた. 不安はあったが, まだいくらか技術的貯金のある感触があった. それを喰いつぶしながら暮らしていた.