seri::diary

日常

仕事に依存しすぎない方がいいなって思うようになった

エンジニアとして働いていると、どうしても「面白くない」と感じるような作業もやらなければならないことがある。1から10まで、コードの詳細レベルまで明らかに内容がやる前からわかる単純作業などが自分の場合は該当する。明らかに繰り返しの作業になっているものはできるだけDRYに寄せるようにリファクタリングして、そこで自分の技術的な満足は満たすように努めているが、いかんせん時間も無限にある訳ではないし、すでに大量のコードベースが存在している場合にはリファクタリングも時間がかかる。それにリファクタリングより優先度が高いタスクは山のようにある。だから大抵はリファクタリング自体をタスクとして計上することはなかなかできない。

自分はリファクタリングは好きな方だ。コンピュータサイエンスのバックグラウンドがない自分には、計算機的に良いパフォーマンスが出せるコードを書くよりは、可読性やメンテ性の高いコードの構造を考える方がまだ幾分とっつきやすいというか身に着けやすい領域だったからだと思う。

ただ、リファクタが得意です、だけだとソフトウェアエンジニアとしてはそのうち使い物にならなくなるだろうな、とかなんとか。そういうことを30歳になったことを境に考えるようになった。綺麗なコードに書き直すという作業は一円も価値を生まない。いくら技術的負債満載だ、と言われても、ベンチャーの世界では価値のあるサービスを最適なタイミングでリリースすることに心血を注ぐ必要がある。良い機能をリリースして、ユーザーからの信頼を高め、新しいユーザーを獲得し、投資家からの注目を集めることこそがベンチャーにおいては重要だ。それに比べればコードの良し悪しなんてのは二の次三の次の問題だろう。

とは言え、たまには飽きて本当にやる気がなくなることがある。そういう時は自分は以下のように考えるようにしている。

1. 仕事は仕事、趣味は趣味である。満足できないならプライベートで満たせ。

これは自分も20代半ばのころに陥っていたのだが、例えば高度な欲求である「尊厳欲求」や「自己実現欲求」を仕事という手段だけで満たそうとしないことである。

仕事は「自己実現のためにするものだ」というようなことを考えている人もいるかも知れないが、幸いなことにソフトウェアエンジニアは仕事以外でもPC一台あればコードは書ける。しかもタダで。多くの人に使ってもらえるソフトウェアを書きたい、という場合でも余暇の時間のOSS活動でそれを実現できるチャンスがある。githubだってタダで使えるんだし。あと新しいことを勉強したければいくらでもネット上に学習リソースが転がっている。考えてみればこれほど恵まれているこというこは他の分野ではなかなかないのではないだろうか。

自分の過去の転職理由は、おおむね「優秀な人と仕事をして自分を成長させる機会を作りたい」とか「スーツでExcelな環境ではなくバリバリコードが書ける現場で技術を高めたい」みたいなものだった。

しかし、今考えれば、それは少し間違っていたようにも思っていて、別にそれらは転職という手段を使わなくても実現できた訳だし、転職自体がそれらを実現できる銀の弾丸という訳ではない。逆に、転職というか仕事自体だけに解を求めてしまうと、仕事で行き詰ったときに活路が見いだせなくなってしまう、が、仕事はしないと自分の食い扶持がなくなるので辞める訳にはいかない、みたいな絶望と強制力の狭間で苦しむみたいな状況が発生してしまう。

幸いにして今の職場は割と自由度が高いので割と自由にやりたいことをやらせてもらっているが、過去においては何をやっても全く何も変えられない時もあって(当時の自分の未熟さも関係していたが)、そういう時に仕事以外に自分の欲求を満たす代替手段を仕事以外に持っていないのは、やはり危うい状態だったと言わざるを得ない。

なお、最近はrailsをちょっといじる程度のショボいgemを3つぐらい作った

2. 仕事の目的は金銭を得ることが目的であり、それ以上に得られるものがあったらラッキー、ぐらいに考える。

仕事に対しては、もちろん自分のベストは尽くすが、求めるものとしてはこれぐらいの意識でいた方がよいのかなと最近は思うようになった。

学生時代から「日経ビジネスアソシエイト」とかを愛読していてやたら意識が高かった新卒の自分に怒られそうだが、結局仕事のポジションはその辺に置いておいたほうが、心理的な安定性を考えるとよいのではないかと最近は思う。

先に書いたことと関連するが、仕事以外でいくらでも「得る」方法はあるのである。だから、仕事がうまくいかなくても他のことでカバーする、という体制は人生において重要なのではないかと考えるようになった。

だから仕事に多くは求めない。逆に、金銭以外で得るものがあったとしたら、それはとても幸運なことだと思った方がいい。仕事がつまらん?ちゃんと給料出るんだからいいじゃないか、と考えることも時には必要だ。新卒当時の俺よ、分かってくれ…

3. 仕事がつまらんのはお前が悪い

一方で仕事がつまらんのは自分が悪いのではないか?という視点を持つ。自分が面白くする努力を怠っているのではないか?という感じに。

一例だが、「今の仕事で改善できることはないか?」という視点で自分ができることを探し、実際に改善するために動いてみると、それを改善するとこと自体が結果的に自分の満足につながるケースもある。

実際、今の会社に入ってから、所属したチームの仕事の進め方を色々変えてみたのだが、その改善自体が自分にとってはそれなりに面白いものだった。これまで当たり前にやってきていたことがないとどういう問題が発生し、それを改善するためにこの手段は必要だったということの再認識にもつながったし、逆にそれを阻害するものは何なのかという発見もあった。だから、もう一度同じことを導入するときはもっと上手くできそうだという自信にもつながった。