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.
TL;DR
Für dein Fachgespräch empfehle ich dir, die Grundlagen deiner Ausbildung frühzeitig und regelmäßig zu wiederholen sowie dein Abschlussprojekt bis ins Detail durchzugehen. Zu den möglichen Fragen gehören allgemeine Themen der Anwendungsentwicklung, wirtschaftliche Grundlagen und alles, was du in deiner Dokumentation oder Präsentation erwähnst. Übe deine Antworten laut und simuliere das Gespräch mit deinem/deiner Ausbilder:in, damit du Fachbegriffe verständlich erklären und auf Nachfragen eingehen kannst. Auch Datenschutz, Backups, Datensicherheit und Usability gehören auf deinen Lernplan.
Kapitelmarken
[00:00:01] Hinweise zum Fachgespräch
[00:00:37] Vorbereitung und Erwartungen an die mündliche Prüfung
[00:03:05] Mögliche Themen und Fragen über das Projekt hinaus
[00:06:31] Lernmaterialien und Wissen aus der schriftlichen Prüfung
[00:08:28] Überblick über wahrscheinliche Fachthemen
[00:10:23] Grundlagen der Programmierung
[00:10:49] Objektorientierung und die Frage nach Klasse und Objekt
[00:12:36] Datenbankmodellierung und Normalisierung
[00:12:58] SQL und mögliche Aufgaben im Fachgespräch
[00:13:40] Wirtschaftlichkeit und Projektkosten
[00:14:40] Projektmanagement
[00:15:23] Das eigene Abschlussprojekt als Gesprächseinstieg
[00:16:21] Fachbegriffe und eingesetzte Technologien erklären
[00:17:32] Projektablauf und Zeitplanung wiederholen
[00:18:16] Schnittstellen und Beteiligte im Unternehmen
[00:19:18] Datenschutz und Sicherheit im Projekt
[00:20:15] Technische Entscheidungen und mögliche Alternativen
[00:22:40] Quelltext und Sprachkonstrukte verstehen
[00:23:41] Häufig vergessene Prüfungsthemen
[00:24:32] Wirtschaftliche Grundlagen
[00:24:47] Datenschutz
[00:25:58] Datensicherung und Backups
[00:26:41] Datensicherheit
[00:27:15] Usability und ergonomische Oberflächen
[00:30:00] Anforderungen und Gewicht des Fachgesprächs
[00:30:45] Frühzeitig und regelmäßig lernen
[00:31:49] Eine Mindmap zum Abschlussprojekt erstellen
[00:33:37] Die Themensammlung gemeinsam ergänzen
[00:34:18] Das Fachgespräch simulieren und Feedback einholen
[00:37:03] Antworten laut üben
[00:38:13] Fachliche Konzepte verstehen und frei erklären
[00:39:15] Anknüpfungspunkte in der Präsentation setzen
[00:41:00] Ruhig bleiben und mit schwierigen Fragen umgehen
[00:42:56] Feedback und Shownotes
[00:43:35] Kurze Projektnamen für die Präsentation
[00:44:13] Verständliche Commit-Messages
[00:44:44] Newsletter und Checklisten
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. ;-)
Alle Themengebiete der Prüfung sind möglich.
Keine Einschränkung auf die Themen des eigenen Abschlussprojekts.
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.
Standardthemen
Programmierung (Datenstrukturen, Schleifen usw.)
Objektorientierung (Vererbung, Kapselung, Polymorphie usw.)
Datenbankmodellierung (ERM, Tabellenmodell, Normalisierung usw.)
SQL
Wirtschaftlichkeit
Projektmanagement
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.
...