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?
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:
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:
mit:
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.
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:
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.
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.
Natürlich20
Kate Gregory
Natürlich20
Kate Gregory
einzellig
Kate Gregory