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

An der Bash verschwimmen die Grenzen. Ich bin nicht sicher, wie viel subjektive Beobachtungen ich hier jetzt breittreten darf oder sollte, aber ein Beispiel: Ich habe schon gesehen, wie ein Shell-Script einen Docker-Container hochfährt, in dem Docker-Container ein Shell-Script startet, das mit Python per Regular Expression in einer JavaScript-Datei eine String-Ersetzung durchführt, und die resultierende JavaScript-Datei mit GZip in ein Archiv packt, das für die Ausführung benötigt wird. Das ist nur eine Facette, vielleicht ein kleiner Auswuchs, aber mein Gesamteindruck ist, dass die Infrastrukturen, auf denen - etwas theatralisch formuliert - unsere Gesellschaft aufbaut, teilweise zumindest etwas wackelig und unausgegoren sind (und die Rechtfertigung: „das ist eine „““„pragmatische Lösung“„“" " bewirkt bei mir oft nur noch verständnisloses Kopfschütteln)

Das Augenzwinkern hier mag im ersten Moment angebracht erscheinen. Und ich glaube (und das ist nicht mal direkt ein subjektiver Eindruck, sondern vielleicht nur eine subjektive Vermutung), dass manche Leute ~„sich irgendwie nerdig-cool fühlen“, wenn sie irgendwelche halbgaren Libraries zusammenklöppeln und dann nur noch damit beschäftigt sind, die, die sich als „schlecht“ herausstellen (oder einfach „out“ sind), aus der Infrastruktur rauszuschälen und durch eine neuere zu ersetzen, die gerade „in“ ist.

(Für NodeJS und sowas wie Express gilt das in dieser Form wohl nicht. Das hat sich ja wohl schon festgerüttelt. Es geht eher um alles, was darauf aufbaut oder daran anklinkt, und was „nach oben hin“ immer wackliger zu werden scheint)

Trotzdem denke ich, dass mit abnehmender Spezialisierung praktisch zwangsläufig die Qualität an allen Stellen leidet. Die Schnittstellen sind „nicht mehr so gut“. Der Code ist „nicht mehr so gut“. Der build-Prozess und das Deployment sind „nicht mehr so gut“. Weil einfach bei all diesen Punkten gute Lösungen extrem aufwändig sind und viel Erfahrung verlangen. (Das mag OK sein, für Fälle, wo „die 64%-Lösung“ ausreicht, aber ich glaube, dass sich das an vielen Stellen recht schnell rächen wird).

Dem entgegen wirken kann/könnte man nur, wenn man gezielt daruf hinarbeiten würde, die einzelnen Teile leichter handhabbar und „robuster“ zu machen. Aber dem stehen hohe Volatilität, Fragmentierung und kurzfristiges Denken und Handeln im Weg.

Ich glaube, dass es für reine „Programmierer“ immer weniger Verwendung gibt. Es gehört zum Job zu wissen, auf welcher Infrastruktur meine Anwendung läuft. Es gehört zum Job zu wissen, wie die Last skalieren muss und welche Infrastruktur dafür sinnvoll ist. Genauso gehört es zum Job, ob eine Oracle für die Anwendung richtig ist, oder doch eher eine Elasticsearch o.ä.

Das muss natürlich nicht nur eine Person wissen. Das muss das Team aber wissen. Das bedeutet, dass es im Team auch immer mehr Leute gibt, die sich betrieblich auskennen.

Speichernutzung, CPU-Last, Datenbank, robuste Kommunikation, Resilienz. Das sind alles Themen, die sowohl den Betrieb als auch die Entwicklung interessieren sollten. Und diese beiden Parteien sollten miteinander arbeiten und sprechen können. Das bedeutet nicht, dass die Hauptaufgabe eines Entwicklers die Konfiguration eines Apaches oder nginx ist, aber man sollte in der Lage sein, die Probleme dahinter zu verstehen.

Ich kann mit reinen „Programmierern“ immer weniger anfangen. Engagierte Leute schauen dann (meiner Erfahrung nach) weiter über den Tellerrand und machen sich über Betrieb und Deployment Gedanken.

