レベルを上げすぎない方がいい
内容を端的に表現する良いタイトルが思いつかなかった。
- チーム開発
- ある程度の規模
- 工数にあまり余裕がない
- 人が流動的
上記のようなプロジェクトにおいてはコーディング、プログラミングのレベルを上げすぎない、時には落とした方がいいと最近感じている。
- 高度な設計
- モダンなイカしたライブラリ
- 新しい技術
など、いわゆる技術的チャレンジはエンジニアとしては心躍るやりがいがあるものだと思う。
一方、これらは学習コストが高く、適切に扱えなければバグを生みやすかったり、開発生産性が下がったりする。特に冒頭に挙げたようなプロジェクトにおいては顕著に現れる気がする。
強いリードエンジニアがいたり、ドキュメントをしっかり整備したり、ルールや規約を定めたり、ペアプロで知識を共有したりすればそのような状況は防げるかもしれない。
しかし、利用するライブラリの数を減らしたり、愚直なコードを書く方が手っ取り早く開発の質が上がる気がしている。(書いていて、かなり消極的で弱気な選択だなと思った。)
と、最近はこんなことを考えている。とりあえず、ぱっと見で理解できるシンプルなコードを書いていきたい。