外部記憶

他人に取って価値がないが、自分が忘れることに忍びないため残したい記憶・記録を記す外部記憶装置

退職エントリ的なもの(1年ぶり2回目)

退職エントリ的なもの。

前回の退職は敗北感いっぱいだったので退職エントリを書く余裕もなかったのですが、今回は十分余裕ある精神状態の段階で退職したためブログに書ける程度の余裕があります。 前回が全滅遁走だとすれば今回は大敗北からの撤退といった感じでしょうか。 前回の退職と比較をすると、本当に転職はまだ余裕があるときにするべきだと痛感しました。 会社のためと自己犠牲精神を起こしても自分のためにも、なにより会社のためにもなりません。

今回会社にいた期間は1年3ヶ月ほどで、その前が6年2ヶ月ほどだったことを考えると短いようですが1つの敗北を認めるには十分な期間でした。

以前の会社ではフロントエンドからバックエンド、インフラ、クラウドソーシャルエンジニアリングまでいろいろやっていたんですが今回はほぼほぼコードを書き続けた1年でした。もちろん設計やサービス開発・運用上の意思決定などにも参加していたのですが、どちらかというとコードをよく書いていたと思います。

f:id:den8:20191009060051p:plain

これはメインプロダクトのgitリポジトリの個人statです。コード修正量はファイルの移動や一部のstat出力も含まれているので当てになりませんが、だいたい1日平均4コミットぐらいはしていた計算になります。一部落ち込み区間は別のリポジトリで作業していたので、それを加えると1日5コミットぐらいはしていたんではないかと。 実際コードをいじらない日はほとんどないくらいで、前職でしばらくコーディングから離れていた身としては非常に楽しく仕事が出来ました。 また、akka-httpやserverlessなど一部のOSSへのcontributeも許可していただき、普段使っている中で見つけたバグ・機能追加要望などをPull Requestできたのは非常によい体験でした(特にakka-httpでは 1. 開発中に問題を見つける 2. 回避策をプロダクトコード中で実装 & 本家へPR送信 3. PRアクセプトされる 4. akka-httpの修正が取り込まれたバージョンがリリースされる 5. akka-httpをバージョンアップして不要になった回避策を削除 というサイクルを2度も行うことができました!)。

どのくらいコードを書いていたのかもう少し詳しい値を出したいと思って調べてみました。 まずプロダクト全体としてはScalaで約33,000行ぐらいあります。

find . -name "*scala" -type f | xargs -L 1 git blame | grep -E "(kazufumi|nishida|bigwh)" | wc -l

そのうちこれで自分が書いた行で現在のプロダクトコードで使われている行を出すとほぼちょうど2万行でした。 同様の方法で計算するともう1人のエンジニアの方で9,400行、すでに退職された方で4,000行なので妥当なラインかと思います。 実際のところリファクタリングや設計改善の中で消えていったコードがかなり有るので、実際に書いたコードはこの2倍以上はありそうですね。 僕が作成者のPRが430個あったので、僕自身の純粋なコードアウトプットは15ヶ月で430PR 4万行程度とすると 1日平均1.3PR 122行追加 + α1になります。 これは結構書いているんじゃないかな(イキリ。

最後に謝辞を。 この会社には本当に感謝しています。割とボロボロだった前社退職時からこの会社に入ることでコーディングの楽しさや開発の難しさを再確認したりスクラム開発の試行錯誤をすることができました。


  1. リポジトリが計算に入っていないため