Wie man ein technisches Vorstellungsgespräch durchführt

Miroslav Lazovic
Backend TL@Neon and Dev. Advocate @Holycode

Dieser Artikel ist der erste einer Reihe von Artikeln darüber, wie man ein technisches Vorstellungsgespräch führt. Ich denke, niemand wird bestreiten, dass die Einstellung von Mitarbeitern einer der wichtigsten Prozesse in einem Unternehmen ist und dass die Auswahl des richtigen Kandidaten viele positive Auswirkungen auf Ihr Team haben kann.

A pleasant office is an important part of how to conduct a technical interview

Gleichzeitig kann die Wahl des falschen Kandidaten katastrophale Folgen haben. Bei einem guten Einstellungsprozess geht es jedoch nicht nur darum, zwischen guten und schlechten Kandidaten unterscheiden zu können – er sagt auch viel über Ihr Unternehmen und einige seiner Werte aus. Ein schlecht durchgeführtes technisches Vorstellungsgespräch oder die Unkenntnis, wie man ein technisches Vorstellungsgespräch führt, kann Ihre Chancen, den richtigen Kandidaten für Ihr Team zu finden, erheblich beeinträchtigen oder sogar dazu führen, dass jemand die Stelle gar nicht erst in Betracht zieht. Und vergessen wir nicht, dass ein schlechter Auswahlprozess zu einer möglicherweise schlechten Einarbeitung von Entwicklern führen kann, was sich auf das gesamte Team auswirken kann.

Vor diesem Hintergrund wollen wir nun die wichtigen Aspekte der Durchführung eines technischen Vorstellungsgesprächs besprechen.

Vorstellung eines Projekts/einer Position

Zu Beginn des Vorstellungsgesprächs sollten Sie zunächst die Stelle beschreiben, auf die sich der Bewerber bewirbt. Dazu gehört auch, dass Sie so detailliert wie möglich die Projekte beschreiben, an denen er oder sie arbeiten wird. Dies ist äusserst wichtig, da Ihr zukünftiger Mitarbeiter die meiste Zeit damit verbringen wird. Wenn Sie ihm oder ihr ausreichend Informationen geben, kann er oder sie besser entscheiden, ob er oder sie in Ihr Unternehmen eintreten möchte oder nicht (und es ergeben sich interessante Diskussionsthemen).

Meiner persönlichen Erfahrung nach haben jedoch viele Unternehmen diesen Schritt nicht richtig umgesetzt. Das bedeutet jedoch nicht, dass Unternehmen generell schlecht darin sind – ich beschreibe lediglich, was ich im Laufe meiner Karriere erlebt habe. In den meisten Fällen wurden zu wenige Informationen gegeben und manchmal wurden einige sehr wichtige Dinge (die hätten offengelegt werden müssen) ausgelassen. Als Personalverantwortlicher sind Sie voll und ganz dafür verantwortlich, das Projekt und die Anforderungen der Position vorzustellen – und Sie sollten Ihr Bestes tun, um einen guten Überblick zu geben.

Bewertung von Lebensläufen als Teil der erfolgreichen Durchführung eines technischen Vorstellungsgesprächs

Welche Informationen müssen Sie also weitergeben?

Nun, die Liste ist nicht kurz – zu den meisten der folgenden Punkte habe ich kurze Erläuterungen oder Fragen hinzugefügt, die Sie beantworten müssen, um Ihrem Kandidaten ausreichend detaillierte Informationen zu liefern.

Stellen Sie sich vor

Geben Sie Ihre derzeitige Position und Ihre Hauptaufgaben an. Beschreiben Sie, wie Sie und der Bewerber zusammenarbeiten. Teilen Sie einige interessante Fakten über sich selbst mit.

Geben Sie einen kurzen Überblick über das Projekt