Was meinst Du denn mit Qualität? Wo genau soll diese leiden? Das muss ja nicht immer eine Person alleine stemmen. Und natürlich kann und darf man sich auch Spezialisieren. Man kann sicher nicht in allem perfekt sein. Aber helfen können, sollte man sich.

Ich kenne noch die Zeiten, wo das Thema DB, Performanz und ähnliches immer an den Betrieb abgegeben werden konnte. Das ist (imho) mittlerweile häufig nicht mehr der Fall. Und von einer schwindenden Qualität kann ich nicht mehr sprechen. Im Gegenteil. Die Anwendungen werden robuster - gerade weil man bei diesen Themen mit eingebunden und verantwortlich ist.

Nun, die Frage nach der Qualität könnte man auf unterschiedlichSTen Ebenen beantworten, mit unterschiedlichSTen Detailstufen.

Ganz platt: Wenn man als Programmierer 6 Stunden programmiert und 2 Stunden deployt, ist das, was man in den 6 Stunden macht, fast(!) schon zwangsläufig „besser“, als wenn man nur 2 Stunden programmiert, 2 Stunden Dockert, 2 Stunden Proxies konfiguriert und 2 Stunden deployt. Aber da kommt es dann vielleicht auch drauf an, welchen Anspruch man an sich und seine Arbeit hat :sunglasses: :wink:

Aber mal im Ernst: Wenn Leute, die an der Uni ein bißchen was mit JavaScript gemacht haben und sich jeden Tag stolz die download-Zahlen ihrer grandiosen NPM-Lib mit dem namen „rightpad“ ansehen nun „plötzlich“ „nebenbei“ mal einen nginx oder DB-server konfigurieren müssen, braucht es einen nicht zu wundern, wenn (und sei es nur aufgrund mangelnder Erfahrung) dann irgendwas suboptimal läuft, oder im ungünstigsten Fall eine Sicherheitslücke im System klafft, und die ganzen Admins, wenn sie dann die Schlagzeiele über den neuesten Datenklau und das daraufhin pleite gegangene Unternehmen auf Heise lesen, entsetzt aufschreien: „Booah, wie kann man nur so blöd sein und bei MongoDB für Client- und Member-x.509-Zertifikat die gleichen O/OU/DC verwenden?“ oder „Wahnsinn, die haben in der nginx.conf .php per fastcgi_pass ans backend geschickt, die sind ja komplett bescheuert!“.

Aber so läuft das heute wohl. Alles gut.

TODO: Bezug zwischen Threadtitel und Spiderman herstellen

Das ist schon wirklich platt. :slight_smile: Es muss ja nicht jeden Tag „gedockert“ werden. Die Automatisierung einer Deploymentpipeline kostet sicherlich Zeit und Geld, wird aber mittlerweile wirklich gut durch Tools unterstützt. Und Proxies müssen auch nicht die ganze Zeit konfiguriert werden. Und wie gesagt: das Wissen muss auch nicht bei jedem Einzelnen liegen, sondern im Team.

Aber wenn z.B. mein Dienst nicht erreichbar ist, sollte ich schon die Möglichkeiten haben, das Problem zu verstehen und analysieren zu können. Früher war es normal, dass der Entwickler sagte „Ich habe mein WAR und gut“. Heute ist das nicht mehr so. Wenn ich 100 Microservices aufsetze und alles gegen eine DB geht muss ich schon wissen, dass es Probleme mit dem Connections geben kann.

Die Grenze zwischen Betrieb und Entwicklung ist nicht mehr so streng wie vor 10 Jahren.

(natürlich alles meine persönliche Meinung)

Vielleicht liegt es daran, dass ich hier irgendwas überbewerte. Natürlich kann es nicht schaden, wenn das Wissen breiter gestreut ist (vgl. Truck Number – Wikipedia ). Aber es geht nicht nur um Wissen, sondern auch um Verantwortung. Aber wer will die schon :roll_eyes:

