歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【メモ】自分だけが仕様を理解してコーディングしているのがつらすぎる

最近、会社でプログラミングをしていてつらさしか感じません。

1人1人が独立してタスクを進めているため、仕様や実装の詳細を自分しかきちんと把握してません。 そのため、周囲と比べてスキルや経験に乏しい自分にとっては荷が重いと感じることがあります。

まず、仕様をわかっているのが自分だけなので、細かい部分まで相談できる相手がいません。 クラスの分け方に拡張性がなさそうとか、コードのデータ元が複雑で、仕様満たせてないんじゃないかという部分で悩んでいるのに、 レビュワーの先輩に伝わっていないので、「××メソッドを使ったほうがいいよ」というような、 (ちょっとしたプログラミングのスキルにはなるものの)仕様に対して本質的でないように思えるツッコミしかもらえません。

多分、自分にはコードレビューの前段階で、仕様書レビューのような段階が必要なんだと思います。 ただし、先輩は「そんなに大きなプロジェクトじゃないからあまり気にしなくていいよ」と言うだろうし、 自分以外は今の開発フローで上手くいっているので強く言い出せません。

(周囲は明文化されたものが無くてもコードが書けるので、自分にとっては超能力を使っているようにしか思えません。)

「好きなようにやっていいよ」と言われる割に、好きなようにやった場合のメリットやデメリットを考えられる機会がありません。 新規のリポジトリで開発をすることになり割と自由にできそうだったのですが、 もし後から入ってきた人に「なんでこのリポジトリだけRubyじゃないんですか?」と聞かれた時、 「Rubyでも問題なかったけど自分の趣味でそうなった」と説明するのは気が引けます。

そのため、結局既存のリポジトリの実装をできるだけ踏襲する形で実装しました。 これも、「小さいプロジェクトだからあまり気にしなくていい」と言われそうなのですが。

また、既存のコードがスムーズに読めません。 「ここのコードを読めばいいよ」とは教えてもらえるものの、 コードの中に微妙に見える部分があっても、 その時のプロジェクトの仕様によるものなのか、それとも「これくらいで大丈夫」と判断したものなのかすぐに判断つきません。 かと言ってそのままコピペするのは糞がやることなので、時間をかけて今の仕事に合うようにしています。

というようなことを話しても、「いやいや、あれくらい読んでもらえなきゃ困るよ」みたいな反応をされてしまうので、 改善できないか提案したくても躊躇してしまいます。 自分の伝え方も悪いとは思っているのですが。

「でも、次回からは同じ失敗はしなくなったでしょ?」と言われるものの、私はそう思えません。 (うまく原因は説明できないのですが)根本的な部分が治っていないし、 それを周囲に伝えていける能力もないように感じているので、 おそらく同じ失敗を他の部分で何度も繰り返すでしょう。

上司も「何かやりたいこと無い?」と言ってくれているのですが、 やっている仕事自体の目的や必要性はわかっているつもりで、仕事の内容自体に不満を感じているわけではありません。 ただ、独立したプロジェクトなのに思うように進められないのと、失敗している原因に対して対策できる気がしないことに落胆しています。