Joel Spolsky: "Die Power der Entwickler hat in den letzten Jahren dramatisch zugenommen"

Also eine Dockerfile, Jenkinsfile, Docker-Compose-File oder auch eine package.json sind für mich kein code. (Nicht alles, wofür es Syntax-Highlighting gibt, ist „code“ :stuck_out_tongue_winking_eye: )

Das „Kartenhaus“ war eine Anspielung auf meine Lieblings-Draufhau-Stelle, nämlich „leftpad“. Aber die Skepsis geht da schon etwas weiter: So, wie ich das sehe, ist es recht einfach, irgendeine Lib in die NPM zu bringen. Anforderungen gibt es praktich keine. Und so wie ich das sehe, wird da - und da verwende ich bewußt diese profane Formulierung - teilweise der letzte Rotz in die Welt gekackt. Und Leute verlassen sich dann darauf, und wissen nicht, welche Zeitbomben als schwächstes Glied in einer langen dependency-Kette ticken.

(Man könnte argumentieren: „Das ist bei der Maven Central genauso“. Aber auch wenn es man da einen Vergleich ziehen könnte, sollte jeder, der ein bißchen bescheid weiß, wissen, dass dieser Vergleich nur auf eine Antwort hinauslaufen würde: „Nein!“).

Insgesamt klingt das, was du sagst, als hättest du über einige Dinge einen Überblick und eine Kontrolle, die … nun, subjektiv, ja, aber … die man als Softwareentwickler gar nicht haben müssen sollte.

Wie schon oft an anderen Stellen gesagt: Jobs, bei denen man wirklich Software entwickelt, scheint es kaum zu geben. Da bleibt nur, so viel wie unbedingt nötig von dem Scheiß zu machen, für den man Geld kriegt, und das Programmieren dann in die Freizeit zu verlagern.

Das klingt nun recht abwertend, und bezieht sich ja auch nur auf Serverseitiges. Natürlich kann ein gewisses Verständnis über den Tellerrand hinaus nie schaden. Und man könnte darüber streiten, wie viel davon für die jeweils andere Seite notwendig sein sollte. Aber dem „Admin“ kann egal sein, ob der Programmierer irgendwo eine abstrakte Klasse oder ein interface verwendet, und dem Programmierer kann egal sein, welcher Port nun auf irgendeinem Kack-Proxy freigeschaltet ist oder nicht. Aufgabenteilung muss sein (vgl. Fullstack: Alles ein bisschen, nichts richtig? )