Die Fragen sind nicht der Junge, sondern der Juni. 22 Fragen an den Arbeitgeber bei einem Interview für die Position des "Middle Python-Entwicklers"

Bild

Einführung


2 Jahre lang hatte ich das Glück, an mehr als vierzig Interviews als Kandidat für die Position des "Middle Python-Entwicklers" teilzunehmen. Bei den letzten fünfzehn Interviews wurde mir klar, dass ich dem Arbeitgeber Fragen stellen muss, um in Zukunft keine Arbeitsüberraschungen zu erleben. Zusätzlich zu den grundlegenden Fragen, die Kandidaten normalerweise dem Arbeitgeber stellen, habe ich beschlossen, meine Fragen zu formulieren. Als ich diese Fragen bei Interviews stellte, erhielt ich verschiedene Reaktionen von den Befragten. Jemand sagte, ich sei akribisch, jemand hielt diese Fragen für zu banal, und jemand wurde sogar nervös (errötete) und unterbrach das Interview sofort mit einer absurden Entschuldigung, dass er ein Treffen hatte. In diesem Artikel möchte ich über die allgemeinen Ideen für die Teilnahme an solchen Veranstaltungen sprechen und dem Arbeitgeber meine 22 Fragen stellen, die ich beim Vorstellungsgespräch stelle.


Allgemeine Ideen


Ein Interview mit einem mittleren Entwickler sieht oft genauso aus wie ein Interview mit einem Junior.

Das ist tatsächlich so. Dies liegt an der Tatsache, dass viele Teamleiter / technische Direktoren nicht genau wissen, was sie im mittleren Entwickler sehen möchten. Daher werden sie bei solchen Interviews normalerweise gebeten, „einen Dekorateur zu schreiben“ oder „eine Blasensorte in einer beliebigen Sprache zu schreiben“ .
Außerdem verstehen nur wenige, wie sich ein Junior-Entwickler von einem mittleren Entwickler unterscheidet. Jemand sagt, dass middle ein Entwickler mit Erfahrung aus anderthalb Jahren und jemand aus drei Jahren ist. Nach meinem Verständnis ist der mittlere Entwickler derjenige Entwickler, der ein kleines Projekt oder einen Teil eines großen Projekts sicher geben kann und der dafür verantwortlich war. Ein wichtiges Kriterium für einen mittleren Entwickler ist auch die Fähigkeit, ein Mentor für jemanden zu sein oder nur die Fähigkeit, einem neuen Mitarbeiter zu helfen, ein Projekt zu infiltrieren.

Ein Interview ist keine Prüfung, sondern eine Gelegenheit, herauszufinden, wie das Unternehmen und der Kandidat zusammenpassen.

Diese wichtige Regel wird von den Arbeitgebern selbst oft nicht verstanden. Einmal war ich bei einem Interview, bei dem ich gezwungen war, ein Ticket zu ziehen und dem Befragten auf einem Blatt Papier zu antworten. Darüber hinaus haben wir uns während des gesamten Interviews zehn Minuten lang unterhalten. Das gleiche Verhalten wird häufig vom Kandidaten verfolgt. Oft möchte der Kandidat alles beantworten und verhält sich vom ersten Schreibtisch an wie ein ausgezeichneter Schüler. Hier ist es aber auch wichtig zu verstehen, dass der Arbeitgeber nicht besonders daran interessiert ist, wie gut Sie den „Unterschied zwischen Python2 und Python3“ kennen . Für den Arbeitgeber ist es viel wichtiger, allgemein zu verstehen, wie Sie an einem Vorstellungsgespräch festhalten, wie Sie argumentieren, wie Sie auf Fehler reagieren usw.

Mittlerer Entwickler kann nicht ohne Erfahrung sein.

Natürlich ist es möglich, aber nach einiger Zeit wird dies sowohl für den Leiter dieses Entwicklers als auch für das Projekt enorme Probleme mit sich bringen. Für überbegabte Kandidaten ohne Erfahrung haben HR-Spezialisten ihren eigenen Begriff - „starker Nachwuchsentwickler“. Höchstwahrscheinlich wird solchen Entwicklern eine gute finanzielle Entschädigung angeboten, aber sie werden als Junior-Entwickler verantwortlich sein. Zurück zu den Middle-Entwicklern, möchte ich darauf hinweisen, dass Middle derjenige ist, der seit einiger Zeit in der Entwicklung gearbeitet hat und versteht, aus welchen Prozessen es besteht. Middle weiß auch, wie man mit verschiedenen Tools (Überwachung, Bereitstellung, Profilerstellung, Testen) arbeitet, auf die eine Person ohne Erfahrung wahrscheinlich nicht zu Schulungszwecken stößt.