Oder erzählen Sie vielleicht ein wenig über die Unternehmensgeschichte und einige interessante Fakten (wenn möglich). Lassen Sie die andere Person wissen, wie das Projekt in die Aktivitäten des Unternehmens passt, wie es genutzt wird und wer es nutzt. Es ist immer schön zu wissen, dass das Produkt, an dem Sie arbeiten, eine aktive Nutzerbasis hat.

Technologie-Stack und Gesamtarchitektur

Dies umfasst eine Menge Dinge – und dies ist einer der Bereiche, mit denen Sie sich während eines technischen Vorstellungsgesprächs wahrscheinlich am meisten beschäftigen werden. Sie müssen alle relevanten Informationen über Tools, Frameworks und Bibliotheken bereitstellen, die Ihr Team täglich verwendet. Sind Ihre Anwendungen containerisiert? Verwenden Sie Technologien wie Kubernetes? Verwenden Sie AWS, Google Cloud, Azure oder etwas anderes? Wenden Sie bei der Entwicklung Ihrer Anwendungen bestimmte Architekturprinzipien an?

Der Prozess / wie ein durchschnittlicher Arbeitstag aussieht

Wie schreiben Sie Ihre Stories und Aufgaben, oder schreiben Sie sie überhaupt? Verwenden Sie Methoden wie Scrum oder Kanban? Welche Schritte sind notwendig, damit eine Funktion in die Produktion gelangt? Führen Sie Code-Reviews durch?

Bereitstellungen und Releases

Wie oft veröffentlichen Sie Releases? Gibt es geplante Ausfallzeiten aufgrund von Releases oder System-Upgrades? Wie lange dauert ein Release? Sind Releases in der Regel problematisch und beziehen viele Personen aus mehreren Teams mit ein?

Organisation und Struktur der Teams

Wie viele Personen gehören zu Ihrem Team? Wem untersteht das Team? Haben Sie T-förmige Teams? Gibt es einen Lead Developer? Sind die Teams in Bezug auf die Entwicklung und Wartung des Projekts autark? Gibt es andere Teams, mit denen Sie regelmässig zusammenarbeiten?

Aufgaben und Hauptarbeitsbereich

Dieser Punkt ist selbsterklärend.

Entwicklungsmöglichkeiten

Wenn ich ein Thema nennen soll, das selten diskutiert wird, dann ist es dieses. Einer der wichtigen Aspekte der Position (der bei der Entscheidungsfindung bewertet werden muss) ist das Potenzial für zukünftiges Wachstum. Gibt es eine Position, in die der Kandidat irgendwann wechseln kann? Wenn es mehrere Optionen gibt – welche sind das? Noch interessanter ist die Frage, ob man vom Ingenieurwesen zum Produktwesen oder umgekehrt wechseln kann?

Die Beschreibung des Projekts oder der Position während eines technischen Vorstellungsgesprächs wäre jedoch nicht vollständig, ohne einige der technischen Herausforderungen zu erwähnen, mit denen Sie sich befassen (oder voraussichtlich befassen werden), oder die häufigsten Produktionsprobleme, mit denen Sie konfrontiert sind. Dies ist wichtig zu erwähnen, da die Bewältigung dieser Herausforderungen einer der wichtigsten Aspekte des Projekts sein kann – und jedes Projekt hat seine eigenen Herausforderungen. Einige Beispiele hierfür könnten sein:

  • Umgang mit vielen Integrationen von Drittanbietern
  • Skalierung des Systems, damit es jederzeit Millionen von Kunden bedienen kann
  • Regelmässige Bewältigung enormer Traffic-Spitzen

Erwähnen Sie abschliessend alle Themen, die für Ihr Projekt oder Ihr Team sehr spezifisch sind und möglicherweise Einfluss auf die endgültige Entscheidung des Bewerbers haben könnten (z. B. ein festgelegtes Verfahren für das Bereitschaftsmanagement).

