Ein guter Programmierer schreibt funktionierenden Code. Ein guter Softwareingenieur löst das richtige Problem ganzheitlich — er trägt Verantwortung für Anforderungen, Design, Tradeoffs, Wartbarkeit, Tests, Betrieb und den geschäftlichen Kontext des Codes. Engineering ist Code plus Urteilsvermögen plus Verantwortung über den gesamten Lebenszyklus.
Wo die Grenze wirklich liegt
Code zu schreiben, der die Tests besteht, ist der einfache, erlernbare Teil. Der schwierigere, wertvollere Teil ist alles rundherum: die Entscheidung, was gebaut werden soll, wie es sich ins System einfügt, und was es kostet, später damit zu leben.
