先に前提を話しておくと、会社は全く辞めるつもりはないし、むしろどんどん会社を良くしていこうと思っている。今回はそういう基準で自分がコードやドキュメントを書いていますよという話。
コードやドキュメントを書く時に、どのくらいきれいにしておくかとか、どのくらいわかりやすくしておくかとかを考えることがある。こんなとき僕は、いつ突然自分が会社をやめて連絡がつかなくなったとしても他の人がある程度理解できるか、を基準にしている。そのためにはあまりいい方法が思いつかなくて仕方なく書いている部分にはちゃんと経緯のコメントを書く。他にも例えば作ったサービスであるイベントを開催する方法のドキュメントを書くなら、全く何もやったことがない人がそのドキュメントを読んだらとりあえず開催できるよう、ドキュメントを書く。当然コードもかっこよさよりも、説明しなくても分かりやすくなるようなシンプルさを追求する。
また、このような基準を満たせるように、PullRequestを送るときは必ず一回頭を空にして、自分で自分のPullRequestをレビューしてみて、本当に何も知らない人が読んでも分かるのか、というところを確認するようにしている。ただし、この「一回頭を空にして」というのが難しいというのはある。
もちろん、こういうことをするだけで終わってはいけない。これはつまるところ属人性の問題であり、属人性を排除するためには知識を伝搬させる仕組みを考えるとか、ペアプロをするとか、いろいろな方法が考えられる。しかし、とりあえず個人で属人性に対して対処する方法として、このような気持ちでコードやドキュメントを書いている。