„Senior-Entwickler“ im Interview mit Junior-Fragen, oder: wo ist der Beef? [geschlossen]

Ich habe das Gefühl, dass der Titel „Senior Programmierer/Entwickler“ oft verwendet wird, um weniger als erfahrene Programmierer in ein Unternehmen zu locken, während sie nicht nach dem Titel „Senior“ bezahlt werden – schließlich „wissen sie nicht genug, um dies zu rechtfertigen “, würde ihnen der Personalvermittler sagen.

Vielleicht so, wie es heute in US-amerikanischen Lebensmittelgeschäften nur mittelgroße und große Eier gibt, aber nie kleine.

Wie auch immer, ich wurde kürzlich für mehrere "Senior (Java) Developer" -Positionen interviewt und war genervt, in einigen von ihnen nur Junior-Fragen gestellt zu bekommen:

  • Was ist eine Schnittstelle?
  • Was ist eine abstrakte Klasse?
  • Was ist Garbage Collection?
  • Was ist Abhängigkeitsinjektion?
  • Wie entferne ich Duplikate aus einer Liste?
  • Wie überquere ich einen Baum?
  • Usw....

All dies sind Dinge, die ich wusste, bevor ich anfing, mit Java zu arbeiten, oder irgendwann während meines ersten Jahres mit Java.

Wo sind die Fragen zu dem, was ich in den letzten zehn Jahren gelernt habe?

Normalerweise wurde mir von den Interviewern gesagt, dass ich besser abschneide als andere Kandidaten ... was mich zum Nachdenken brachte: "Wirklich? An was für Leute denken Sie???"

Aber sollten solche Interviews mir das Gefühl geben, dass diese Positionen wahrscheinlich zu mittelmäßig für jemanden wären, der keine herkömmliche technologische Papierkramerei machen möchte (Antwort erhalten, schmücken und weiterleiten ... ja, über einen Webdienst , Yay...!)

Manchmal liegen diese Jobs in einer Gehaltsspanne mit einem Höchstgehalt, das etwas niedriger ist als das, was ich möchte. Ich kann immer noch gehen und mit ihnen reden:

  • Wenn der Personalvermittler mich davon überzeugt, dass es sich um ein großartiges Unternehmen handelt, das interessante Dinge tut.
  • Wenn ich denke, dass sie mich vielleicht sehen und bereit sind, ihr Angebot zu erhöhen.

Sollte ich vor Stellenangeboten davonlaufen, die ich nach solch entmutigenden Vorstellungsgesprächen erhalten könnte?

Ich kann mir vorstellen, dass diese Fragen eher dazu dienen, zu sehen, wie Sie die Dinge erklären, als Ihr Wissen zu testen.
Ja, du bist zu gut für sie – lauf
Wenn ich denke, dass sie mich vielleicht sehen und bereit sind, ihr Angebot aufzustocken. “ Das ist ein riesiger, riesiger Trugschluss. Es mag in einigen Fällen funktionieren, in denen das Unternehmen jemanden mit mehr Erfahrung einsetzen kann (der daher ein höheres Gehalt verdient), aber in der überwiegenden Mehrheit der Bewerbungen verschwenden Sie nur die Zeit aller. Sie suchen nach einem bestimmten Profil und haben ein bestimmtes Budget. Abgesehen davon können Leute nach nur wenigen Jahren in "leitenden" Positionen sein, also wette ich, dass Sie sich entweder auf die falschen Stellen bewerben oder sich zu sehr über Fragen aufregen, die darauf abzielen, unerfahrene Kandidaten auszusortieren.
Ich stelle in Interviews gerne X-gegen-Y-Fragen (wobei manchmal sowohl X als auch y gut sind). Sie können mehrere dieser Fragen als Ausgangspunkt für diese Art von Antworten verwenden. Schnittstelle vs. abstrakte Klasse. gc vs. Referenzzählung vs. manuelle Speicherverwaltung. Abhängigkeitsinjektion vs. Service Locator vs. newetc
Ich weiß zu schätzen, dass Sie eine größere Herausforderung suchen und sich geprüft fühlen möchten, aber am Ende des Tages ist es wichtig, ob die Rolle, das Gehalt und die Leistungen das sind, wonach Sie suchen? Wenn es für Sie einfach ist, haben Sie nur eine höhere Chance, die Rolle zu bekommen, warum sollten Sie es schwieriger machen wollen. Eine Berufsbezeichnung ist nicht das wirkliche Maß für Ihren Wert in einem Unternehmen, wenn dies der Fall wäre, dann wären Leute, die als „Business Development Manager“ bezeichnet werden, Manager und nicht nur Verkäufer mit einem ausgefallenen Titel.
Warum verstärkt dieser das Stereotyp des Java Guy?
„Sollte ich vor Stellenangeboten weglaufen, die ich nach solch entmutigenden Vorstellungsgesprächen bekommen könnte?“ - nur wenn sie deine Mindesterwartungen nicht erfüllen...
@Blrfl definiere Rant und definiere Frage.
Hehe... Ich kenne eine große Gruppe von "Senior Developers", die aus einem Baum weder Kopf noch Zahl machen können, geschweige denn, wie man einen durchquert. Gleiches gilt für DI, Schnittstellen usw. Viel Erfahrung und Zeit auf dem Feld zu haben, macht dich nicht automatisch gut darin!
Für mich ist diese Art von Zeug eine totale rote Flagge. Es zeigt, dass das Unternehmen/der Personalvermittler möglicherweise nur die grundlegendste Filterstufe durchführt. Wenn in einigen Fällen mehr Zeit zur Verfügung steht, um eine Lösung zu demonstrieren, wie Sie ein Problem angehen usw., dann ist das in Ordnung, das Unternehmen benötigt dies verständlicherweise als Basisreferenz bei der Auswahl von Kandidaten. Aber ein C # 101- oder Javascript 101-Typ Multiple-Choice usw. in einer Art "Buchwissen" -Routine-Learning-Test ... Lohnt sich meiner Meinung nach nicht.

