Vorbereitung auf das Fachgespräch – Anwendungsentwickler-Podcast #63

Da viele Prüflinge großen Respekt vor dem Fachgespräch haben, gibt es in der dreiundsechzigsten Episode des Anwendungsentwickler-Podcasts einige Tipps zur Vorbereitung auf diesen Teil der mündlichen Prüfung.

Probeabo bei Audible (Affiliate)

Inhalt

Nachdem die schriftliche Prüfung geschafft ist, stehen viele Prüflinge vor der nächsten großen Aufgabe: der Vorbereitung auf die mündliche Prüfung. Nach der Projektpräsentation, die man komplett in der eigenen Hand hat, steht das mit Spannung erwartete Fachgespräch an.

Jedes Mal, wenn es wieder auf die Prüfungszeit zugeht, häufen sich die Fragen in den einschlägigen Foren:

Was werden die Prüfer fragen? Welche Themen kommen dran? Wie soll ich mich vorbereiten?

Um nicht immer wieder dasselbe erzählen zu müssen, schreibe ich im Folgenden mal zusammen, wie man sich sinnvollerweise auf das Fachgespräch vorbereiten sollte.

Mögliche Themen im Fachgespräch

Grundsätzlich können die Prüfer im Fachgespräch alle möglichen Themengebiete der Prüfung abfragen. Es gibt also nicht – wie häufig behauptet wird – eine Einschränkung auf die Themen des eigenen Abschlussprojekts. Man muss sich letztlich auf alle potentiellen Themen vorbereiten. Aber das hat man als Prüfling ja auch schon für die schriftliche Prüfung getan. Und zwar hoffentlich mit ausreichend Vorlauf, sodass die Inhalte nicht am Tag nach der Prüfung wieder aus dem Kopf verschwunden sind. Denn bis zur mündlichen Prüfung vergehen durchaus mehrere Wochen. Und wenn dann alles Gelernte wieder weg ist, darf man nochmal von vorne anfangen. Aber dazu mehr hier: Vorbereitung auf die schriftliche Abschlussprüfung.

Also gilt genau wie für die schriftliche Prüfung meine Empfehlung: Fang früh an zu lernen und wiederhole die Inhalte regelmäßig. Dadurch kannst du sie nicht nur in der schriftlichen Prüfung abrufen, sondern auch in der mündlichen. Und ganz nebenbei kannst du sie vielleicht sogar im Arbeitsalltag anwenden, was ja letztlich das Ziel der Ausbildung sein sollte. 😉

Wahrscheinliche Themen im Fachgespräch

Ich kann natürlich nicht für alle Prüfungsausschüsse sprechen, aber es kristallisieren sich meiner Meinung nach einige Standardthemen heraus, mit denen man als Anwendungsentwickler/in im Fachgespräch rechnen sollte. Ich halte es für unwahrscheinlich (und auch unsinnig), Anwendungsentwickler über strukturierte Verkabelung oder Netzwerktopologien zu befragen. Ich würde mich als Prüfer stattdessen auf die Kernkompetenzen konzentieren. Und das sind meiner Meinung nach:

  • Programmierung (Datenstrukturen, Schleifen usw.)
  • Objektorientierung (Vererbung, Kapselung, Polymorphie usw.)
  • Datenbankmodellierung (ERM, Tabellenmodell, Normalisierung usw.)
  • SQL
  • Wirtschaftlichkeit
  • Projektmanagement

Zu fast allen Bereichen habe ich in meiner Podcast-Serie zu den häufigsten Fragen im Fachgespräch schon Episoden aufgenommen. Es wäre fahrlässig, sich nicht auf diese Themen vorzubereiten.

Mögliche Themen sammeln

Aber es gibt auch noch einen großen anderen Bereich an potentiellen Themen, den man nicht unterschätzen sollte: das eigene Abschlussprojekt. Obwohl die Prüfer nicht auf Fragen aus dem Bereich des Projekts begrenzt sind, werden viele sicherlich das Projekt als Aufhänger nehmen, um ins Fachgespräch einzusteigen. Daher sollte man sein Projekt in- und auswendig beherrschen und z.B. alle verwendeten Fachbegriffe einwandfrei erklären können.