Das mag nach viel Arbeit klingen (und ist es wahrscheinlich auch), aber der Hauptgrund, dies ordnungsgemäss zu tun, besteht darin, dem Kandidaten nicht nur einen Einblick in seine zukünftige Rolle zu geben, sondern auch in die Arbeitsweise Ihres Teams (oder Unternehmens). Es geht nicht nur darum, dass Sie vom Kandidaten beeindruckt sind – dies muss in beide Richtungen funktionieren.

Bewertung der bisherigen Erfahrungen

Ein wesentlicher Bestandteil der Durchführung eines technischen Vorstellungsgesprächs ist die sorgfältige Prüfung des Lebenslaufs, des LinkedIn-Profils, des GitHub-Profils, des persönlichen Blogs des Bewerbers – oder aller anderen vom Bewerber eingereichten Unterlagen, die zur Bewertung seiner bisherigen Erfahrungen herangezogen werden können. Achten Sie auf Berufserfahrungen, die für die Position relevant sind. Achten Sie besonders auf folgende Punkte:

  • Ähnlichkeiten in Bezug auf Aufgaben und Verantwortlichkeiten
  • Verwendete Technologien: Achten Sie nicht nur auf die direkte Eignung (d. h. die Auswahl eines Java-Entwicklers für ein Java-Projekt), sondern auch auf ähnliche Technologien. Beispielsweise könnten sich Kandidaten, die Erfahrung mit C# haben, schnell mit Java vertraut machen. Auch Kandidaten, die im Laufe ihrer Karriere mehrere Programmiersprachen verwendet und Tech-Stacks gewechselt haben, könnten eine interessante Wahl sein, da dies bedeuten könnte, dass sie neue Sprachen schnell erlernen können.
  • Spezifische Herausforderungen, denen sich der Kandidat gestellt hat

Was können Sie noch beurteilen?

Bei Kandidaten mit langjähriger Erfahrung sollten Sie während Ihres technischen Vorstellungsgesprächs darauf achten, ob sie bereit sind, neue Dinge zu lernen, insbesondere in einer späteren Phase ihrer Karriere. Das Erlernen neuer Dinge ist einer der wichtigsten Aspekte dieses Jobs, ebenso wie die relative Aktualisierung Ihrer Fähigkeiten – gute Ingenieure wissen das, und das Erlernen neuer Dinge ist für sie wahrscheinlich eine Selbstverständlichkeit.

Achten Sie ausserdem auf Situationen, in denen der Bewerber bereitwillig etwas ausserhalb seiner Komfortzone getan hat (aus Neugier oder aufgrund eines anderen Motivationsfaktors).

Sie sollten jedoch bedenken, dass es auch einige scheinbar irrelevante Details im Lebenslauf eines Bewerbers gibt, die interessante Fähigkeiten offenbaren oder sich auf einige der Anforderungen der Position übertragen lassen. Beispielsweise kann die Rolle als Kapitän einer Sportmannschaft auf Führungsqualitäten hindeuten. Das Organisieren von Meetups, Tech-Talks oder das Verfassen von Blogbeiträgen kann für jemanden, dessen Aufgabenbereich die Entwicklerförderung umfasst, sehr nützlich sein. Deshalb ist es immer gut, während eines technischen Vorstellungsgesprächs nach solchen Dingen Ausschau zu halten – denn so können Sie jemanden mit einem verborgenen Talent entdecken.

Wie man ein technisches Vorstellungsgespräch in einem Büro führt

Vorbereitung auf ein technisches Vorstellungsgespräch

Ein guter Ausgangspunkt für die Durchführung eines technischen Vorstellungsgesprächs ist es, im Voraus einige wichtige Gesprächsthemen vorzubereiten, die auf der Erfahrung des Bewerbers basieren.

