Magnolia Tech

いつもコードのことばかり考えている人のために。

『Googleのソフトウェアエンジニアリング』を読んでソフトウェアエンジニアリングとは何かを考える

なかなかのボリュームが有って、年末に買ったものの、ちょっとずつ拾い読みしながら進めています。

実は「1章 ソフトウェアエンジニアリングとは何か」という章が一番大事で、後の章は「問題を正しく認識して、正しいやり方で取り組むこと、取り組める組織を作り上げること」がテーマ別に書かれているので、興味に応じて読めばいいかなと思いますが、この1章だけは全員読んだ方がいいと思います。

冒頭の3行だけ引用します。

我々の見るところ、プログラミングとソフトウェアエンジニアリングの決定的な違いは3ある。時間、スケール、そして作用しているトレードオフだ。ソフトウェアエンジニアリングのプロジェクトにおいてエンジニアは、時間の経過と、結果的に出てくる変更の必然性に、より配慮しなければならない。

時間と共にコードを取り巻く環境もプラクティスも変わっていき、「なにもしていないのにこわれました」という価値観から「なにもしていないからこわれました」に変わってしまった現代において、時間と共に変わることへどうやって対応するか、そうやって継続性を保つだけでなく、スケールすることを求められる中で、どうやっていけばいいか、という話が本書には延々と書かれている。

でもきっと一番ダメなのは「この本にこう書かれていたので、こうすべきです」って言っちゃうことなんだろうなー、それこそ問題と向き合っていない、ということになるので。

というわけで、本書の感想戦をぜひやりたいですね。お待ちしています!