Das stimmt und ist nicht grundsätzlich falsch. Aber zu erwarten, dass jemand von der Uni kommt, und dann eine REST-basierte Anwendung mit NodeJS/Express in Docker-Containern in die AWS-Cloud bringt und den NGING-Proxy richtig konfiguriert, damit man per React-Interface auf den Service zugreifen kann, ist schlicht lächerlich-naiv und aus meiner Sicht ist es dann nur eine Frage der Zeit, bis es irgendwo kracht.

(Vermutlich würden viele ~~„„das irgendwie hinkriegen““, (stackoverflow sei dank :roll_eyes: ), aber das Ergebnis wäre sicher auf allen erdenklichen Ebenen und in jeder erdenklichen Hinsicht „nicht gut“. Entgegen anders lautender Gerüchte und ganz bewußt entgegen der vermeintlichen (!) Evidenz, dass es anders ist, denke ich immer noch, dass man zumindest ein bißchen Ahnung von dem haben sollte, was man tut, und sich bei seinen „„Erfolgen““ nicht auf ein geradezu verspielt-gespielt-geekiges „Yeeaaah, ich hab’s zum Laufen gekriegt“ berufen sollte…)

Naja, klingt nicht viel schlimmer, als ein Entwickler und ein Admin (die schlechter ausgebildet sind als der eine Entwickler, damit sie zusammen nicht mehr Gehalt kosten), welche das ganz altmodisch umsetzen und dabei kein Mal miteinander reden :wink:

Ich bezweifle, dass das irgendwer gänzlich anders sieht.
Es geht bei DevOps ja auch gar nicht darum, irgendwen mit Ahnung loszuwerden, sondern einfach die strikte Trennung aufzuheben. In obigem Beispiel kann der Admin trotzdem noch beim Konfigurieren des Docker-Image, des AWS-AMI und des NGINX involviert sein.

Das „kein Mal miteinander reden“ ist am unteren Ende des slippery slope, aber damit natürlich genau passend, zu dem, was ich geschrieben hatte :smiley:

Vielleicht geht es dabei viel um die ungeklärte Frage, auf welcher Ebene man sich spezialisiert, oder welche Ebene für die eigene Arbeit und die (wenn auch recht abstrakte) „Qualität“ der Ergebnisse relevant ist. Noch abstrakter könnte man „Qualifikationen“ als Gausskurven in verschiedenen Dimensionen sehen, und sagen, dass es nur um die Frage geht, welche der Kurven sich in welchem Individuum wie überlagern.

Als Suggestivbeispiel: Ich könnte zwar keine docker-compose.yml from scratch schreiben, aber eine Swing-Anwendung, die einen Temperaturverlauf als LineChart zeichnet (und auch wenn ich da schon recht aus der Übung bin glaube ich, dass ich mit einem Texteditor Code schreiben könnte, in dem dann nicht irgendwo ein Semikolon fehlt oder so…). Ich weiß zwar nichts von NGINX, aber habe eine recht genaue Vorstellung davon, wie viele aaload-Instruktionen im bytecode einer Methode vorkommen, die ich schreibe. Und wenn ich ein interface definiere, überlege ich, ob das nun ein Monoid, eine Gruppe oder ein Ring ist. Relevant? Nein. Leider. Aber so ist das eben.

Allgemein wird wohl kaum jemand widersprechen, wenn ich sage, dass jede Anforderung, d.h. Aufgabe, deren Erledigung einerseits schlicht Zeit benötigt, andererseits aber auch eine Qualifikation erfordert, die man sich erstmal draufschaffen muss, bewirkt, dass für die Kernaufgabe von Softwareentwicklern (und für die, denen das nicht klar ist: Das war mal „Software entwickeln“) weniger Zeit übrig bleibt, und das sehr negative Konsequenzen haben kann.

Generell stimme ich dir da zu.

Wenn ich mich so umsehe mit Facebook, Amazon, eBay, den ganzen Onlineshops, Portalen um einen Urlaub zu buchen oder jemanden zu suchen der mir den Umzug macht usw. usf. komme ich zum Schluss, das es so anscheinend gut genug ist.
Wenn wir mal ehrlich sind, stirbt niemand selbst wenn es schwere bugs gibt bei dieser Art SW, wird ja weder im Kernkraftwerk eingesetzt noch heilt man Krebs, wobei letzteres immer im Bereich des Moeglichen liegt.

