Wie kann ich das Leben eines neuen Mitarbeiters angenehm gestalten? [geschlossen]


36

Als leitendes Mitglied eines Softwareteams, das aus alten Gründen leider nur wenig Dokumentation hat, was kann man tun, um einen neuen Mitarbeiter komfortabel zu machen?

Ich habe Debugsitzungen mit der Person für bestimmte Fehler / Funktionsanforderungen geplant, um sie mit der Codebasis vertraut zu machen. Die Codebasis ist jedoch sehr groß und es gibt nur eine feste Codemenge, der ich die Person auf diese Weise aussetzen kann.

Ich suche in beiden Fällen nach Vorschlägen, wenn es sich bei dem neuen Mitarbeiter um einen Absolventen oder einen erfahrenen Fachmann handelt.


3
Was bedeutet "alte Gründe"?
Job

9
@Job: Das bedeutet, dass die ursprünglichen Architekten des Codes nicht an Dokumentation geglaubt haben. Sie waren mystische Leute.
Fanatic23

7
Ich würde sagen, dass Ihre neue Einstellung Zeit und Unterstützung und keine unmittelbaren Fristen benötigt! Ich war der Neueinsteiger, bei dem Fehler so schnell wie möglich für einen Client-Patch behoben werden mussten, aber viele von ihnen waren sehr involviert - ich musste herumlaufen und mit buchstäblich 6 Personen sprechen, was zu widersprüchlichen Antworten führte. Jemand drehte sich um, weil ich zu viele Fragen stellte. Es wäre einfacher gewesen, wenn dieser Typ den Code selbst repariert hätte. Ich brauchte die Verfügbarkeit von Leuten + keine unmittelbaren Termine + eine Fähigkeit (zugeteilte Zeit), um die Dinge zu verbessern, während ich ging. Ich hatte keine, also hätte ich fast aufgehört, aber ich entschied mich nicht für die Erfahrung :(
Job

@ Job: sehr nützlich, danke. Keine unmittelbaren Fristen sind ein guter Anfang, und eine freie Hand, um Dinge zu verbessern, würde definitiv das Vertrauen der Kandidaten verbessern.
Fanatic23

Antworten:


31

Diese gelten für jeden neuen Mitarbeiter, unabhängig davon, ob er ein Neuling ist oder über umfangreiche Branchenerfahrung verfügt:

  1. Stellen Sie sicher, dass Sie erreichbar sind. Wenn Sie zu beschäftigt sind, um sie mit Ihrem System vertraut zu machen, beauftragen Sie sie mit einem Mentor. Stellen Sie sicher, dass der Mentor sympathisch ist und bereit ist, Dinge zu tun, wie mit dem neuen Mitarbeiter zum Mittagessen ausgehen. Die Aufgabe des Mentors ist es, alle Fragen zu beantworten, die der neue Mitarbeiter möglicherweise hat, und ihn bei Bedarf zu unterstützen.
  2. Stellen Sie sicher, dass alle ihnen zugewiesenen Aufgaben so wenig Abhängigkeiten wie möglich aufweisen. Es gibt nichts, was dazu führen könnte, dass sich jemand, der neu in Ihrem System ist (frisch oder mehr als 5 Jahre Erfahrung), überfordert fühlt, als ihm eine Aufgabe zuzuweisen, die Abhängigkeiten in Ihrem System aufweist (die er auch lernen muss, um seine Aufgabe zu erledigen).
  3. Stellen Sie über eine Intranetsite eine Art Kontakt- / Eigentumsliste zur Verfügung oder ähnliches. Neue Leute (vor allem Neulinge) sind in der Regel eher vorsichtig mit der Frage "Wen frage ich nach dem xSubsystem?". Wenn eine Liste für sie zum Mieten bereitgestellt wird, sind sie viel eher bereit, eine E-Mail abzusenden oder direkt mit ihnen zu sprechen, ohne eine Kette von Leuten durchlaufen zu müssen, um die richtige zu finden.
  4. Holen Sie sich die Dokumentation auf . Erzwingen Sie Codierungsstandards, die Kommentare enthalten, die mit einem Dienstprogramm wie Doxygen analysiert werden können. Auf diese Weise erhalten neue Mitarbeiter mindestens die Möglichkeit, Ihre API zu durchsuchen. Wenn Sie eine IDE wie Netbeans verwenden, enthält die Verwendung des Javadoc-Kommentarformats eine Dokumentation sowie die Vervollständigung des Codes. Von unschätzbarem Wert beim Erlernen eines neuen Systems.
  5. Begrüßungstreffen / Mittagessen / Schikanieren / etc. Wenn Sie jemanden ohne grundlegende persönliche Aufmerksamkeiten in den Schreibtisch stürzen, fühlen Sie sich möglicherweise eher losgelöst vom Team.

1
Vielen Dank, aber was ist, wenn ein neuer Mitarbeiter zu schwer zu verstehen ist und versucht, seine Schuld nicht zu akzeptieren? Nochmals vielen Dank
Naveen Kumar

2
@naveen: Es gibt so etwas wie eine schlechte Einstellung. Wenn sie absolut nicht bereit (oder nicht in der Lage) sind, zu lernen oder Verantwortung für ihre Aufgaben zu übernehmen, würde ich ein Gespräch mit ihrem Manager führen und es in ihren Händen lassen - entweder sie werden mit dem neuen Mitarbeiter sprechen, um zu sehen, ob sie es können helfen Sie weiter und bringen Sie sie vielleicht (hoffentlich) auf den richtigen Weg, oder der neue Mitarbeiter stellt möglicherweise fest, dass er / sie lieber andere Interessen außerhalb Ihres Unternehmens verfolgen möchte.
Demian Brecht

10

Ich denke, ich kann dir wirklich dabei helfen. Als ich 18 war, war mein erster Job eine Stelle als Jr. .Net Developer. Sie hatten ein sehr umfangreiches Framework und er ließ mich sofort einen Crashkurs in CAB lernen. Als das erste Projekt kam, sollte ich das Projekt einschätzen und SqlServer und deren Framework lernen. Was dies zu einer wundervollen Erfahrung machte, war, dass mein Senior-Entwickler während des gesamten Prozesses für mich da war, von Schätzungen über SqlServer bis hin zu deren Framework. Ich habe sehr schnell gelernt, was ich lernen musste, weil ich ihn als Ressource für Fragen und Hilfe nutzen konnte. Wohlgemerkt, dies wurde auch gemacht, als ich in Colorado war, und er war in Kalifornien. (Remote-Entwicklung). Er ließ mich Whitepapers über CAB lesen, wies mich auf gute Ressourcen usw. hin, so dass es nicht so war, als müsste er den ganzen Unterricht machen. aber wenn es um Fragen ging, war er da. Unterm Strich brauchen Sie jemanden, der Ihre Jr.-Entwickler unterstützt. Vor allem, wenn Sie möchten, dass sie lernen und mit dem Unternehmen wachsen und eine gute Zusammenarbeit pflegen. Sie wollten, dass ich nach Kalifornien umziehe, weil sie mit der Geschwindigkeit, mit der ich lernen und Fortschritte machen konnte, und mit meiner Arbeit zufrieden waren. Leider konnte ich den Umzug aus Kostengründen nicht machen.

Diese eine Erfahrung hat mich auch wirklich geprägt. Jetzt entwickle ich selbst erfolgreich Software für Unternehmen und Stiftungen in meiner Stadt und bin erst 21 Jahre alt. Es war der beste erste Job und ich bin Tom Anderson von RenEvo Software & Designs (der mein Senior-Entwickler war) sehr dankbar. Ein großartiger Mentor.


Vielen Dank, dass Sie uns Ihre Geschichte mitgeteilt haben. Ich verstehe, wie es sich für einen Nachwuchskandidaten anfühlt, irgendwann dort zu sein.
Fanatic23

Gut gemacht, Tom Anderson. Gute Geschichte.
Gary Rowe

Tom Anderson - David Anderson. Zufall oder bist du mit Tom verwandt?
Zeroef

Seltsamerweise Zufall.
David Anderson

4

Die Firma, mit der ich jetzt zusammen bin, IMO, macht es richtig für Neueinstellungen. Hier sind einige der Dinge, die sich als effektiv erwiesen haben.

Mentoren

Vielleicht ein bisschen missverstanden, weil einige erfahrene Entwickler vielleicht nicht glauben, dass sie einen brauchen, aber wir haben 1 Person, die als Ihr Mentor eingesetzt wird. Diese Person steht für alle Fragen zur Verfügung . Es funktioniert besser, wenn sie in der Nähe der neuen Miete sitzen. Der springende Punkt eines Mentors ist, dass Neueinstellungen, insbesondere für Junioren, bequem genug sind, um nicht in die Falle zu geraten, nicht genügend Fragen zu stellen .

Dokumentation

Sie haben es bereits erwähnt, aber die Dokumentation kann helfen. Wir haben hier ein Dokument in unserem Wiki, das im Grunde Ihre ersten zwei Wochen im Job beschreibt. Wenn Sie Ihre ersten zwei Wochen durchlaufen haben, sind Sie in eine Rille geraten, haben die Lage des Landes erreicht und fühlen sich wohl, dort zu arbeiten.


Zu viel Mentoring führt dazu, dass ein Mitarbeiter die meiste Zeit einen Babysitter braucht und alles, wirklich alles fragt, anstatt Code zu lesen. Ich würde es nur Junioren empfehlen.
Falcon

1
@ Falcon: Ich habe das in der Praxis noch nicht gesehen, aber vielleicht kann ich klarstellen, dass der Mentor eher eine Person ist, deren Rolle für den neuen Mitarbeiter klar definiert ist, als jemand, der für die Beantwortung von Fragen eine hohe Verfügbarkeit für den neuen Mitarbeiter gewährleisten soll oder leiten Sie den neuen Mitarbeiter an alle Informationen, die sie benötigen. Wieder ein bisschen falsch, aber mir fällt kein besserer Name für die Rolle ein.
Steven Evers

1
@ Falcon: Ich bin anderer Meinung (ich empfehle es nur für Junioren). Diejenigen Sie mit Erfahrung besser nur von ihnen selbst (okay, so dass die meisten können ), oder ist es einfacher geworden , mit Mentoring? Es gibt immer jemanden, der besser ist als Sie, jemanden, der schon länger in der Nähe ist und von dem Sie lernen können, damit Sie den nächsten Karriereschritt erreichen, egal ob Sie ein neuer Mitarbeiter oder CTO sind.
Demian Brecht

1

Die Geduld

Der Beitritt zu einem neuen Unternehmen kann ziemlich entmutigend sein, insbesondere wenn Sie ein neues Produkt kennenlernen und andere Tools verwenden, als Sie es gewohnt sind. Geben Sie ihnen Zeit, sich an die neue Umgebung zu gewöhnen und sich auf den neuesten Stand zu bringen. Weisen Sie ihnen Aufgaben zu, aber seien Sie sich bewusst, dass sie viel länger brauchen als ein normal erfahrener Programmierer.

Unterstützung

Sie müssen ihnen nicht unbedingt einen engagierten Mentor zuweisen, aber stellen Sie sicher, dass es viele Leute gibt, die ihnen helfen können, wenn sie es brauchen.


Jeder hat unterschiedliche Lernmethoden, manche finden, dass sie einen Mentor brauchen, andere finden, dass ein Mentor sie verlangsamt. Es gibt keine einheitliche Lösung für alle Fälle. Lassen Sie sie stattdessen ihren Boden finden und sie unterstützen, und seien Sie geduldig, während sie die Seile lernen.


1

Ich habe vor 4 Monaten bei einem neuen Job angefangen und ich denke wirklich, dass mein neuer Arbeitsplatz einen wirklich guten Job bei diesem neuen Leihmaterial gemacht hat.

Ein Kumpel

Sie haben ein sogenanntes "Buddy-Programm", bei dem Entwickler sich als Buddy / Mentor für neue Mitarbeiter anmelden können. Wenn ein neuer Entwickler eingestellt wird, wird ein Entwickler im selben Team (der sich als Buddy angemeldet hat) als Buddy / Mentor des neuen Entwicklers bezeichnet. Es liegt in seiner Verantwortung, den neuen Mann zum Laufen zu bringen, ihm bei den Problemen zu helfen, mit ihm zu Mittag zu essen, ihm das Team vorzustellen und so weiter.

B. Geringe Abhängigkeit

Dies wurde bereits erwähnt, aber beginnen Sie mit Aufgaben, die nicht kritisch und zu schwierig sind, ohne die Codebasis vollständig zu kennen. Es gibt nichts Schlimmeres, als in eine unbekannte Codebasis geworfen zu werden, die Sie ab Tag 1 ausführen müssen. Nehmen Sie nach Möglichkeit relativ einfache UND systemübergreifende Zuweisungen vor. Auf diese Weise erhält er einige Kenntnisse über das System.

Wahrscheinlich haben Sie kleine Aufgaben, für die Sie beim ersten Schreiben des Codes keine Zeit hatten. Gib ihm diese Aufgaben.

C. Neueinstellungen

Das ist wahrscheinlich Luxus für die meisten, aber ich arbeite in einem großen Unternehmen, das es sich leisten kann, dies zu tun. Jeden Monat oder alle zwei Monate wird eine Art Schulung für neue Mitarbeiter angeboten. Es handelt sich im Grunde genommen um eine Reihe von Präsentationen mit dem Ziel, den neuen Mitarbeitern Kenntnisse über das System, das Testen, die Funktionsweise der Fehlerverfolgung usw. zu vermitteln.

Wo ich arbeite, gibt es viele verschiedene Teams, die an völlig verschiedenen Aufgaben arbeiten, aber an derselben Software. Ein Mitglied jedes Teams wird beauftragt, eine Präsentation seines Teils der Software zu halten, in der es eine Einführung in die Funktionsweise dieses Teils und so weiter gibt. Außerdem gibt es Schulungen zu Tests (ich arbeite als Tester), wie Tests geschrieben werden, wie sie ausgeführt werden, wie sie in die Codebasis eingecheckt werden und so weiter.


Um es zusammenzufassen, seien Sie vorsichtig mit Neueinstellungen und erwarten Sie im ersten Monat oder so keine ernsthafte Arbeit von ihnen. Geben Sie ihnen Werkzeuge, um Hilfe zu erhalten, und geben Sie ihnen, wenn möglich, Präsentationen oder Videos.


1

Zeichnen Sie eine kurze Skizze auf ein Blatt Papier. Funktionsblöcke und Daten wandern zwischen ihnen. Damit der neue Mitarbeiter diese Liste immer griffbereit hat und nachschaut, wo sich die Stelle befindet, die er berühren möchte, und welche Module sie hierarchisch beeinflussen.

Alles andere kommt mit der Zeit. Aber es ist das große Ganze, das Sie dumm erscheinen lässt, wenn Sie zwei Codezeilen ändern müssen, aber keine Ahnung haben, welche Nebenwirkungen abhängige Module, Codeblöcke usw. verursachen können.


0

Zusätzlich zu dem, was zuvor gesagt wurde, müssen Sie den Schulungsbedarf ermitteln und entweder Zeit, Material, Inhouse-Kurse, Bücher usw. bereitstellen. Es besteht die Möglichkeit, dass nicht jeder alles weiß. Machen Sie ihn / sie darauf aufmerksam, dass dies in Ordnung ist.

Halten Sie ihn / sie von "Bösen" fern. Es gibt normalerweise mindestens 1 arrogante Person in jeder Organisation (das ist mein Gesetz :))

Wenn Sie einen Mentor beauftragen, stellen Sie sicher, dass der Mentor weiß, dass es die Aufgabe des Mentors ist, zu helfen, und dass dies nicht aus seinem Herzen heraus geschieht. Nehmen Sie sich dafür Zeit im Zeitplan des Mentors.

Verfolgen Sie seine Fortschritte im ersten Monat oder so und schließen Sie seine Probleme, wenn Sie können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.