Eigene Projektdokumentation und -präsentation

Eine einfache Aufgabe in Vorbereitung auf das Fachgespräch ist es daher, die eigene Projektdokumentation und insb. die -präsentation auf mögliche Prüfungsinhalte zu durchforsten. Dazu zählen insb.:

  • Verwendete Fachbegriffe (insb. Definitionen für Abkürzungen)
  • Verwendete Technologien (z.B. ORM, MVC, ERM)
  • Details zum Projektablauf (z.B. Zeitplanung, Vorgehensmodell)
  • Schnittstellen des Projekts (fachlich und technisch)
  • Datenschutz und -sicherheit bezogen auf das Projekt (wird häufig vergessen)
  • Alternativen zu eingesetzten Technologien (z.B. AngularJS anstatt Ember.js, JSON anstatt XML, REST anstatt SOAP)
  • Pro-/Contra-Bewertung der verwendeten Technologien (z.B. Performance, Kosten, Komplexität)

Im Fachinformatiker-Forum habe ich den Tipp gelesen, sich auf Basis der eigenen Artefakte eine Mindmap aller potentiellen Themen zu erstellen, indem man zunächst einfach nur die verwendeten Begriffe, Technologien usw. in einen Zusammenhang stellt und im nächsten Schritt dann den Assoziationen freien Lauf lässt:

  • Was fällt dir noch zu den Begriffen ein? (z.B. REST zu SOAP, JSON zu XML)
  • Was sind mögliche Ergänzungen? (z.B. AJAX bei Webprojekt, Rich Client)
  • Was sind Gegensätze oder Alternativen zu den Begriffen? (z.B. Java vs. .NET, Web vs. Fat Client)

Am besten führst du dieses Brainstorming nicht alleine durch, sondern holst dir andere ITler zur Hilfe: Ausbilder/in, Mitschüler/innen, Mitazubis, Kollegen/innen, Chef/in usw. Mehr Köpfe kommen sicherlich auf mehr Ideen. Gerade auch scheinbar Unbeteiligte bringen dich vielleicht auf Ideen: der Chef fragt nach der Amortisation, die Kunden nach der Usability, die Kollegen nach verwendeten Design Patterns usw.

Häufige Themenbereiche

Wenn du trotzdem noch weitere Anregungen brauchst, dann schau mal in den üblichen Foren nach: fachinformatiker.de

Dort wirst du sicherlich einige Beiträge finden, in denen mögliche Fragen zu verschiedenen Projekten diskutiert werden.

Und ich habe z.B. mal eine Liste mit Fragen zu einem PHP-Projekt erstellt, die dir vielleicht auch weiterhilft.

Häufig vergessene Themen

Wie bereits angedeutet, gibt es auch immer wieder Themen, die die Prüflinge gerne man „vergessen“. Ob absichtlich oder aus Versehen, sei mal dahingestellt. 😉 Hier kommt eine (unvollständige) Liste:

  • Wirtschaft (Stundensatz, Gehaltsabrechnung, Sozialversicherung usw.)
  • Datenschutz („Das brauchen wir nicht!„)
  • Backup („Machen die Admins!„)
  • Sicherheit („Ist nur ne interne Anwendung!„)
  • Usability („Der OK-Button ist grün. Das reicht!„)

Die Prüfer steuern

Man kann als Prüfling auch ein wenig Einfluss auf die Fragen der Prüfer nehmen. Wenn man z.B. bestimmte Sachverhalte in der Projektpräsentation (die direkt vor dem Fachgespräch stattfindet) besonders betont, kann das die Prüfer dazu anregen, mal nachzufragen. Dann sollte man sich aber natürlich auch bestens in diesem Bereich auskennen!

Ich habe schon oft die Geschichte vom Prüfling erzählt, der in der Präsentation den Satz brachte „Ich habe als Architekturprinzip MVC verwendet. Vielleicht werde ich ja gleich dazu befragt.“ und dann aber keine Ahnung vom Thema hatte. Das war schon recht witzig. Auch nett war der Prüfling, der unter Extreme Programming Programmieren ohne Regeln verstand.