In diesem Umfeld laesst man neue Features etc. erst auf einen kleinen Teil der Anwender/Maschinen los und sieht sich dann an was so passiert.

Wenn man Spezialisten fuer bestimmte Bereiche hat, bekommt man ausgefeiltere Loesungen, oft braucht man fuer die Wartung und Erweiterung dieser Systeme dann aber eben auch Spezialisten, enn nicht gar ein ganzes Team :wink:
Wenn man zB. jetzt ein Team hat dass nicht nur auf Builds und Releases spezialisiert sind sondern auch Features machen, werden diese oft einfachere Systeme bauen die sich einfacher warten und erweitern lassen, zumindest ist das die Hoffnung.
Trotzdem gibt es spezialisierte Teams („Gilds“) in groesseren Firmen fuer B&R, in einem 10 Kopf Startup mit 4,5 Entwicklern ( inkl. einem Praktikanten und einem teilzeit Coder), sieht es da schon anders aus.

Will das hier eigentlich gar nicht zu einer Diskussion von fuer und wider DevOps etc. machen, denn DevOps passt nicht ueberall, Desktop SW ist nicht tot, nur im Moment etwas weniger hipp, wird in der einen oder anderen Form wiederkommen.

Ja, und wenn Facebook Daten weitergibt, ist das ja ohnehin kein versehentliches Datenleck, sondern Absicht :smiley: Mal im Ernst, es gibt natürlich schlimmeres, aber teilweise klaffen wohl schon einige Sicherheitslücken an den verschiedensten Stellen. Und (auch wenn sich das jetzt auf eine andere Ebene begibt) wünsche ich dir, dass du nie eine Anwendung warten musst, die jemand im MERN-Stack zusammgebastelt hat, der da zwar wie ein Mistkäfer am Ende ein schöne, rundes Docker-Päckchen draus gemacht hat, was im Kern aber eben doch das bleibt, was es ist - nämlich Mist.

