青空を目指して2

どこまでも続く日々日常。ゲーム・音楽好きのおっさんの半生。日々日常とちょっとだけ思ったことの日記。

仕事

ほんと今の職場来てから定時帰りの王様になっちゃってる。いや別に契約とかの段階でごねてそういう契約にしてもらっているわけじゃなく。単純に与えられる仕事全てこなして時間内に終わるし、いつもバッファ持って仕事してるから割り込んできても全て時間内に片付くし。基本的に自分の今の仕事は既存システムへの機能拡張、機能追加って仕事がメイン。あと勝手に結構リファクタリングもしている。リファクタリングはその効果をそこの現場トップの人が効果を認めて評価してくれているので僕の裁量でやる分には黙認してもらっている。自分で追加する場所に関してはキッチリ設計を作りこんで、出来る限りシンプルに、元のシステムに対して自然に融合できる形を練りこむので設計には時間をかける。ただ結果その内容はかなりのシンプルさになることが多く、コード量もテスト量も少なくなり自然に不具合も減る。不具合が出ても設計が明確に、シンプルに作ってあるので対応も簡単。複雑な作りをしていないので仕様変更も瞬殺。リリースしても不具合は少ないので自然に仕事量も減っていく。
ちなみにリファクタリングは機能改善をするというより、荒れた増改築を繰り返したソースを元の設計思想に融合させる回収を自分は行う。ソースの中でいびつに、浮いて見える部分をそのシステムにとってあるべき姿へ融合させる。そういったことをする。あんまりオブジェクト指向的にこの方が美しいから、みたいな事はしない。あくまでそのシステム内での自然な融合を目指す。
設計の際に現存システムとの自然な融合を考えるためにコード全体のシステム設計、思想を深く紐解く。そのために自然にシステム全体の思想、コード設計思想、関係性、線そういったものが頭の中に入ってくる。理解が深まる。積み重ねると自然に設計時間が短縮されていく。機能を聞いた瞬間にシステム内でのあり方の絵が浮かぶ。あとはそれをインスタンス化すればいい。
システム全体が理解できてくるから他の人の設計も評価できるし、作ってない場所での不具合が出てもすぐに目星が付く。どんどん作業時間は短くなる。そういう全てが時短に繋がる。しかもそれで堅牢なことを周りが理解してくれているために最近は僕がさっさと帰ったり、休んだりしているときは全体が極めて正常に動いているバロメータとして見てくれている。僕が残業しだすと「お?なにかトラブル?」と思い出し、みんなが緊張する。そんなことはないんだけどね。

なんか俺完成してるな。