Soft Skills werden zu einem wichtigen Faktor in der Position des Middle-Entwicklers.

Je höher die Position, desto mehr Menschen müssen interagieren. Daher werden bei der Einstellung einer Position als mittlerer Entwickler sehr häufig zusätzliche Interviews mit einem HR-Spezialisten erstellt, um ein psychologisches Porträt eines zukünftigen Mitarbeiters zu erstellen. Dieses Interview muss genauso ernst genommen werden wie das technische. Sie müssen verstehen, dass Sie weiterhin mit diesen Menschen arbeiten. Und wenn Sie der Meinung sind, dass Ihre zukünftigen Kollegen für Sie nicht sehr geeignet sind, ist es besser, die weitere Zusammenarbeit sofort abzulehnen.

Es ist weniger wahrscheinlich, dass Testjobs an die Position des mittleren Entwicklers vergeben werden.

Diese Aussage ist ziemlich subjektiv. Persönlich bin ich wirklich auf eine solche Tatsache gestoßen. Ich verbinde dies mit der Tatsache, dass der Arbeitgeber mehr an Ihrem Lebenslauf interessiert ist. Wenn der Lebenslauf nicht gut kompiliert ist, sollten Sie höchstwahrscheinlich auf die Testaufgabe warten.

Fragen


In diesem Abschnitt wird die Hauptliste der Fragen vorgestellt, die ich dem Arbeitgeber beim Vorstellungsgespräch stelle. Vielleicht wird diese Liste nach einiger Zeit erweitert oder eingegrenzt. Es sollte beachtet werden, dass diese Fragen genau bei technischen Interviews gestellt werden sollten und es ratsam ist, genau mit wem Sie später interagieren werden.

1. Wie läuft es mit dem Testen? Welche Tests schreibst du? Welche Bibliotheken verwenden Sie zum Testen? ( Fabriken , Moki usw.)

Testen ist ein sehr wichtiger Bestandteil jeder Entwicklung. Nach meinem Verständnis sollten alle Entwickler Tests schreiben, zumindest in irgendeiner Form. Die einzigen, die den Mangel an Tests verzeihen können, sind Startups. In Startups ändert sich häufig der Bewegungsablauf , aufgrund dessen alte Projekte normalerweise von niemandem benötigt werden. Es war also Zeitverschwendung, die Qualität solcher Projekte sicherzustellen. Für alle anderen Unternehmen sollte es in dieser Angelegenheit keine Gnade geben. Sie müssen verstehen, dass die Einführung eines neuen Mitarbeiters in das Projekt zunächst zu verschiedenen Fehlern im Code führt. Und die Tests in diesem Fall sind seine persönliche Rückversicherung und die Rückversicherung desjenigen, der seine Entscheidungen in die Produktion einfließen lässt.

Wenn der Arbeitgeber den zweiten Teil der Frage beantwortet, können Sie verstehen, wie gut das Team die Qualität seines Produkts und die möglichen Verantwortlichkeiten des Entwicklers sicherstellt, die in der Stelle nicht besprochen wurden.

Es ist erwähnenswert, dass technische Experten in dieser Angelegenheit häufig verloren gehen. Jemand sagt manchmal, dass das Team gerade mit dem Schreiben von Tests begonnen hat und noch nicht mit allen Feinheiten dieses Handwerks vertraut ist. Aber manchmal hörte ich diese Antwort: "Tester sollten an Tests beteiligt sein, und der Entwickler muss erstellen." Das ist absolut falsch.

Der Entwickler muss das erforderliche Minimum an Tests schreiben, da er weiß, wie die von ihm erstellte Funktion funktionieren soll. Niemand spricht über die Nutzlosigkeit von Testern. Es ist jedoch wichtig zu verstehen, dass Entwickler auch für die Qualität ihres Codes verantwortlich sein müssen.

2. Was macht der Entwickler mit dem Code, bevor er ihn an das Repository sendet?

