1) Die Business Apps Farce :
Ich denke, dass das ganze "Enterprise" -Framework Rauch und Spiegel sind. J2EE, .NET, die meisten Apache-Frameworks und die meisten Abstraktionen zur Verwaltung solcher Dinge verursachen weitaus mehr Komplexität als sie lösen.
Nehmen Sie ein normales Java- oder .NET-ORM oder ein vermeintlich modernes MVC-Framework, das "magisch" ist, um mühsame, einfache Aufgaben zu lösen. Am Ende schreiben Sie riesige Mengen an hässlichem XML-Boilerplate, das schwer zu validieren und schnell zu schreiben ist. Sie haben massive APIs, von denen die Hälfte nur dazu dient, die Arbeit der anderen APIs zu integrieren, Schnittstellen, die nicht recycelt werden können, und abstrakte Klassen, die nur benötigt werden, um die Inflexibilität von Java und C # zu überwinden. Das meiste brauchen wir einfach nicht.
Wie wäre es mit all den verschiedenen Anwendungsservern mit ihrer eigenen verdammten Deskriptorsyntax, den übermäßig komplexen Datenbank- und Groupware-Produkten?
Der Punkt dabei ist nicht die Komplexität == schlecht, sondern die unnötige Komplexität == schlecht. Ich habe in massiven Unternehmensinstallationen gearbeitet, in denen ein Teil davon erforderlich war, aber selbst in den meisten Fällen sind nur ein paar selbst erstellte Skripte und ein einfaches Web-Frontend erforderlich, um die meisten Anwendungsfälle zu lösen.
Ich würde versuchen, all diese Unternehmensanwendungen durch einfache Webframeworks, Open Source-DBs und einfache Programmierkonstrukte zu ersetzen.
2) Die n Jahre Erfahrung erforderlich:
Wenn Sie keinen Berater oder Techniker benötigen, um ein bestimmtes Problem im Zusammenhang mit einer Anwendung, API oder einem Framework zu lösen, benötigen Sie nicht wirklich jemanden mit 5 Jahren Erfahrung in dieser Anwendung. Was Sie brauchen, ist ein Entwickler / Administrator, der die Dokumentation lesen kann, der über Domänenkenntnisse in allem verfügt, was Sie gerade tun, und der schnell lernen kann. Wenn Sie in einer Sprache entwickeln müssen, wird ein anständiger Entwickler diese in weniger als 2 Monaten erlernen. Wenn Sie einen Administrator für den X-Webserver benötigen, sollte er in zwei Tagen die Manpages und Newsgroups gelesen haben und auf dem neuesten Stand sein. Alles andere und diese Person ist nicht wert, was sie bezahlt.
3) Der gemeinsame Lehrplan für "Informatik":
Die Mehrheit der Abschlüsse in Informatik und Softwaretechnik sind Bullen. Wenn Ihre erste Programmiersprache Java oder C # ist, machen Sie etwas falsch. Wenn Sie nicht mehrere Kurse voller Algebra und Mathematik erhalten, ist das falsch. Wenn Sie sich nicht mit funktionaler Programmierung befassen, ist diese unvollständig. Wenn Sie keine Schleifeninvarianten auf eine triviale for-Schleife anwenden können, sind Sie als vermeintlicher Informatiker Ihr Geld nicht wert. Wenn Sie Erfahrung in x- und y-Sprachen und Objektorientierung haben, ist es voller S ***. Ein echter Informatiker sieht eine Sprache in Bezug auf die Konzepte und Syntaxen, die er verwendet, und sieht Programmiermethoden als eine von vielen an. Er hat ein so gutes Verständnis für die zugrunde liegenden Philosophien, dass beide Sprachen, Entwurfsmethoden oder Spezifikationssprachen auswählen sollten trivial sein.