Aber sicher, vielleicht sehe ich das zu kritisch. Ich hatte ja schonmal überlegt, ob ich versuchen sollte, optimistischer zu sein. Aber das würde ich vermutlich eh nicht schaffen :(

Mittlerweile soll es ja String-Padding geben. Kein padleft mehr nötig. Nennt sich aber padStart und padEnd. ECMAScript 2017.

Aber nachdem ich diese Stellenanzeige hier gelesen habe, (Node.js Backend-Webentwickler (m/w) als Aushilfe) und man da nur nach einer Aushilfe sucht, ja dann kann das ganze doch garnicht so schwierig sein. Wird wohl auch nicht schwieriger sein, als ein Flugzeug zu fliegen oder einen Zug zu führen. Die suchen auch ständig Aushilfen. :clown_face:

Den Punkt „Schnelle Verantwortungsübertragung“ fand ich da jetzt lustig. Das klingt nach dem, was ich im letzten Absatz geschrieben hatte, mit dem „Sahnehäubchen“ "Du bist schuld wenn’s kracht! oben drauf :smiley:

Über manche Sachen denke ich da schon viel nach. Vor einiger Zeit hatte Landei ja mal beiläufig Elm erwähnt (Elm angetestet) und dort hatte ich schon das Bild verlinkt, das mir in ihrem „Manifest“ ( http://www.elmbark.com/2016/03/16/mainstream-elm-user-focused-design ) besonders aufgefallen ist:

http://www.elmbark.com/assets/images/posts/1/010.png

Und ich bin mir sicher, das das stimmt. Ein Haufen minderqualifizierter Leute, die JavaScript gelernt haben, weil sie auf ihrer geocities-Webseite einen Glüh-Effekt über einen Button legen wollten, und die bei dem Wort „Schnittstelle“ an das denken, was ihnen gestern passiert ist, als sie mit einem scharfen Messer einen Apfel schälen wollten, drängt jetzt als vermeintliche „JavaScript Seniors“ (weil sie ja schon alt sind, und das schon lange machen :roll_eyes: ) in die Firmen, wo sie Verantwortung für Serverseitige Software mit NodeJS übernehmen, und in einer ungetypten (und, da habe ich noch nie gehört, dass jemand widersprochen hätte: ) von Grund auf vermurksten Sprache aus Bibliotheken, die ihresgleichen auf NPM gestellt haben, irgendwelche Webanwendungen zusammenklöppeln.

Ich bin mir sicher, dass das so ist. Wo ich mir aber nicht sicher bin: Ob das ein Problem ist. Der „Churn“ scheint so weit antizipiert zu sein, dass heute irgendwas entwickelt wird, was schon während des Entstehens Legacy-Code ist, aber morgen wird das ganze eh mit einem anderen Tech-Stack und einem anderen JavaScript-Framework von einer anderen Firma neu aus dem Boden gestampft.

Vielleicht ist die Quintessenz also: Alles Sche!ße, aber das ist egal :no_mouth:

Vielleicht etwas OT. So ein MERN-Stack ist ja für einen Anwendungsfall zugeschnitten.
Zentrale Datenbank, Webserver und SPA im Browser.

Aber wie sähe denn ein Stack aus den du für so einen Fall auswählen würdest?

So ein Gedanke, den ich habe ist der:
In der Medizin muss man Latein können. Macht prinzipiell ja keinen grossen Sinn. Der Gedanke dahinter könnte sein, wer es schafft Latein zu beherrschen, hat wohl noch soviel Restintelligenz zur Verfügung, dass er auch Arzt werden kann.

In der Kirche ein ähnliches. Lange Zeit war alles in Latein oder Altgriechisch. Um die Interpretationshoheit bei der Kirche zu behalten, die das ja konnten. Lutherbibel, die Übersetzung auf Deutsch, war ja ein Frevel, der es jedem ermöglichte sich selbst zu (re)-(in)formieren.

Wenn jetzt durch entsprechende Tools, Sprachen etc. jeder, auch ohne ein Informatikstudium oder die entsprechenden Grundlagen, programmieren kann, dann ist das einerseits toll, andererseits hat man das Problem wenn man das ganze Warten/Reparieren soll und bekommt eine ganz andere Einstellung dazu.

Aber ein Arzt hat da ein ähnliches Problem, wenn er einem Hypochonder mit Internetanschluss erklären muss, dass er wirklich kein Lepra hat.

Vielleicht ist auch Youtube schuld, dort findet man zu jedem Thema ein Video, dass einen zum Profi macht.

Ist das eine Pflicht, miteinander zu reden?
Oder mal anders dargestellt, würdest du es auch schaffen, ein paar Minuten Schweigen zu überbrücken?
(Viele können das übrigens nicht.)

Es gibt inzwischen auch bessere Nachfolger von Legacy-Code.

Wo ist da denn jetzt der Zusammenhang zwischen Latein und „MERN“-Stack, und Latein und… eh… „Anwendungsfall“?


Irgendwie finde ich das überspitzt, daneben und am Thema vorbei von euch - außerdem zu viel Geplänkel. Zugegeben - nicht alles in diesem Thema gelesen usw.

Es geht hier ja schon um Asm vs. C vs. Java vs. JavaScript (Reihenfolge der Aufzählung spiegelt jetzt NIX wieder). Ursprünglich ging es doch um gute Entwickler, Trolle und Quietscheentchen… Ich finde…, das ist keine Einladung für Albernheiten.

Glaubst du, wenn die Beteiligten Entwickler nicht miteinander kommunizieren, kommt auch nur ein Ansatzweise funktionierendes Produkt heraus?

(und nein, ich schweige nie, ich laber die ganze Zeit irgendwelchen Unsinn :man_shrugging: )

Ich glaube einfach, dass die Qualität massiv zugenommen hat. In den 90er sind umgeschulte Lehrer zu IT Spezialisten aufgestiegen und sitzen heute in den oberen Etagen von zig Unternehmen. Persönliche Erfahrung in der Familie. Da wurde halt auf Win 95 ein bisschen C Code geschrieben, weils keine Stellen als Lehrer gab und keine ITler. Siemens hat z.B. massiv umgeschult. Heute reicht es nicht mehr nur ganz gut coden zu können. Man braucht mehr Blick “über den Tellerrand” um die immer komplexeren Prozesse verstehen zu können. Dafür braucht man aber auch einfach Erfahrung und die Bereitschaft sich immer weiter zu entwickeln. Und wenn ich heute noch mit Admins zu tun habe, die sich beschweren, warum man irgendwelche “Sicherheitslöcher” aufmachen muss um Produktiv zu bleiben, dann wird kurz der Kreislauf “Produkt” -> “Gewinn” -> “Gehalt” angesprochen. Die IT ist nicht nur räumlich insgesamt aus dem Keller in die Geschäftsräume gezogen (zumindest bei allen Unternehmen die ich so kennengelernt habe), die Prozesse werden auch vielfach von der IT mitbestimmt. Da ist ganz viel Kommunikation und Verständnis nötig.

Thema JS: Ja ist Mist, aber es funktioniert und bringt teilweise doch erstaunlich tolle Anwendungen hervor. Die Leute die das machen sehen die Nutzbarkeit als oberstes Gebot…ist auch ok. Ein gutes Produktmgmt hat Apple groß gemacht. Die Sicherheit kommt dann vll. später, ist aber nicht nicht immer unbedingt notwendig.

Der Stack an sich mag „gerechtfertigt“ sein, da maße ich mir kein Urteil an. Wenn eine triviale CRUD-Anwendung in 10 Microservices zerstückelt und in 8 Docker-Containern quer über die Welt verteilt wird, gibt es zwar einen Punkt, wo ich mir denke: „Das KANN so nicht richtig sein!“, aber wo genau dieser Punkt liegt, darüber kann und will ich nicht streiten.

Einiges von dem was ich vorher gesagt hatte, bezog sich gerade auf den Punkt der Wartbarkeit: Die Tools suggerieren Teilweise einen Abstraktionsgrad und eine Einfachheit, die in der Praxis nicht gegeben ist. Wenn man sich irgendein Tutorial ansieht, wo dann direkt in einem REST-Call per hartverdrahteter URL auf eine lokale MongoDB zugegriffen wird, sieht es so aus (und wird manchmal suggeriert) dass man „Mit 20 Zeilen eine MERN/CRUD-Anwendung erstellen kann“. Die möglichen Probleme sind dann:

  • Manche machen das, und was rauskommt, ist Murx
  • Manche merken, dass es eben nicht so einfach ist, und machen dann das, was man stattdessen machen muss (Services, Proxy, Config, Docker) obwohl sie keine Ahnung haben, wie man das „gut“, „richtig“ und vor allem wartbar macht, und was rauskommt, ist Murx

Das mit dem Latein kann ich aber auch gerade nicht einordnen.

Die Situation von heute mit der in den 90ern zu vergleichen ist etwas unangebracht. Die Geschäftsmodelle und (unabhängig von den Modellen auch) die Geschäftsprozesse und die für diese Prozesse benötigte Infrastruktur ist überhaupt nicht vergleichbar. Man kann jemandem, der 1990 C Programmieren gelernt hat keinen Vorwurf machen, wenn er mit Docker erstmal nicht direkt was anfangen kann (und wie sehr man erwarten kann, dass derjenige da „auf dem Laufenden“ bleibt hängt stark von seiner Rolle ab (und auch von seinen persönlichen Zielen)).

EDIT: Nur weil der erste Artikel auf Heise gerade recht gut zu einigem passt, was ich oben gesagt hatte:

Du hast mich da falsch verstanden. Ich meinte, dass früher die Anforderungen einfach viel(!) geringer waren als heute. Sicherheit? Geschenkt. Wartbarkeit? Geschenkt

Wenn man sich Überbleibsel aus dieser Zeit anguckt, sind die Sicherheitsrisiken heutiger Software ein Witz dagegen. Nur entweder sind die alten Anwendungen weg vom Fenster oder sie sind ganz tief im Innern verborgen und werden gut geschützt. Oder es ist so wie beim SS7 Netz…es ist kacke…aber wir haben nicht besseres.

„Works as designed“ :wink:

Ich hab schon Leute mit 30+ Jahren und 0 Jahren Erfahrung pfuschen gesehen, da war dann die Programmiersprache egal.

Denke dass man da wirklich unterscheiden muss.

„IT“ im Sinne von Windows Admin (dem Manager sein Word/Outlook?PowerPoint konfigurieren, „Have you tried to turn it off & on again?“), Neztwerkadmin („Kabellutscher“), oder einem Spezialisten fuer AI/Machine Learning, dem Frontendentwickler der auf react schwoert („its from Facebook, its awesome“), usw. usf.

Die Bandbreite ist da enorm, zB. selbst wenn nicht jeder alles gleich gut koennen muss bei DevOps, sollte jeder zumindest wissen wie die Abhaengigkeiten so sind.

Tatsache ist: Das war schon immer so.

Das braucht man auch keinen „allgemeinen Kulturpessimismus“ dazugeben, zB. VW hat seine Kunden belogen & betrogen, Facebook & Google verdienen sich dumm & daemlich mit Werbung & unseren Daten, die Forschungsabteilungen bei oeffentlichen Instituten bringen nix ausser Geld zu verbrennen, SAP arbeitet nach dem Prinzip „wenn Tumore sich so schnell festsetzen und verbreiten koennen, dann koennen wir das auch“, jede Firma braucht „IT’ler“, viele wollen die aber nicht fest einstellen, Zeit-/Leiharbeitsfirmen schimpfen sich „Consultancies“…

Nichts davon ist neu.

„The way you see the world says nothing about the world and everything about you“

:wink:

Muss zugeben dass ich mich persoenlich immer weniger fuer „IT“ bzw., SW Entwicklung interessiere, speziell in meiner Freizeit mache ich da nix mehr, seit langem, vielleicht schaffe ich es dass mein jetztiger Job mein letzter IT Job ist, wenn nicht ganz, dann zumindest als Festangestellter.

Der angesprochene „Churn“ hat aber zugenommen, und es wird meinem Eindruck nach immer weniger Wert auf Dinge gelegt, die ich eigentlich für wichtig halte.

Es mag abgedroschen klingen, aber … wenn ich heute in meinem C:\Develop\Old\__backup\fromPentium2\_old-Verzeichnis eine myFirstAwtProject_backup_0021.zip finde, dann packe ich die aus, mach’ sie in Eclipse auf, in dem Moment ist sie auch schon compiliert und dann kann ich sie starten.

Wenn heute jemand ein Projekt übernehmen soll, das mit Angular, AngularJS, Angular2 o.ä. geschrieben ist, dann ist der - und das muss man so profan sagen - gefickt, wenn er eben nur React kennt. Alles, was dann gemacht werden kann, wird im Endeffekt darauf rauslaufen, das ganze neu zu schreiben, mit dem Framework, das derjenige halt zufällig kennt, … bis er dann - wegen seiner langjähigen Erfahrung :roll_eyes: - zum Senior Level Organization Technology Head (SLOTH) befördert wird, und den Scheck unterschreibt, mit dem sein Nachfolger dafür bezahlt wird, das ganze dann mit VueJS neu zu machen, weil derjenige halt React nicht kennt.

Kurz: Nachhaltigkeit scheint keine Rolle mehr zu spielen.

(Und weil du auch von Forschunsabteilungen geredet hast: Nachhaltigkeit steht nicht im Kontrast zu Innovation. Im Gegenteil. Als jemand, der 10 Jahre in der „angewandten (IT-) Forschung“ gearbeitet hat, kann ich eines mit Sicherheit sagen: Da wird ein Haufen haarsträubender Müll produziert, der dann, „wenn das Projekt zuende ist“, in irgendeinem filer://archive/2012_InnovationCluster/Results_final.zip-Archiv landet. Dort von vornherein mehr Wert auf Nachhaltigkeit zu legen, würde den Transfer und die Nutzbarmachung der „Forschungs“-Ergebnisse für die Industrie sicher verbessern. Und vieles davon ist eben nur technisch Müll, aber nicht konzeptuell)

Klingt als würdest du auch bald Visitenkarten im 20:9-Format brauchen :smiley: