Weil den Programmierern nicht befohlen wurde, dies zu testen, und ihnen die zermürbende Unternehmenskultur nicht genügend Spielraum gab, um ihren Sinn für Berufsethik einzubringen und ein paar Wochen Zeit zu beanspruchen, um nach Sicherheitslücken zu suchen. Oder darauf zu bestehen, dass sie von Anfang an sicher sind.
Weil der Chef aus irgendeinem Grund nicht ein paar zusätzliche Wochen damit verbringen wollte, nach Sicherheitsproblemen zu suchen. Ein zusätzlicher Bonus zum Jahresende. Es taucht Johnson aus der nächsten Abteilung auf. Prahlende Rechte. Pflicht gegenüber der Firma. Faulheit. Misstrauen gegenüber dem Rat des Untergebenen.
Weil der große Chef mehr Profit forderte und Johnson über Bob beförderte, weil seine Zahlen besser aussahen, als ein besseres Produkt zu fordern. Weil es schwierig ist, Qualität und Sicherheit in einer Tabelle anzuzeigen. Weil Unternehmen existieren, um Geld zu verdienen.
Solche Dinge sind ein systematisches Problem. Es läuft darauf hinaus, "weil sie Narren sind".
Edit
Programmierer können es vermeiden, die Opferziege zu sein, indem sie, wenn sie einen Mangel bemerken, die Angelegenheit ihrem Chef vortragen. Er wird entweder das Richtige tun und einen Plan erstellen, um das Problem zu beheben, oder Sie auffordern, ihn zu ignorieren. Wenn er es nicht repariert, machen Sie es offiziell, fragen Sie per E-Mail danach. Verwenden Sie für das Problem relevante Schlüsselwörter wie "Sicherheitslücke", "Injektion" und "Sicherheitsverletzung". Sachen, die eine E-Mail-Suche aufgreifen würde.
Dies ist das A und O. Es ist jetzt die Verantwortung Ihres Chefs. Wenn es wichtig ist, dass Menschen sterben, wenn diese Sache fehlschlägt, gehen Sie über den Kopf und bringen Sie das Problem zu seinem Chef. Sie können gefeuert werden, weil Sie nur den Bock übergeben haben, und Sie können immer noch gefeuert werden, auch wenn Sie ihn weitergeben, aber es ist das Richtige. Nicht ganz so richtig wie das eigentliche Beheben des Problems, aber nah dran.