優れたコーダーは動作するコードを書きます。優れたソフトウェアエンジニアは、正しい問題を全体的に解決します — 要件、設計、トレードオフ、保守性、テスト、運用、そしてコードの周囲のビジネスコンテキストを所有しています。エンジニアリングはコードとプラス判断とプラス全ライフサイクルに対する責任です。
本当の線はどこにあるのか
テストに合格するコードを書くのは簡単で、習得可能な部分です。より難しく、より価値のある部分は、その周囲のすべてです: 何を構築するか、それがシステムにどのようにフィットするか、そして後でそれとともに生きることにどのくらいの費用がかかるかを決めることです。
