Effiziente Softwarelösungen in Java (J2SE/J2EE)

See this web site in   English
Accesaţi acest sit în Română

Kompetenzen

Sie finden hier eine kurze Aufzählung der Softwareentwicklungstools und -Technologien, mit denen ich bisher gearbeitet habe.
Die detailierte Liste finden Sie im Wordformat hier und im PDF-Format hier.

Programmiersprachen und Entwicklungsumgebungen
JEE/J2EE Application Server
Programmiertechnologien
Programmbibliotheken
Datenbanken Betriebssysteme
Andere Programme / Tools

Prinzipien

Im Rahmen meiner IT-Tätigkeit habe ich eine Reihe von Prinzipien entwickelt, nach denen ich mich täglich richte. Diese Regeln haben sich entlang eines langen und mühsamen Weges, mit Höhen und Tiefen und richtigen und falschen Entscheidungen (sei es von mir oder meine Kollegen) herauskristallisiert. Im Wesentlichen bestehen diese Prinzipien (Richtlinien) aus der Zusammenfassung der positiven und negativen Erfahrungen meiner bisherigen Tätigkeit.

Meine wichtigsten Prinzipien sind: Effizienz und Einfachheit.

Effizienz

Der Hauptzweck der Informatik ist die Erhöhung der Effizienz im Informationsmanagement. Dementsprechend könnten wir davon ausgehen, dass die Tätigkeit von Informatikern zu den effizientesten zählt. Umso mehr überrascht die Tatsache, dass in der Softwareentwicklung oft ineffizienter gearbeitet wird, als in anderen Branchen. Viele Softwareentwickler editieren Skriptdateien mit Notepad, vergleichen Verzeichnisinhalte manuell usw. Sie scheinen zu vergessen, dass für die Entwicklung effizienter Programme der Entwickler an erster Stelle effizient arbeiten muss. Nur so kann er die immense Menge an Arbeit unter Kontrolle halten, die die Realisierung einer Qualitätssoftware voraussetzt.

Auf diesem Prinzip basierend versuche ich permanent, die effizientesten Softwaretools für jede Tätigkeit in meiner täglichen Arbeit zu finden und zu benutzen. Mir ist bewusst, dass kein universelles Werkzeug (Entwicklungstool) exisitert, sondern lediglich gute Softwaretools für individuelle Tätigkeiten (tasks): "Best tool for the job".

Einfachheit

Motto: Weniger ist mehr

Bei der Arbeit an einem Projekt ist es immer besser, Produkte/Instrumente/Technologien zu benutzen, die man versteht. Je komplexer ein(e) Produkt/Instrument/Technologie ist, umso schwieriger es wird, diese(s) zu verstehen.

Wir kennen diese "Selbstverständlichkeiten" aus (eigener) Erfahrung, und sie gelten nicht nur in der Softwarebranche. Dennoch gibt es immer noch viele Software-Entwicklern, die sie immer wieder vernachlässigen. Das Ergebnis: es werden Softwareprodukte von einer unnötig hohen Komplexität "gebaut", ohne die Folgen dieser Tatsache auf die zukünftige Produktentwicklung mit in Betracht zu ziehen: hohe Wartungskosten, hoher Aufwand für neue Teamentwickler um das Produkt zu verstehen, Fehleranfälligkeit, schwierige Fehleranalyse, aufwändiges Refactoring und Implementierung von Change Requests, um nur Teile davon zu nennen. Dabei hätte das identische Produkt in einer erheblich geringeren Komplexität hergestellt werden können.

Deswegen versuche ich ständig die Komplexität der entwickelten Software so gering wie möglich zu halten, durch die folgenden Maßnahmen:


Programmiersprachen und Entwicklungsumgebungen


JEE/J2EE Application Server


Programmiertechnologien


Programmbibliotheken


Datenbanken


Betriebssysteme


Andere Programme / Tools