職業エンジニアを始めてから,ソフトウェア設計論についての議論が多く目につくようになりました.それらは,よいシステムを作るうえで有用である一方で,周りのエンジニアの向き合い方に違和感を覚えることも多いです. たとえば SOLID 原則や DRY / YAGNI や OOP / FP や TDD / DDD といったソフトウェア開発における作法や経験則が,あたかも絶対的な真理であるかのように語られ,コンピュータサイエンス的に正しい,アルゴリズムとしてこうあるべきだ,原則に従っていないので誤りだ,といった強い言葉で,システムやコードの良し悪しが断罪されるような光景です. 私はその違和感を,そのまま言葉にして投稿しました. これらの投稿には,思いのほか多くの反響がありましたが,同時に「CS 学部のカリキュラムに含まれているのだから CS だ」や「実用的な工学もサイエンスの一部だ」といった反論も寄せ

