ソフトウェアエンジニアリングとは時間で積分したプログラミングである
Googleのソフトウェアエンジニアリング に出てくる言葉。
単にその場で動けばいいコードと、この先10年以上動かすであろうコードでは考えること(ライブラリ・OS・ハードウェア・言語のバージョンなど)が違う。
そこがGoogleでのソフトウェアエンジニアリングとプログラミングの区別の根本
ソフトウェアの持続可能性
t-wadaさんが何回か言及していたことで知った
「時間で積分した領域」には、まだ人の介在価値がある
『コードを書く』という瞬間的な行為は、AIがかなりのレベルで代替できるようになるでしょう。しかし、時間と共に要求が変化し、複雑性が増していく現実のソフトウェア開発においては、この時間軸を捉える『積分の視点』、つまりソフトウェアエンジニアリングが不可欠なのです」
fukabori.fmでAgantic Codingで開発に速度が出てくると、設計から設計の答え合わせまでのサイクルが早くなる。そのためより設計力が問われる的なニュアンスのことも話していた(大意・意訳なので要確認)
yana-gi.icon
プログラミングとソフトウェアエンジアリング、その違いを今まであまり意識したことがなかった
素人が練習がてら書くコードとプロが書くプロダクトのコード、「時間軸(持続可能性)を意識しているか」が一番大きそう
設計をしたり、設計の本を読むと未来のために考えることに実感が沸かないことがあったが、これからはより近い未来として捉えてみるとよさそう