Antworten (3)

Senior Developer ist nur ein paar Wörter, sie können alles bedeuten, abhängig davon, was das Unternehmen damit sagen möchte. Ignorieren Sie sie außer als allgemeine Richtlinie und konzentrieren Sie sich auf das, was bezahlt wird. Das ist der wahre Test dessen, wonach sie suchen.

Ich habe für ein Unternehmen gearbeitet, in dem außer den Putzfrauen und den Fahrern jeder ein leitender Entwickler oder leitender Ingenieur zu sein schien.

In meiner letzten Firma gab es Leute mit nur 4 Jahren Gesamterfahrung und ohne Verständnis für Schnittstellen oder grundlegende Fähigkeiten wie Repository-Management, die als Lead- und Senior-Entwickler bezeichnet wurden. Einige Leute bekommen diese Rollen nur aufgrund von Personalfluktuation und automatischer Beförderung und nicht aufgrund tatsächlicher Fähigkeiten und Fertigkeiten.
@Stormy, es passiert an vielen Orten, ich habe einen Mann mit 11 Jahren Erfahrung auf höchster Ebene in einer Regierungsabteilung in seinem Lebenslauf eingestellt (und bald gefeuert). Der Kerl wusste eigentlich NICHTS, außer sich zu entschuldigen und zu versuchen, alles an andere zu delegieren.
Ich habe es als Antwort auf „Ignorieren Sie sie außer als allgemeine Richtlinie und konzentrieren Sie sich auf das, was bezahlt wird. Das ist der wahre Test dafür, wonach sie suchen.“

Zwei Dinge hier.

  1. Sie wären überrascht, wie viele "ältere" Entwickler nicht einmal die Grundlagen beherrschen. Bei meiner letzten großen Rekrutierungsrunde für Entwickler scheiterten vielleicht 75 % des Pools beim ersten richtigen Vorstellungsgespräch, und wir fingen an, Fizz Buzz zu machen, nicht weil es ein großartiger positiver Indikator war, sondern weil es viele erwischte, die nicht einmal das konnten. Viele erfahrene Entwickler erreichen diesen Weg, indem sie einige Jahre dort sind, aber in ihren Fähigkeiten keine Fortschritte gemacht haben, daher sind diese Fragen notwendig.
  2. Abgesehen davon, was ist überhaupt ein "Senior"? Ich würde nicht automatisch sagen, dass technische Fähigkeiten der Unterschied zu einer Junior-Rolle sind, aber was ich erwarten würde, sind die mehr Soft Skills: in der Lage zu sein, ihre (und vielleicht die eines Juniors) Zeit zu verwalten; in der Lage sein, eine Aufgabe/Geschichte mit dem Unternehmen von Anfang bis Ende zu durchschauen und Probleme entsprechend zu behandeln (oder zu eskalieren); und in der Lage zu sein, einen Junior in den oben genannten Bereichen zu betreuen.

Was ich auch erwarten würde, ist eine andere Diskussionsebene zu den von Ihnen erwähnten Fragen, vielleicht einige weitere Meinungen darüber, warum sie gut / schlecht / hässlich sind und zu Kriegsgeschichten führen, die mir eher Vertrauen in ihre Fähigkeiten geben als eine Lehrbuchantwort.