Diese Frage bezieht sich auf die lokale Überprüfung Ihres Codes anhand verschiedener Parameter. Hier ist eine kurze Liste, welcher Code normalerweise vor dem Senden an das Repository überprüft wird:

  • Flake8 - Code-Analyse zur Einhaltung von PEP8 ,
  • Pylint - statische Code-Analyse,
  • Abdeckung - Code-Analyse für Testabdeckung,
  • Tox - Überprüfung des Codes auf Kompatibilität mit verschiedenen Versionen einzelner Pakete und mit verschiedenen Versionen von Python.

Das Fehlen dieses Falls in der Entwicklung ist nicht kritisch. In vielen Unternehmen wird dieser Fall auch direkt in CI verwendet, und der Entwickler startet nichts lokal. Auch wenn dies nicht in der Entwicklung verwendet wird, wäre es schön, wenn die Personen, die Sie interviewen, ein grundlegendes Verständnis dieser Tools hätten.

3. Gibt es CI / CD-Projekte? Gibt es einen DevOps- Ingenieur?

Diese Frage hat keine Fallstricke und ich bitte sie, das Gerät des Unternehmens besser zu verstehen. Wenn die Projekte kein CI / CD enthalten und der DevOps-Techniker ebenfalls abwesend ist, ist es wahrscheinlich, dass Sie dies tun. Daher ist dieser Punkt auch besser in einem Interview zu diskutieren.

4. Gibt es eine Codeüberprüfung? Wie geht es

Der erste Teil der Frage kann ohne Kommentare gelassen werden, da jeder die Bedeutung dieses Ereignisses versteht. Aber es ist erwähnenswert, dass ich persönlich genau daran interessiert war, wie es geht. Es kommt häufig vor, dass jedes Team den Entwickler überarbeitet, der die Zusammenführungsanforderung gestellt hat. Aber manchmal kommt es vor, dass es einen Mentor / Mentor über einen Entwickler gibt, und er ist es, der den Entwickler überprüft. Ich halte den ersten Ansatz für korrekter, denn je mehr Leute den Code überarbeiten, desto besser für das Projekt und das Team. Hier sind Aspekte wie Teamwork, kollektive Verantwortung und eine Erhöhung des Busfaktors unmittelbar betroffen.

5. Welches Versionskontrollsystem verwenden Sie?

Derzeit gibt es in Russland viele Unternehmen, die noch immer hg , svn und andere alte Versionskontrollsysteme verwenden. Dies gilt insbesondere für Unternehmen, die seit mehr als 10 Jahren auf dem Markt sind. Diese Frage testet mehr, wie alt das Unternehmen für neue Technologien anfällig ist. Es ist auch erwähnenswert, dass ich für kurze Zeit an der Entwicklung mit hg teilgenommen habe und es mir nicht viel Freude bereitet hat.

6. Verwenden Sie git / hg-flow oder eine bestimmte Methode, wenn Sie mit git / hg arbeiten?

Diese Frage ergibt sich aus der vorherigen Frage zu Versionskontrollsystemen. Wenn das Team git / hg nicht verwendet, macht es keinen Sinn, danach zu fragen. Wenn das Unternehmen git / hg verwendet , zeigt Ihnen diese Frage, wie gut der Entwicklungsprozess getestet wurde.

7. Verwenden Sie Entwicklungsmethoden (Scrum, Kanban usw.)?

In der Entwicklung ist es wichtig, einen bestimmten Ansatz (Methodik) einzuhalten. Der beliebteste Entwicklungsansatz ist iterativ. Mit diesem Ansatz können Sie Ihren Beitrag zum Projekt bestimmen. Nach meinem Verständnis ist dies definitiv gut, wenn ein Team eine Methode verwendet. Auf diese Weise können Sie Ihre Wirksamkeit bestimmen. Es hilft Ihnen auch dabei, die den Aufgaben zugewiesenen Zeitpläne zu verstehen. Es ist dasselbe, als wenn Schulkinder ein Vierteljahr haben, in dem sie Noten erhalten, um später die Abschlussnote für das Jahr zu bestimmen.

8. Werden in Projekten Überwachungssysteme verwendet (Sentry, NewRelic usw.)?