Gerade in den Quelltext, der an der Dokumentation hängt, schaue ich als Prüfer immer sehr gerne. Dort finde ich nämlich meist viele Sachen, die der Prüfling zwar verwendet, aber gar nicht verstanden hat. Und moderner Quelltext strotzt nur so vor Lamdas, LINQ-Abfragen, generischen Klassen usw. Und all das sollte man – fachlich korrekt – erklären können.

Die mündliche Prüfung simulieren

Zu guter Letzt bleibt noch zu empfehlen, die mündliche Prüfung – am besten mehrfach – zu simulieren. Dafür steht dir dein/e Ausbilder/in sicherlich zur Seite.

Allein die Präsentation solltest du ohnehin mehrfach durchspielen und dann am besten direkt im Anschluss das Fachgespräch üben. Lade auch ruhig Zuhörer ein, die dein Projekt nicht kennen. Nur dadurch fallen nämlich noch Sachverhalte auf, die du nicht verständlich erklärt hast. Gehe nicht davon aus, dass all deine Prüfer deine Dokumentation gelesen haben. Das ist selten der Fall. Du musst also in der Präsentation alles so erklären, dass die Zuschauer es ohne Vorwissen (bezogen auf das Projekt, nicht auf die IT allgemein) verstehen können.

Und da du selbst sehr tief in der Materie deines Projekts steckst, fallen dir offensichtliche Fragestellungen ggfs. gar nicht mehr auf. Also nutze die – meist wochenlange – Vorbereitungszeit auf die mündliche Prüfung und quäle deine Kollegen mit Präsentationen und Fragerunden. So bekommst du bestimmt noch viele Anregungen für mögliche Fragen der Prüfer.

Antworten trainieren

Bei der Gelegenheit kannst du auch gleich üben, die Fragen vernünftig zu beantworten. Wir wollen korrekte, kurze, präzise und gut strukturierte Antworten hören und nicht minutenlanges Rumgelaber ohne zum Punkt zu kommen. Beispiele dafür findest du in meinen Podcast-Episoden.

Aber es geht nichts über das direkte Training mit deinem/r Ausbilder/in, der/die dir konkretes Feedback zu deinen Formulierungen gibt. Es geht nicht darum, Antworten auswendig zu lernen, sondern die Inhalte verständlich und sauber definiert rüberzubringen. Auswendig gelernte Antworten erkennen wir als Prüfer recht schnell und stellen dann direkt die passenden Fragen, um zu prüfen, ob zusätzlich auch echtes Verständnis da ist. Also bitte deine/n Ausbilder/in darum, das Fachgespräch zu üben, wenn er/sie das nicht von sich aus vorschlägt.

Allgemeine Tipps

  • Unterschätze nicht die Anforderungen.
  • Fange früh an zu lernen.
  • Nutze Synergieeffekte durch die Vorbereitung auf die schriftliche Prüfung.
  • Erstelle eine Mindmap mit Themen des eigenen Projekts.
    • Was fällt dir noch zu den Begriffen ein? (z.B. REST zu SOAP, JSON zu XML)
    • Was sind mögliche Ergänzungen? (z.B. AJAX bei Webprojekt, Rich Client)
    • Was sind Gegensätze oder Alternativen zu den Begriffen? (z.B. Java vs. .NET, Web vs. Fat Client)
  • Sammle gemeinsam mit Kollegen/Ausbilder/Chef/Mitschülern Fragen und simuliere das Fachgespräch. Je mehr Hinweise du bekommst, desto besser.
  • Übe am besten die Projektpräsentation und direkt im Anschluss das Fachgespräch.
  • Übe die Formulierung der Antworten auf Standardfragen.
  • Lerne die Antworten nicht auswendig.
  • Steuere die Prüfer in die gewünschte Richtung.
  • Bleib ruhig. Die Prüfer sind meistens sehr nett. 😉

Fazit

Mit der richtigen Vorbereitung muss das Fachgespräch kein Grund zur Sorge sein. Im Gegenteil: Durch die Interaktivität des Gesprächs lassen sich kleine Fehler auch wieder ausbügeln oder Fragen zu nicht verstandenen Aufgaben stellen.

