仕事のやる気

真面目に仕事する活動をはじめて一年以上たち、だいぶ仕事への engagement を取り戻してきた感じがある。色々とやりたいことがある。主にひどいコードをなんとかするのとしょうもない遅さをなんとかする話でクールな機能とかではないけれど。

リファクタリングについては、コードベースへの理解が進んで現状がどうなのかわかってきたのと、チームダイナミクス的な点で何が問題なのかわかってきたので前よりは見通しが立ってきた。

自分はユーザにインパクトのある成果を無視してリファクタリングばかりやっていた過去があるため、ここ 3-4 年くらいは反動でリファクタリングに時間をつかわないようにしてきたけれど、今のコードベースはちょっとなんとかしてあげないと死んでしまうあやうさを感じる。前のチームのコードベースはもう死んでしまっていたのでこういう悩みはなかったが、このチームはまだ救える見込みがあるだけに少しはがんばりたい。

もうひとつリファクタリングとかコードデザインに口を挟みたくないのは、デザインにこだわりのあるチームメンバーと衝突するのがかったるいからだが、今のチーム、というと範囲が広すぎるけれど自分の見ているあたりのつまり UI コードは意見のあるひと不在で崩壊しかかっている。これはフネヤマに登りがちな今の勤務先では割と珍しい現象な気がするが、そういうこともある。昔はそれなりに気にしていた人がいたっぽく、というか今の TL だが、ベースのデザインは古いなりにまとも。ただその  TL が他のことに忙しくなって UI まわりを放置しているせいで窓が割れ放題になってしまった雰囲気がある。こういうのを直すのは年寄りの仕事に思える。

というか、コードがひどすぎて本業である性能改善に支障がでている。それらのひどいコードは同時に遅さの問題も抱えているのに、直すために必要な精神力予算が多すぎ。ある程度は息を止め防塵マスクと安全靴で乗り切りつつ、環境保全もしていけないと sustain できない。


それとは直行した話として、英語。過去になくよく他人と話をしている。仕事をしている相手がだいたい同じオフィスにいるのと、性能関係は他人のコードをいじることが多い都合だろうか。

が引っ越してきた直後に英語を使う機会このくらいあったらすごいやる気をもって勉強できたと思う。当時は仕事がリモートだったり一人プレイだったりで機会が少なく、やる気を絞り出していた・・・は言い過ぎだけど訓練と実践のループが回しにくかった。結果として語彙ばかり増やし無駄に新聞を読む速度は速くなったが仕事のお役立ちがいまいち。今は発音とかを練習し実際の人間相手に喋ってみるにはもってこいの環境なのだがそういう練習をする時間も気力もない。悲しい。

なお英語練習によく言われる同僚とのランチはあまり行っていない。業務で機会があり、九時五時縛りがあり、Podcast の論文読むとかの優先度によってこぼれ落ちている。これは英語云々とは関係なく team building 的にあまりよくないから週一回くらいはやらないとなあ。しかしランチをサンドイッチとかで済ますと生まれる希少な時間に目が眩みがち。


性能とコード品質の話に戻ると、これをやれば良くなると思えるアイデアがいくつもあるのにまったく時間が足らず全然すすまない。去年の時間のなさは割り振られたバグが多すぎるペーパーワークの辛さだったが、今感じているフラストレーションは相対的には前向きで、それはよい。一方ペーパーワークは別にやりたくないから九時五時縛りを appreciate していたが、自分でやりたいことがあるのに時間がなくてできないのはやや残念。

そして締め切りの厳しさはコード品質など大局的な改善の難しさに輪をかける。締め切りの厳しさが人生の書き換えを強いてこない(cf. 戦うプログラマ)のはいいが、かわりに自分にとっての「正しい仕事の仕方」を選べない残念さはある。反対側からみると、自分が正しい仕事をできないのは締め切りだけでなく九時五時のためでもある。

仕事日記のようなかたちでやんわりと業務外の時間を傾けるのは、割に合う範囲でやらないとなあ。夏休み明けのここ一ヶ月くらいさぼっていたせいで滞りがち。

もうひとつの代替案は自分にとっての「正しさ」を放棄・・・定義しなおして getting things done だけに集中することだが、それは一年やって疲れた。しかも自分が向こう側の価値観にまったく説得されていない。モバイルの世界で負債つき経営が許されたのは五年くらい前までで、もう技術的借金できる身分ではないと思う。いま無茶したいなら AI とかやらないとね。成熟産業なのだよ。