Das Vorhandensein von Überwachungssystemen in einem Projekt ist ebenso wichtig wie das Vorhandensein von Tests. Es sind Überwachungssysteme, mit denen Sie die Arbeit des gesamten Systems anhand der vom Endbenutzer ausgeführten Aktionen objektiv bewerten können. Wenn es keine Überwachungssysteme gibt, sollten Sie über die Qualität des hergestellten Produkts nachdenken. Es ist wie bei einem Koch, der Essen kocht, aber niemals jemanden fragt, ob es lecker ist.

9. Verwendet das Projekt ein System zum Speichern und Arbeiten mit Protokollen (ELK-Technologie usw.)?

Für mich ist dies auch ein wichtiger Indikator. Wenn keine ELK vorhanden ist, ist es sehr schwierig, die Ursache eines komplexen Fehlers im System zu ermitteln. Diese Frage ist nicht so wichtig wie Frage 8, aber es lohnt sich auch zu fragen, wie umfangreich die Erfahrung des Teams bei der Profilerstellung komplexer Fehler ist.

10. Welche Datenbanken werden im Projekt verwendet? Warum genau diese?

Diese Frage zielt darauf ab, die Kompetenz des Befragten zu bewerten. Sehr oft höre ich bei der Verwendung alter Datenbanken so etwas wie „es ist historisch passiert“. Ich halte diese Antwort für unangemessen. Der Techniker muss die Vor- und Nachteile der von ihm verwendeten Datenbank verstehen. Diese Frage sollte nur gestellt werden, wenn Sie selbst mit verschiedenen Datenbanken und deren Unterschieden vertraut sind.

11. Welche Version von Python wird in Projekten verwendet? Gibt es einen Plan für die Migration auf Python3.x, wenn die Version von Python2.x verwendet wird? Und wie werden Sie von einer Version zu einer anderen migrieren?

Diese Frage zielt wie die vorherige darauf ab, die Kompetenz des Befragten sowie seine Argumentation zu bewerten. Es muss verstanden werden, dass Arbeitgeber sehr Analphabeten sind und solche Probleme bereits in der Interviewphase identifiziert werden können. Bevor Sie diese Art von Fragen stellen, empfehle ich Ihnen dringend, sich selbst eingehender mit ihnen zu befassen.

12. Sucht das Unternehmen einen Fullstack-Entwickler oder Backend-Entwickler?

Ich stelle diese Frage nur, wenn das Unternehmen sie vor dem Interview nicht angegeben hat. Jobs Fullstack-Entwickler auf dem Arbeitsmarkt sind ziemlich häufig zu finden. Viele Unternehmen finden dies für sich selbst von Vorteil. Meine persönliche Erfahrung zeigt mir, dass es keine Fullstack-Entwickler gibt, da Frontend und Backend seit der Gründung des Web zu unterschiedliche Richtungen eingeschlagen haben. Mit anderen Worten: "Sie können nicht auf zwei Stühlen sitzen."

In den meisten Fällen ist das Unternehmen davon überzeugt, dass Sie das Frontend nicht kennen, und erwartet, dass Sie es direkt im Kampf lernen. Ich werde klarstellen, dass die Stelle als Fullstack-Entwickler für mich persönlich nicht akzeptabel ist. Viele Leute finden dies eine ausgezeichnete Gelegenheit, in die reiche Welt des Frontends einzutauchen, ohne einen einzigen Rubel zu bezahlen.

13. Wird in Projekten die Containerisierungstechnologie eingesetzt?

Diese Frage ist eine Ergänzung zu Frage Nr. 3.

14. Fragen Sie den Interviewer ein wenig, was er vor diesem Projekt getan hat und wie lange er schon im Projekt war.

Diese Frage ist sehr wichtig. Je reicher die Erfahrung Ihres Befragten ist, desto mehr wirkt sich dies im Laufe der Zeit auf Ihre Fähigkeiten aus. Es ist besonders gut, eine solche Frage in einem kleinen Unternehmen zu stellen, in dem die Fluktuation langsam ist.

15. Hat das Unternehmen eine jährliche / vierteljährliche Mitarbeiterbewertung und wie geschieht dies?

Es ist für jeden Mitarbeiter nützlich, Feedback von seinen Kollegen zu erhalten. Wenn das Unternehmen spezielle Veranstaltungen dafür hat, dann ist das wunderbar. Wenn nicht, gibt es keinen Grund zur Sorge. In jedem Fall verbietet niemand, in freier Form Feedback von Kollegen anzufordern.

16. Hat das Unternehmen eine Bearbeitung? Wenn ja, werden sie versetzt und wie oft treten sie auf?