Letztlich sind die Prüfer auch nur Menschen und wollen den Prüflingen nichts Böses, sondern sie gut durch die Prüfung bringen. Aber wir erwarten auch ein fundiertes Fachwissen und gut vorbereitete Prüflinge! Also zack zack, an die Arbeit! 😀

Links

Weitere Infos zum Fachgespräch

Du suchst noch mehr Tipps rund um das Fachgespräch? Dann schau doch mal in diese Artikel- und Podcast-Kategorie: Alle Artikel rund um das Fachgespräch.

Kennst du schon meine Hörbücher zur Vorbereitung auf das Fachgespräch? Unter dasperfektefachgespraech.de kannst du sie herunterladen. In insg. über 10 Stunden gehe ich über 200 Fragen im Detail durch und gebe Tipps für die Beantwortung.

Und wenn du dich für meinen Newsletter einträgst, bekommst du immer direkt alle Neuigkeiten von dieser Seite in dein Postfach geliefert.

Jetzt anmelden!
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

6 comments on “Vorbereitung auf das Fachgespräch – Anwendungsentwickler-Podcast #63

  1. Chris sagt:

    Hallo Stefan,

    erst einmal vielen Dank für diese sehr hilfreiche Seite!

    Ich habe gestern mit meiner „klassischen“ Text-Präsentation & Fachgespräch meine Ausbildung mit jeweils einer 2 abgeschlossen. Themen im Fachgespräch waren unter anderem:

    Was zeichnet die Programmiersprache C# (die ich in meinem Projekt verwendet habe) aus und was für Unterschiede gibt es zwischen C# und anderen Sprachen?
    Diverse Fragen zu meinem Projekt und dem Projektumfeld
    Warum habe ich agil entwickelt und was bedeutet das?
    Was unterscheidet objektorientierte- von funktionaler Programmierung?
    Wie wird C# im Vergleich zu beispielsweise C kompiliert? (Byte-Code Plattformabhängiger (nativer) Code)
    Was bedeutet „Hashing“ und wie funktioniert eine „HashMap“? (Die Frage kam ein wenig überraschend, da das nichts mit meinem Projekt zu tun hatte und auch sonst kein Zusammenhang zum restlichen Inhalt des Fachgesprächs bestand)

    Alles in Allem bin ich sehr zufrieden mit meinem Ergebnis, auch wenn ich durch umfangreicheres Lernen vermutlich problemlos eine 1 hätte bekommen können. Daher auch mein Rat an andere Azubis vor der Prüfung:
    Fangt rechtzeitig an zu lernen! Wer rechtzeitig (also nicht erst eine Woche vor der mündlichen Prüfung) damit anfängt, sich seine Projektdokumentation noch einmal durchzulesen und auf mögliche Fragen dazu vorzubereiten, sowie die anderen „üblichen“ Inhalte des Fachgesprächs (OOP, Datenbanken, Entwicklungsprozesse, …) noch einmal wiederholt und sich auf Fragen dazu gut vorbereitet, der kann mit Leichtigkeit die Prüfung mit einer guten bis sehr guten Note verlassen (Natürlich unter der Voraussetzung, dass die Präsentation ebenfalls gut ist )!

    Schöne Grüße aus dem Sauerland und noch einmal vielen Dank!

  2. Stefan Macke sagt:

    Hallo Chris,

    danke für dein Feedback und herzlichen Glückwunsch zur bestandenen Prüfung! 😀

    Viele Grüße!
    Stefan

  3. Viktor sagt:

    Wird die jenige Person die meine Dokumentation bewertet hat auch bei der mündlichen Prüfung dabei sein oder ist es unterschiedlich?

  4. Stefan Macke sagt:

    Das kann ich nicht verbindlich für alle Prüfungsausschüsse sagen, aber es sollte so sein.

  5. Mimi sagt:

    Ich hab nächste Woche mündliche Prüfung. Hab deine Mail heute bekommen.

  6. Stefan Macke sagt:

    Dann drücke ich dir die Daumen! 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax