Comment puis-je rendre la vie d'une nouvelle embauche confortable? [fermé]

36

En tant que membre senior d'une équipe de logiciels qui, malheureusement, dispose de peu de documentation pour des raisons héritées du passé, que pouvez-vous faire pour rendre la nouvelle embauche confortable?

J'ai planifié des sessions de débogage avec la personne sur des défauts / demandes de fonctionnalités spécifiques pour la familiariser avec la base de code. Cependant, la base de code est très volumineuse, et ce n’est qu’une quantité fixe de code que je peux exposer à la personne de cette manière.

Je suis à la recherche de suggestions dans les deux cas lorsque le nouvel employé est un jeune diplômé ou un professionnel expérimenté.

Fanatic23
la source
3
Que signifie "raisons héritées"?
Job
9
@Job: Cela signifie que les architectes originaux du code ne croyaient pas en la documentation. Ils étaient des gens mystiques.
Fanatic23
7
Je dirais que votre nouvelle recrue a besoin de temps et d’appui, et qu’il n’ya pas de délai immédiat! J'ai été cette nouvelle recrue où les bugs devaient être corrigés dès que possible pour le correctif d'un client, mais beaucoup d'entre eux étaient très impliqués - je devais me promener et parler littéralement à 6 personnes, produisant des réponses contradictoires. Quelqu'un a basculé parce que j'ai posé trop de questions. Cela aurait été plus facile si ce gars avait corrigé le code lui-même. J'avais besoin de personnel + pas de délais immédiats + une capacité (de temps alloué) pour améliorer les choses au fur et à mesure. Je n'en avais pas, alors j'ai failli arrêter mais j'ai décidé de ne pas vivre l'expérience :(
Job
@Job: très utile, merci. Aucune échéance immédiate n'est un bon début, et une main libre pour améliorer les choses améliorerait définitivement la confiance des candidats.
Fanatic23

Réponses:

31

Celles-ci s’appliquent réellement à toute nouvelle recrue, qu’il s’agisse d’une entreprise récente ou d’une vaste expérience dans le secteur:

  1. Assurez-vous que vous êtes accessible. Si vous êtes trop occupé pour les aider à se familiariser avec votre système, affectez-leur un mentor. Assurez-vous que le mentor est sympathique et prêt à faire des choses comme sortir déjeuner avec le nouvel employé. Le rôle du mentor est de répondre aux questions éventuelles du nouvel employé et de lui donner un coup de main au besoin.
  2. Assurez-vous que les tâches qui leur sont affectées ont le moins de dépendances possible. Il n'y a rien qui puisse causer à quelqu'un de nouveau dans votre système (expérience récente ou plus de 5 ans) de se sentir dépassé davantage que de leur assigner une tâche qui comporte des dépendances disséminées dans tout votre système (qu'ils devront également apprendre pour mener à bien leur tâche).
  3. Ayez une forme de liste de contact / propriété disponible sur un site intranet ou quelque chose du genre. Les nouvelles personnes (en particulier les étudiants de première année) hésitent généralement à demander "à qui est-ce que je pose des questions à propos du xsous-système?". Si une liste leur est fournie à la location, ils sont beaucoup plus disposés à envoyer un courrier électronique ou à leur parler directement sans avoir à passer par une chaîne de personnes pour trouver le bon.
  4. Obtenez de la documentation . Appliquez les normes de codage qui incluent les commentaires pouvant être analysés avec un utilitaire tel que Doxygen. Au minimum, cela fournira aux nouveaux employés la possibilité de parcourir votre API. Si vous utilisez un environnement de développement intégré tel que Netbeans, l’utilisation du format de commentaire Javadoc fournira une documentation accompagnée de l’achèvement du code. Inestimable lors de l'apprentissage d'un nouveau système.
  5. Avoir des réunions de bienvenue / déjeuner / bizutage / etc. Plonger quelqu'un dans son bureau sans quelques politesses personnelles de base peut lui donner un sentiment de détachement de l'équipe.
Demian Brecht
la source
1
Merci, mais que se passe-t-il si un nouvel employé est trop difficile à comprendre et que nous essayons de ne pas accepter sa faute, même si nous le leur enseignons à un Max.level? merci encore une fois
Naveen Kumar
2
@ Naveen: Il y a une telle chose comme une mauvaise location. S'ils ne veulent absolument pas (ou sont incapables) d'apprendre ou d'assumer la responsabilité de leurs tâches, je parlerais à leur responsable et je le laisserai entre leurs mains - soit ils contacteront le nouvel employé pour voir s'ils peuvent le faire. aider davantage et peut-être (espérons-le) les mettre sur la bonne voie, ou le nouvel employé peut penser qu'il / elle préférerait rechercher d'autres intérêts dans votre entreprise.
Demian Brecht,
10

Je pense que je peux vraiment vous aider avec celui-ci. À l'âge de 18 ans, mon premier emploi était un poste de développeur .Net. Ils disposaient d'un cadre très volumineux et il m'a directement demandé de suivre un cours intensif sur le CAB, et lorsque le premier projet est arrivé, il était censé en évaluer le projet et apprendre SqlServer, ainsi que leur cadre. Ce qui a fait de cette expérience une expérience merveilleuse, c’est que mon développeur principal a été à mes côtés tout au long du processus, depuis les estimations jusqu’à SqlServer, en passant par leur structure. J'ai appris rapidement ce que je devais apprendre, car je pouvais l'utiliser comme ressource pour des questions et de l'aide. Remarquez, cela a également été fait pendant que j'étais au Colorado et il était en Californie. (Développement à distance). Il m'a fait lire des livres blancs sur l'ACR, m'a indiqué de bonnes ressources, etc., alors ce n'est pas comme s'il devait faire tout l'enseignement, mais quand il s'agissait de questions, il était là. En bout de ligne, vous avez besoin de quelqu'un pour être le soutien de vos développeurs Jr.. Surtout si vous voulez qu'ils apprennent et grandissent avec l'entreprise et qu'ils aient de bonnes relations de travail. Ils voulaient que je déménage en Californie parce qu’ils étaient satisfaits du rythme auquel j’ai pu apprendre et progresser, et mon travail; malheureusement, je n’ai pas pu déménager à cause du coût, etc.

Cette expérience a vraiment mis un trait en moi aussi. Maintenant, je développe avec succès des logiciels pour des entreprises et des fondations de ma ville et je n’ai toujours que 21 ans. C'était le meilleur premier emploi et je suis extrêmement reconnaissant à Tom Anderson de RenEvo Software & Designs (qui était mon développeur senior). Un mentor incroyable.

David Anderson
la source
Merci d'avoir partagé votre histoire. Je comprends ce que cela fait d'être un candidat junior, qui a été là à un moment donné.
Fanatic23
Bravo Tom Anderson. Belle histoire.
Gary Rowe
Tom Anderson - David Anderson. Coïncidence ou avez-vous des liens de parenté avec Tom?
zeroef
Assez bizarre, coïncidence.
David Anderson
4

La société avec laquelle je suis maintenant, IMO, convient parfaitement aux nouvelles recrues. Voici certaines des choses que j'ai vu être efficaces.

Mentors

Peut-être un peu mal à propos parce que certains développeurs expérimentés pourraient ne pas penser qu'ils en ont besoin, mais nous avons une personne qui est désignée pour être votre mentor. Cette personne doit être disponible pour répondre à toutes vos questions. Cela fonctionne mieux s'ils restent à proximité du nouvel employé. L’intérêt d’un mentor est de faire en sorte que les nouvelles recrues, en particulier les juniors, soient suffisamment à l’aise pour ne pas tomber dans le piège de ne pas poser suffisamment de questions .

Documentation

Vous l'avez déjà mentionné, mais la documentation peut aider. Nous avons un document dans notre wiki ici qui décrit essentiellement vos deux premières semaines de travail. Au moment où vous avez terminé vos deux premières semaines de travail, vous vous êtes mis à l’écart, vous avez compris la nature du terrain et vous êtes à l'aise pour y travailler.

Steven Evers
la source
Trop de mentorat aboutit à un employé qui a généralement besoin d'une baby-sitter et demande quoi que ce soit, vraiment n'importe quoi au lieu de lire du code, etc. Je le recommanderais uniquement aux juniors.
Falcon
1
@ Falcon: Je n'ai pas vu cela se produire dans la pratique, mais je peux peut-être préciser que le mentor est davantage une personne dont le rôle est bien défini pour le nouvel employé comme étant celui qui doit maintenir une disponibilité élevée pour que le nouvel employé puisse répondre aux questions ou dirigez le nouvel employé vers les informations dont il a besoin. Encore une fois, un peu impropre, mais je ne peux pas penser à un meilleur nom pour le rôle.
Steven Evers
1
@ Falcon: Je ne suis pas d'accord (à propos de le recommander uniquement pour les juniors). Ceux qui ont de l’expérience s’améliorent-ils seuls (d’accord, la plupart peuvent le faire ), ou est-ce que cela devient plus facile avec le mentorat? Il y a toujours quelqu'un de meilleur que vous, quelqu'un qui existe depuis plus longtemps et quelqu'un à qui vous pouvez apprendre, pour vous aider à atteindre la prochaine étape de votre carrière, que vous soyez un nouvel employé ou un CTO.
Demian Brecht,
1

La patience

Rejoindre une nouvelle entreprise peut être assez décourageant, surtout si vous avez un nouveau produit à apprendre et utilisez des outils différents de ceux auxquels vous êtes habitué. Donnez-leur le temps de s'installer dans le nouvel environnement et de se mettre au diapason. Assignez-leur des tâches, mais sachez que cela leur prendra beaucoup plus de temps qu’un programmeur expérimenté.

Soutien

Vous n'avez pas nécessairement à leur affecter un mentor dédié, mais assurez-vous qu'il y a beaucoup de gens autour de vous qui peuvent leur offrir de l'aide quand ils en ont besoin.


Tout le monde a différentes façons d'apprendre, certains peuvent trouver qu'ils ont besoin d'un mentor, d'autres peuvent trouver qu'un mentor les ralentit. Il n'y a pas de solution unique, laissez-les donc trouver leur raison d'être et les soutenir, et soyez patients pendant qu'ils apprennent les ficelles du métier.

Gavin Coates
la source
1

J'ai commencé à occuper un nouvel emploi il y a 4 mois, et je pense vraiment que mon nouveau lieu de travail a vraiment fait du bon travail avec ce nouvel équipement.

Un pote

Ils ont un soi-disant "programme d'amis", dans lequel les développeurs peuvent s'inscrire pour devenir un ami / mentor pour les nouveaux employés. Lorsqu'un nouveau développeur est embauché, un développeur de la même équipe (qui s'est inscrit en tant que copain) est désigné comme étant le copain / mentor du nouveau type. Il est de sa responsabilité de préparer le nouveau type, de l’aider à résoudre les problèmes qu’il rencontrera, de déjeuner avec lui, de le présenter à l’équipe, etc.

B. faible dépendance

Cela a déjà été mentionné auparavant, mais commencez avec des tâches qui ne sont ni critiques ni trop difficiles à faire, sans une connaissance complète de la base de code. Il n'y a rien de pire que d'être jeté dans une base de code que vous ne connaissez pas et que vous devez ensuite exécuter dès le premier jour. Si possible, effectuez des assignations relativement simples ET couvrez l'ensemble du système. De cette façon, il aura une connaissance du système.

Vous avez probablement de petites tâches que vous n'avez pas eu le temps de faire, lorsque vous avez écrit le code pour la première fois. Donnez-lui ces tâches.

C. Formations pour les nouveaux employés

C'est probablement un luxe pour la plupart des gens, mais je travaille dans une grande entreprise qui peut se permettre de le faire. Tous les mois ou tous les deux mois environ, une sorte de formation pour les nouveaux employés est organisée. Il s’agit essentiellement d’une série de présentations ayant pour objectif de donner aux nouveaux employés une certaine connaissance du système, de la façon dont les tests sont effectués, du fonctionnement du suivi des bogues, etc.

Là où je travaille, il y a beaucoup d'équipes différentes, travaillant sur des tâches complètement différentes, mais sur le même logiciel. Un membre de chaque équipe est chargé de faire une présentation de son logiciel, où il donne une introduction à son travail, à son fonctionnement, etc. En plus de cela, il existe des formations sur les tests (je travaille en tant que testeur) sur la façon dont les tests sont écrits, comment ils sont exécutés, comment ils sont archivés dans la base de code, etc.


Pour résumer, soyez doux avec les nouveaux employés et ne vous attendez pas à un travail sérieux de leur part dans le premier mois. Donnez-leur des outils pour obtenir de l'aide et, si possible, donnez-leur des présentations ou des vidéos.

Niklas H
la source
1

Dessinez un croquis rapide sur un morceau de papier. Les blocs fonctionnels et les données voyagent entre eux. Pour que le nouvel employé puisse garder cette liste à portée de main et rechercher où il tente de toucher et quels modules l’affectent de manière hiérarchique.

Tout le reste vient avec le temps. Mais c’est la situation dans laquelle vous vous sentez stupide lorsque vous devez modifier 2 lignes de code, mais vous ne savez pas quels effets secondaires peuvent causer sur les modules dépendants, les blocs de code, etc.

Codeur
la source
0

En plus de ce qui a déjà été dit, identifiez les besoins en formation et répondez-y en fournissant du temps, du matériel, des cours internes, des livres, etc. Les chances ne sont pas forcément tout à fait connues. Faites-lui savoir que c'est correct.

Éloignez-le des «méchants». Il y a généralement au moins 1 personne arrogante dans chaque organisation (c'est ma loi :))

Si vous affectez un mentor, assurez-vous que celui-ci sait que c'est à lui de les aider et que cela ne lui fait pas peur. Prenez le temps dans le calendrier du mentor pour cela.

Faites un suivi de ses progrès le premier mois environ, déduisez ses problèmes si vous le pouvez.

Aucune chance
la source