Kann ich einen Gesprächspartner nach seinen Vorlieben fragen, bevor ich an einem technischen Auftrag arbeite?

Aktuell bin ich auf der Suche nach einem Job als Softwareentwickler. In diesem Bereich sind technische Aufgaben eine beliebte Möglichkeit für Arbeitgeber, Kandidaten zu beurteilen. Ich mag diesen Prozess, aber ich habe Bedenken.

Ich habe das Gefühl, dass Interviewer (verständlicherweise) spezifische subjektive Präferenzen haben, die sich auf Programmierparadigmen, architektonische Entscheidungen usw. beziehen. Diese Einstellungen können sich auf ihren Überprüfungsprozess auswirken.

Was mich betrifft, so habe ich auch meine eigenen subjektiven Vorlieben, aber ich glaube, dass ich ziemlich anpassungsfähig bin und Code in dramatisch unterschiedlichen Stilen schreiben kann – es hängt wirklich davon ab, an welcher Art von Projekt ich arbeite und wer mein Publikum ist.


Das Problem ist, dass ich beim Einreichen von Code für technische Aufgaben nicht weiß, wer mein Publikum ist. Die Wahl der Technologie sagt mir oft nicht viel, da einige Sprachen mehrere Paradigmen haben (z. B. C# und Scala) und es möglicherweise zwei gleichermaßen gültige Arten gibt, sie zu verwenden (z. B. die Java-Methode und die Haskell-Methode). Und insgesamt bin ich schrecklich darin, die Vorlieben einer anderen Person einzuschätzen, ohne sie zu fragen .

Wenn ich also einen Auftrag erhalte, laufe ich Gefahr, eine Lösung einzureichen, die dem Interviewer nicht gefallen wird, obwohl ich eine Lösung einreichen könnte (und wollte), die ihm gefallen hätte. Das ist natürlich nicht das Ende der Welt, aber es fühlt sich an, als würde der gesamte Prozess spielen und meine Zeit (und ihre) verschwenden.

Kann ich höflich eine Klarstellung vom Gesprächspartner verlangen, bevor ich Zeit und Mühe in den Auftrag investiere, oder wäre das unhöflich? (Diese Klarstellung würde sich darauf beziehen, welchen Paradigmen und Praktiken ihre ideale Lösung folgen würde.) Und gibt es Punkte, auf die ich bei meiner Anfrage achten sollte?

Antworten (3)

Die Antwort darauf ist sowohl Ja als auch Nein. Einige Interviewer werden wie ich sein. Wenn sie dir eine Aufgabe geben, möchten sie, dass du Fragen stellst. Tatsächlich besteht ein Zweck der Aufgabe darin, zu sehen, ob Sie Fragen stellen. (Ich nehme keine "Aufgaben" mit nach Hause, dies ist für ein persönliches Whiteboard-Interview.) Wenn ich eine vage Aufgabe gebe, dann deshalb, weil ich erwarte, dass Sie klärende Fragen stellen, bevor Sie beginnen.

Andere Interviewer möchten jedoch ihren Aufwand beim Aussortieren von Personen minimieren, die nicht einmal programmieren können. Dies gilt insbesondere, wenn Sie eine Aufgabe von einer Website heruntergeladen haben und nur Ihre Lösung hochladen sollen. Die Beantwortung von Fragen von Ihnen minimiert ihren Aufwand nicht. Es wäre also gut, spezifische, knackige Fragen zu entwickeln, die Ihnen viele Informationen auf einmal liefern und Sie klug aussehen lassen, nicht wie jemand, der in der Wildnis umherwandert und nicht weiß, wie man Dinge macht. Dies könnten sein:

  • Verwenden Sie einen bestimmten Styleguide? (Fügen Sie optional „Oder soll ich einfach X verwenden“ hinzu, wobei X ein bekannter Styleguide in Ihrer Community ist.)
  • Ist es in Ordnung, [Framework] dafür zu verwenden, oder benötigen Sie reine [Sprache]?
  • können Sie mir einen Kontext des größeren Bildes geben, in das dies passen würde (wenn Sie gebeten werden, eine API oder eine andere externe Schnittstelle zu entwerfen und mehr Informationen benötigen, um Entscheidungen zu treffen)
  • Haben Sie ein Beispiel für etwas anderes aus Ihrem Team, damit ich einen ähnlichen Ansatz für die Benennung und das Layout verwenden kann?

Wenn die Person sich weigert, diese zu beantworten, könnte sie dir sagen, dass es nicht toll für dich wäre, dort zu arbeiten. Sie denken vielleicht: „Dieser Kandidat kann keine Entscheidungen treffen und fragt mich nach trivialen Dingen.“ Sie sind vielleicht stolz auf sich selbst und ihre Fähigkeit, Ihre Stilentscheidungen, Namenskonventionen, in einigen Fällen sogar Paradigmenwahlen zu übersehen, um das wahre Programmiertalent darunter zu erkennen. Sie fragen implizieren, dass sie diese Fähigkeit nicht haben und gegen Sie zählen können. (Oder natürlich kann es zeigen, dass Sie schlau genug sind, zwei Möglichkeiten zu kennen, es zu tun, und weise genug, um zu fragen, welche Methode sie bevorzugen. Vieles hängt davon ab, wie Sie die Frage formulieren.)

Fazit: Wenn Sie Informationen benötigen, um fortzufahren (z. B. sie haben Ihnen nicht gesagt, welche Programmiersprache Sie verwenden sollen oder auf welche Version von etwas Sie abzielen sollen) oder Sie eine kurze, einfache Frage stellen können, wie „Haben Sie einen Styleguide, den Sie mir geben möchten? follow" dann ist es wahrscheinlich sicher, eine Frage zu stellen, ob dies eine asynchrone Sache per E-Mail oder über eine Website ist. Abhängig von der Antwort können Sie sich sicher fühlen, einen anderen zu fragen. Wenn dies ein Whiteboard-Interview oder eine Remote-Kopplungssitzung ist, fragen Sie so viel Sie wollen, das ist Teil des Prozesses.

Versuchen Sie, wo immer möglich, gute Fragen zu stellen. Vergleichen:

  • Wolltest du das auch testen?

mit:

  • Wir schließen Tests ein, richtig? Verwenden Sie [Testframework]?

Versuchen Sie, die Fragen so zu formulieren: "Ich weiß etwas, das ist gut, richtig, soll ich Ihnen zeigen, dass ich das kann?" und nicht als "willst du mich etwas tun?" was nicht bestätigt, dass Sie können und wollen.

Danke für die Antwort. Ich denke, ich sollte das Wort "Lesbarkeit" aus meiner Frage entfernen, da es von dem ablenkt, was ich fragen wollte. Ich mache mir hauptsächlich Sorgen über starke Präferenzen in größeren Dingen, wie Programmierparadigmen – zum Beispiel: Was ist, wenn der Interviewer stark für traditionelle imperative OOP ist, während eine modernere FP-Lösung den Zweck erfüllen könnte (oder umgekehrt)?
Ich finde es schwer vorstellbar, dass die Stellenbeschreibung dort nicht Ihr Leitfaden sein würde, zusammen mit der Sprache und dem Rahmen, den Sie Ihnen vorgeschrieben haben. Aber wie auch immer, eine Frage, die dich nicht schwach aussehen lässt, das ist der Schlüssel.
Würden Sie sagen, dass es vernünftig ist, dies zu verlangen , bevor ich die Aufgabe tatsächlich erledige? Das heißt, wenn sie sich weigern zu klären und ich wirklich nicht sagen kann, was sie gerne sehen würden (und was ihnen nicht gefallen würde), würde ich unvernünftig klingen, wenn ich mich weigere, insgesamt zu "spielen" (sozusagen)?
Ich nehme an, es spielt keine Rolle, ob es vernünftig ist oder nicht. Wenn Sie sich entscheiden, die Aufgabe nicht zu erledigen, werden sie Sie wahrscheinlich nicht einstellen. Sie denken vielleicht nicht schlecht von Ihnen, aber Sie werden nicht in der Lage sein, es zu überspringen und mit einem Interview fortzufahren, das auf ihrer Weigerung basiert, Ihnen weitere Informationen zu geben. Würde ich Sie für vernünftig halten, einen Einstellungsprozess zu stoppen, der für Sie nicht funktioniert hat? Sicher. Aber das bringt Sie nicht angestellt.
"Sie sind vielleicht stolz auf sich selbst und ihre Fähigkeit, [...] Paradigmenwahlen [...] zu übersehen, um das wahre Programmiertalent darunter zu erkennen" - Sehe ich hier einen Hauch von Missbilligung? Wenn ja, könnten Sie es ein wenig erweitern? Ich bin der Annahme schuldig, dass jemand, der sich in einem Paradigma gut ausdrückt, sich auch in einem anderen gut ausdrücken würde ...
Nein, ich missbillige den Interviewer nicht. Ich denke, viele können sagen, ob Sie gut sind oder nicht, selbst wenn Sie einen anderen Ansatz verwenden. Und andere denken, dass sie es können, obwohl sie in Wirklichkeit von Dingen wie „ew, ember“ oder dergleichen beeinflusst werden. Meine Warnung ist, dass, wenn Sie dem Interviewer sagen: „Ich muss wissen, ob Sie A oder B bevorzugen, weil ich denke, wenn ich versehentlich wenn du es in A machst, wirst du nicht sehen können, wie brillant ich bin, nur weil du B vorziehst", das ist kein Kompliment.

Wenn Sie mir als Interviewer Fragen stellen, was ich von einer Antwort erwarte, würde ich mich freuen, wenn Sie sicherstellen, dass Sie verstehen, worum ich gebeten habe, es sei denn, Ihre Fragen waren dumm. Gute Fragen können mir zeigen, dass Sie verstehen, dass die Frage störend sein und Kompromisse bei der möglichen Antwort eingehen können. Wenn Sie mir Fragen zu diesen Kompromissen stellen würden, wäre ich beeindruckt, dass Sie wissen, dass es nicht den einen richtigen Weg gibt, etwas zu tun. Ich denke, das gilt für jeden guten Interviewer.

Wenn es um Meinungen zu Paradigmen und Architekturen geht, kann man fragen und verschiedene Interviews werden unterschiedlich reagieren. Ich würde darauf achten, Sie nicht zu einer bestimmten Wahl zu lenken. Ich möchte, dass Sie die Entscheidungen treffen. Danach konnten wir über die Entscheidungen sprechen, die ich treffen würde. Andere Interviews sind möglicherweise viel eher bereit, Ihnen Anweisungen zu diesen Entscheidungen zu geben. Ich bezweifle, dass irgendjemand es für das Stellen dieser Fragen halten würde. Nachdem Sie Ihre Antwort gegeben haben, würde ich Fragen zu Ihrer Antwort stellen, um sicherzustellen, dass Sie das tun, was Ihrer Meinung nach das Richtige ist, und nicht das, wonach Sie denken, wonach ich suche.

Wenn es um Fragen der Philosophie und des Urteilsvermögens geht, treffen Sie die Entscheidungen, die Sie treffen würden, nicht die Entscheidungen, von denen Sie glauben, dass sie dem Interviewer gefallen werden.

Ein Vorstellungsgespräch dient zwei Zwecken:

  1. Damit das Unternehmen entscheiden kann, ob Sie für die Stelle geeignet sind.
  2. Denn Sie entscheiden, ob das Unternehmen ein guter Arbeitsplatz für Sie ist.

Wenn Sie Ihre Arbeitsweise im Vorstellungsgespräch ändern, um den Job zu bekommen, kann es funktionieren. Sie müssen dann so arbeiten, wenn Sie den Job bekommen. Sie können anpassungsfähig genug sein, um es zu tun. Sie werden jedoch Dinge auf eine Weise tun, die Sie nicht wählen würden. In jedem Job gibt es solche Kompromisse, aber wenn Sie grundsätzlich unterschiedliche Philosophien zu Paradigmen und Architekturen haben, werden Sie nicht glücklich. Jeden Tag wirst du dich zwingen müssen, gegen dein Urteil zu arbeiten. Du wirst deine Leidenschaft nicht in den Job stecken können.

Lassen Sie das Interview stattdessen wissen, was Sie glauben. Sie können sowohl entscheiden, wie die Unternehmen arbeiten, als auch ihre Arbeitsweise so nah beieinander liegen, dass Sie begeistert sein können, dort zu arbeiten.

Ich verstehe, was Sie meinen, aber meine Frage bezieht sich nicht ganz darauf, ob ich versuchen sollte, mich an die Erwartungen eines Interviewers anzupassen – obwohl das auch eine berechtigte Frage mit viel Tiefe ist. Es geht eher darum, ob ich sie nach ihren Erwartungen und Vorlieben fragen sollte, bevor ich die erforderliche Zeit und Mühe aufwende.
@TC Ich habe die Frage hinzugefügt, um Fragen zu Erwartungen zu stellen.

Wenn Sie nicht fragen wollen, hoffe ich, dass Sie es zumindest immer erklären. Das mache ich bei Vorstellungsgesprächen.

Es erklärt meinen Denkprozess, jeden einzelnen Schritt des Weges, beginnend mit der Umformulierung meines Verständnisses des Problems in meinen eigenen Worten, um Entscheidungen zu entwerfen, bis hin zu jeder Codezeile, während ich sie schreibe, und gibt dem Interviewer die Möglichkeit, mich sowohl zu bewerten als auch korrigieren Sie mich.

Wie Sie in Ihrer Frage sagten, kann es mehrere Möglichkeiten geben, ein Problem anzugehen. Indem ich das erkläre, zeige ich dem Interviewer meinen Denkprozess und gebe ihm gleichzeitig die Möglichkeit, mich zu einer Lösung zu führen, die für das Projekt, für das ich interviewe, relevanter sein könnte.