Sie müssen jedoch auch eine Reihe von Fragen vorbereiten, die für die Position oder das Projekt relevant sind. Jeder Job erfordert eine bestimmte Kombination aus Fähigkeiten und Kenntnissen. Sie müssen jedoch eine Grundvoraussetzung festlegen und entscheiden, welche Fähigkeiten und Kenntnisse unbedingt erforderlich sind und welche wünschenswert sind. Ihre Fragen sollten dies widerspiegeln, aber denken Sie daran, dass die Seniorität des Bewerbers und die Anforderungen der Position bestimmen, wie (und wo) Sie die Messlatte ansetzen.

Nehmen wir zum Beispiel an, Sie entwickeln und warten mehrere Java-Microservices auf Basis von Spring Boot, die REST-APIs für die Interaktion verwenden. In diesem Fall sind Kenntnisse über Microservice-Architektur, das HTTP-Protokoll und verschiedene Java-bezogene Konzepte wahrscheinlich ein Muss. Je nachdem, wie und wo Sie Ihre Dienste bereitstellen, könnten Ihre Fragen auch Kenntnisse über CI/CD-Pipelines, Container und Technologien wie Kubernetes umfassen. Die Liste der möglichen Fragen kann sehr schnell sehr lang werden, aber versuchen Sie, sich auf einige wenige zu beschränken, die die wichtigsten Bereiche abdecken.

Analyse der Wissenstiefe

Manchmal möchten Sie vielleicht die Tiefe des Wissens des Bewerbers in einem bestimmten Bereich beurteilen. Halten Sie daher ein paar Fragen für solche Fälle bereit. Wenn ein Bewerber beispielsweise sehr gut über das Entwerfen von REST-APIs Bescheid zu wissen scheint, können Sie versuchen, die Konzepte aus Roy Fieldings Dissertation zu diskutieren. Diese Fragen sollten wahrscheinlich kein entscheidender Faktor bei der Beurteilung des Wissens des Bewerbers sein, aber es gibt Fälle, in denen Sie jemanden suchen, der sich mit einem bestimmten Thema intensiv auseinandersetzen kann.

Entwickeln Sie Ihre eigene Interviewstrategie

Kopieren Sie nicht einfach blindlings, wie andere Unternehmen das Wissen der Kandidaten während eines Vorstellungsgesprächs bewerten. Nur weil ein anderes Unternehmen etwas tut, heisst das nicht, dass Sie es auch tun sollten. Ein anderes Unternehmen arbeitet möglicherweise an einem anderen Projekt, sodass dessen Verfahren cool aussieht, aber es spiegelt dessen Bedürfnisse wider, nicht Ihre. Sie sollten nach guten Ideen suchen – aber tun Sie etwas nicht nur, weil XYZ es tut.

Ich kann das nicht genug betonen, deshalb wiederhole ich es noch einmal: Die Fragen, die Sie während eines technischen Vorstellungsgesprächs stellen, müssen für die Position und/oder das Projekt relevant sein. Es ist zwar in Ordnung, die Diskussion mit dem Kandidaten manchmal breit anzulegen, aber vermeiden Sie Fragen, die in keiner Weise mit den Aufgaben des Kandidaten in der Position zu tun haben. Das Gleiche gilt für eine lange Liste mit Dutzenden von Fragen, aus der Sie dann zufällig einige auswählen – das zeigt nur, dass Sie keine Ahnung haben, wonach Sie suchen und was die Anforderungen der Position sind. Tun Sie das nicht.

Fazit

In unserem nächsten Artikel werden wir uns auf Themen wie Gesprächsstil, Programmieraufgaben und das richtige Timing für das Ende des Vorstellungsgesprächs konzentrieren. Einige dieser Themen sind etwas umstritten, da es viele unterschiedliche Ansichten dazu gibt. Wir werden versuchen, sie ausführlich zu behandeln, also bleiben Sie dran!

Lassen Sie uns gemeinsam Spitzenleistungen erzielen

Kontaktieren Sie noch heute unsere Experten, um Ihre Ideen zu verwirklichen und Ihr Geschäftswachstum zu beschleunigen.

happy people at work