Nur wenige Menschen recyceln gerne, besonders wenn Sie Student oder stillender Vater sind. Es gibt eine Vielzahl von Unternehmen, die das Recycling in den Vordergrund stellen. Um zu verstehen, dass das Unternehmen keine Raffinerien hat oder selten ist, müssen Fragen dieser Art gestellt werden. Wenn das Unternehmen gelegentlich raffiniert, gibt es nichts Kritisches. Wenn die Raffination häufiger ist, lohnt es sich, die Möglichkeit eines weiteren Verbleibs im Unternehmen in Betracht zu ziehen.

17. Wie stark ist die Bürokratie im Unternehmen? (Rate von 1 bis 10)
Viele Entwickler sind sich der Präsenz von Bürokratie im IT-Bereich nicht einmal bewusst, aber leider existiert sie. Dies gilt insbesondere für große alte Unternehmen oder für Unternehmen, die mit dem Staat zusammenarbeiten. Bestellungen. Der Grad der Bürokratie in einem Unternehmen hängt nur von der Vorstellungskraft des Managements ab. In der Regel besteht die Bürokratie aus verschiedenen formalen Anwendungen, Sehenswürdigkeiten, Zugriffen, Interessenkonflikten zwischen mehreren Abteilungen des Unternehmens und dem Schreiben langweiliger Rohdokumentationen in Word. Das Hauptproblem einer solchen Bürokratie ist die sehr starke Hemmung des Entwicklungsprozesses. Was in einem normalen Unternehmen an einem Arbeitstag erledigt wird, dauert Wochen. Einfach ausgedrückt, je stärker die Bürokratie im Unternehmen ist, desto langsamer ist die Entwicklung des Produkts und Ihre Entwicklung als Spezialist.

18. Wie ist die Situation beim Ressourcenabbau?

Unter Ressourcen werden neue Computer für Mitarbeiter, Server, Domänen, Lizenzen usw. verstanden. Dieses Problem kann auch der vorherigen Ausgabe der Bürokratie zugeschrieben werden.

19. In welcher Beziehung steht der Interviewer zu neuen Implementierungen im Projekt?

Diese Frage ermöglicht es uns, die Demokratie innerhalb des Teams zu bewerten. Mit dieser Frage können Sie auch verstehen, wie wichtig die Stimme eines normalen Entwicklers für das Team und den Mentor ist.

20. Ist das Unternehmen Teilnehmer an IT-Konferenzen und hat das Unternehmen Veröffentlichungen zu IT-Themen?

Die Konferenz ist eine großartige Gelegenheit für den Entwickler und das Unternehmen, sich und ihre Leistungen zu erklären. Wenn das Unternehmen veröffentlicht ist und an Konferenzen teilnimmt, können Sie diese Gelegenheit auch irgendwann nutzen. Wenn dies für Sie nicht interessant ist, macht es keinen Sinn, danach zu fragen.

21. Gibt es Mitaps im Unternehmen?

Hier werden wir über Entwickler-Mitaps innerhalb eines Teams oder zwischen Teams sprechen. Mitapas sind sehr wichtig. Mit ihnen können Sie herausfinden, wer und was genau zu einem bestimmten Zeitpunkt tut. Wenn Sie Probleme mit öffentlichen Reden haben, trägt dies auch zur Entwicklung Ihrer Soft Skills bei .

22. Verfügt das Unternehmen über Praktikanten und ein Mentorensystem?

Praktikanten sind eine potenzielle Zukunft für das Unternehmen. Wenn das Unternehmen Praktikanten hat, können Sie vielleicht ein Mentor für sie sein und Ihre persönlichen Erfahrungen teilen. Mentoring ist auch einer der Bereiche, in denen Sie sich entwickeln können.

Fazit


All dies sind meine Gedanken, die auf persönlichen Erfahrungen beruhen und keine hundertprozentige wahre Information sind. Die Hauptmoral des Artikels ist, dass nicht nur der Kandidat, sondern auch der Arbeitgeber überprüft werden muss. Seien Sie auch vor Interviews oder bei Interviews nicht nervös. Sie müssen verstehen, dass die Interviewer dieselben Personen wie Sie sind, die sich auch irren oder etwas nicht wissen oder nicht verstehen.

Source: https://habr.com/ru/post/de428283/


All Articles