Der lange Weg zur Meisterschaft

Was hat ein mittelalterlicher Handwerks-Meister mit einem asiatischen Kampfkunst-Meister gemeinsam?
Etwas ganz Entscheidendes: Die Art ihrer Ausbildung.

Grundlagen lernen

Jeder fing als Lehrling an und folgte den Anweisungen seines Ausbilders. Er lernte die grundlegenden Techniken und übte sie so lange und so oft, bis er sie „im Schlaf“ beherrschte.

    Diese Ausbildungsphase war dann beendet, wenn der Lehrling ein Gefühl für die richtige Ausführung der Techniken entwickelt hatte. Damit war er kein Lehrling mehr, sondern Geselle.

    Techniken vergleichen

    In der zweiten Phase der Ausbildung ging der Geselle auf Wanderschaft, auf die „Walz“. Er zog in andere Gegenden und lernte andere Techniken von anderen Meistern kennen.

      Seine Aufgabe bestand darin, die neuen Techniken mit seiner ursprünglich erlernten zu vergleichen:

      • Welche Lösungen bieten sie für die typischen Probleme?
      • Was funktioniert besser und warum?
      • Funktionieren die neuen Techniken immer oder nur in bestimmten Situationen?

      Vorgehensweisen situativ anpassen

      Wurde auch die Gesellenzeit erfolgreich abgeschlossen, dann hatte man sich nicht nur konkretes Technik-Wissen erarbeitet, sondern auch „Meta-Wissen“:
      • Welche Technik funktioniert wann und warum.
      • Welche Probleme und Problemlösungen führten zu den einzelnen Techniken.

      Mit diesem Meta-Wissen war man in der Lage, auf neue Aufgaben angemessen zu reagieren: Indem man die passende Technik auswählte oder entwickelte. Man war ein Meister auf seinem Gebiet geworden.

      Unsere Fachgebiete

      Auch wir bemühen uns um Meisterschaft in unserem Beruf. Besonders erfolgreich waren wir dabei in folgenden Gebieten:

      Programmiersprachen

      Gestartet mit den prozeduralen Sprachen Fortran, Pascal und C, arbeiteten wir in den Jahren danach mit den objektorientierten Sprachen C++, Java und C#.

        In letzter Zeit setzen wir zunehmend die funktionalen Sprachen Scala und F# ein.

        Architektur und Design

        Objektorientierte Architektur- und Designtechniken, die Verwendung von UML und Design Pattern sind zurzeit absoluter Industriestandard.

          Dadurch gerieten ältere, durchaus auch interessante Techniken wie Datenzentriertes Design etwas in Vergessenheit. Mit der zunehmenden Verbreitung von funktionalen Konzepten wächst aber wieder die Bedeutung dieser Designansätze.

          Entwicklungsprozesse

          Inzwischen gibt es in der Softwareindustrie eine ganz Menge von Entwicklungsprozessen: V-Modell, Unified Prozess, Extreme Programming, Scrum und viele mehr. Und jedes Fan-Lager preist seinen Prozess als das universelle Heilmittel an.

            Dabei gilt gerade bei Prozessen: Für jedes Problem ist der Prozess der beste, der individuell auf das Problem angepasst wurde.

            Zu unseren Schulungen

            Zum Nachdenken

            • Warum ist das (objektorientierte) Visitor-Pattern in einem funktionalen Design nicht notwendig?
            • Wann gibt es endlich eine wirklich gute Lösung für das Problem des OR-Mappings?

            Die Antworten darauf erfahren Sie in unseren Schulungen zur funktionalen Programmierung.

            Zu unseren Schulungen