Punkt 1 ist absolut beeindruckend. Ich habe Leute mit mehr als 10 Jahren Erfahrung gesehen, die nicht in der Lage waren, eine SQL-Anfrage mit einem einfachen Join und einem signle AND zu stellen, und das, nachdem sie eine Woche lang versucht hatten, sie zu erklären. Ein ausführlicherer Eintrag: blog.codinghorror.com/why-cant-programmers-program
@ gazzz0x2z, ich habe gesehen, dass bei Leuten, die sich für Datenbankprogrammierer bewerben, nicht nur solche, bei denen es ein kleiner Teil der erforderlichen Codierung war.
Berücksichtigen Sie auch, dass Manager, die die Interviews führen, möglicherweise mehrere Jahre lang vom Programmieren abwesend sind und daher die komplexeren Fragen nicht wirklich stellen können, weil sie sich der Antworten nicht mehr sicher sind. Denken Sie auch daran, dass es an der Zeit ist, wenn Sie über Ihre eigenen Errungenschaften sprechen, dieses fundierte Wissen zu besprechen, um zu zeigen, dass Sie über mehr als das niedrigste Qualifikationsniveau verfügen.
Ich bin immer wieder erstaunt über die Ergebnisse dieses FizzBuzz-Tests. Mein Bauchgefühl sagt "das ist nur eine schlechte Runde" und dann finde ich heraus, nein, es ist ziemlich Industriestandard, dass 1/4 oder 1/5 es bestehen können ... und es macht mich traurig ...

Das sind nicht wirklich "Java-Fragen", das sind "OOP-Fragen" und "Fragen zu Programmiersprachen". Wenn Sie also meinen, dass Sie die Antworten auf diese Fragen aus der Arbeit mit einer anderen OOP-Sprache kennen, dann ist das gut für Sie.

Ich denke, dass Fragen wie diese eher ein gutes Zeichen sind als Fragen zu Details der Java-Syntax oder API. Es deutet an, dass das Unternehmen erkennt, dass das Kennzeichen eines guten Softwareentwicklers darin besteht, dass er Konzepte versteht, die über bestimmte Sprachen hinausgehen. Ich wäre besorgt, wenn mir ein Unternehmen Fragen stellen würde wie: "Was ist der dritte Parameter der foo-Funktion in der bar-Klasse". Wenn ich mich nicht erinnere, kann ich es in ein oder zwei Minuten nachschlagen. Aber wenn ich nicht weiß, was Garbage Collection ist, ist das eine lange Geschichte.

Geben Sie dem Interviewer etwas Spielraum. Sich Fragen für Vorstellungsgespräche auszudenken, ist eine knifflige Angelegenheit. Ist Ihr Problem, dass die Fragen zu einfach sind? Wenn ja, gut für Sie. Diese Fragen würden einen guten Prozentsatz der Entwickler, denen ich begegnet bin, verblüffen. Wenn Sie sie alle richtig beantworten können, gehören Sie wahrscheinlich mindestens zu den oberen 50 %, vielleicht besser. Sie möchten Fragen, die schwierig genug sind, dass Sie die Kandidaten unterscheiden können, aber wenn Sie ihnen keinen 20-seitigen Test geben, möchten Sie keinen Kandidaten ausschließen, weil er die Antwort auf eine schwierige Frage nicht kannte. Wenn du zehn weitere gefragt hättest, hätte er vielleicht alle bekommen. Sie können viel nicht nur an der Antwort erkennen, sondern daran, wie der Kandidat antwortet. Offensichtlich, wenn er keine Ahnung hat, ist das ein Minus. Aber wenn er eine Lehrbuchdefinition herunterrattert, das kann darauf hindeuten, dass er die Schlagworte kennt, aber nicht wirklich weiß, wie das alles funktioniert. (Ich war einmal verbrannt, als ich einen Typen eingestellt habe, der im Vorstellungsgespräch alle möglichen Fachbegriffe und Definitionen aufsagen konnte, aber sich herausstellte, dass er nicht in der Lage war, die einfachsten Aufgaben zu erledigen. Ja, er konnte alle Rahmenwerke benennen und Sprachen und Produkte, aber als wir ihn baten, einen Bildschirm mit zwei Eingabefeldern zu schreiben und ihn in einer Datenbank zu speichern, hatte er keine Ahnung.) Ich bin beeindruckt, wenn jemand ein Konzept klar und sicher erklären kann.

Oh, und nach obskuren Fakten zu fragen erscheint mir ziemlich sinnlos. Vor Jahren fragte mich ein Interviewer, welche Daten in einem Unix-Inode seien. Ich wusste es zufällig – tatsächlich wusste ich es besser als er, er dachte, der Dateiname sei in einem Inode – aber wenn ich es nicht gewusst hätte, na und? Ich wusste es nur, weil ich eines Tages zufällig darüber gelesen hatte. Ich glaube nicht, dass ich dieses Wissen jemals beim Schreiben eines Programms genutzt habe.