フロイドの狂気日記

時は流れ、曲も終わった。もっと何か言えたのに。

PR

惨めさの勝利

PR

1月の平日は残すところ10日を切った。10月、11月と休み、12月、1月と働く。そして2月は休む。この2月で英語をガツッと勉強してテストを受けて後顧の憂いを断つ。去年の10月にやっておくべくだった。

 

この2ヶ月間のサボタージュは若い頃の感覚を僕に思い出させている。任せられた仕事の大部分は、もともと不可能であったが、僕のサボタージュの御蔭で進捗は更に悪い。そうして、新しく上位についた新しいPMからは「こいつはダメだな」という空気が漂っていて、チャット越しからもわかる。何も言わないのだ。ズルズルと引き伸ばした仕事の完了は先週末だったのに、日曜日と月曜日を消費してもまだ完成していない。朝会でも夕会でも報告しても、何にも言わない。当然僕は月末でいなくなる人間だから、何も言わない。ここで消耗しても仕方ない。だから誰かに僕の仕事を割り振って消化することだけを考えればいい。

 

そんなわけで僕は残りの10日間を何のプレッシャーもなく、何の指示もなく過ごす。今日は夕会に5分ほど遅れて入ったが、初期からのPMの「夕会始まってますよ」メッセージすらなかった。遅れて入って、何事もなく報告し、そして誰も気にしない。この感じはまだ20代前半の頃、何の役にも立たないから戦力に数えてもらえない時期、確かに感じた孤独だった。先輩たちからは、1年もすりゃあ使えるようになるだろう、という期待があり、あまり厳しくしても辞められるから、という甘さもあり、そうして進捗の遅れは許された。

 

それを30代で感じるなんて、本当なら屈辱に感じるべきなんだろうな。ところが何の感慨もわかない。少し懐かしくなっただけ。それはきっとコードのせいだ。

 

少しぼかして書くならば、今僕が書いているSQLクエリはこうだ。

 

$where = [

    'table' => 'user',

    'col' => 'name',

    'val' => $post['user_name'],

    'type' => 'A',

    'condition' => 'and',

];

 

これはこのプロジェクトで作られたオレオレ実装でのクエリ発行方法である。検索ボタンを押した時に、フレームワークのORMなど使わず、生のSQL分を再構築するfunctionに投げる配列だ。この配列を条件が増えるたびに足していき、そうしてFWの外のディレクトリにある、基本クエリと結合するためのクラスに投げられる。

 

$query["userFunction"]["searchList"] = "select * from mst_user inner join...."

こういった配列に定義された、クエリと$where配列を再構築し、SQLを投げる。その意義とはなんだろうか。FWが古くなっても使えるようにというなら、中途半端なことはせず、Serviceによる共通化に注力し生のクエリを書いたらいい、と思った。

 

絶望的なのはこのtypeとかいうやつで、Aの場合「=」 Bの場合「!=」 Cの場合と続いていく。僕はフレームワークの機能を無視して、何故このような配列をひたすら詰め込む仕様を新しく作り出したのか、ついに理解できなかった。そして自分の担当箇所でこのようなクエリを作るたびに、ベッドへ横になり眠った。

 

TypeAとTypeBが最初何を意味するかがわからなかったため、クエリを組み立てる汎用的なクラスにログを仕込み(しかもFWではなく、ファイル書き込み独自関数)観察しなければならなかった。もしこれがなければ、外注の人も僕も、もう少し工数が減っただろうことは間違いないだろう。そしてFWの機能の勉強でさえないので、今後全く役に立たない仕組みづくりに脳みその処理力を使う事自体が嫌になっていたのだ。

 

そうして知らないふりを決め込んで、ほとんど仕事に貢献しないことで、僕は惨めさと引き換えに最小限の消費ですむという環境を手に入れた。長い2ヶ月だった。今はただ振り込まれる売上だけを待っている。

 

そうしてまた僕はお雇い底辺プログラマの立場に絶望したのだ。自分の技能がカスなせいで、地獄のようなクソコードを組まされる。そこでさえ評価されない程度のスキル、集中力。立場を変えれば、雇う側も絶望しているだろう。安くない金でフリーランスガチャを引いたらクソコモンカードが出た的な。

 

ああ、こんな環境から抜け出せねえかな、と夢を見る。

それは過ぎた願いだとは知っているけれども。