11
votes

Formation à stagiaire - meilleure approche?

Nous avons un stagiaire à partir de la semaine prochaine. Il a un diplôme en informatique mais aucune expérience de développement réelle dans .NET ou SQL Server. Nous aimerions le faire passer au point où il est au moins semi-productif en C # et SQL Server. Quelles suggestions pourraient-elles avoir, qui ont suivi cela, quant à la meilleure façon de commencer à l'entraîner dans C # et SQL Server? Je veux faire une bonne expérience pour lui et pour nous.


0 commentaires

9 Réponses :


10
votes

Une partie de la meilleure expérience que j'ai eue avec cela (à partir de deux perspectives) est une approche 2 fois.

première formation de produits. Montrez au nouveau développeur ce que le produit qu'il travaillera est et ce qu'il fait d'un point de vue de l'utilisateur final. Il est utile de développer le contexte du code sous la hotte. C'est une chose qui est généralement négligée; Cependant, contribue énormément puisqu'il aide également le nouveau devateur de devenir plus confiant pour tester le code qu'il travaille au lieu de ne pas être trébuché par le code.

Deuxième - Paire Programmation / ombrage / Mentorat . Avoir le développeur travaille avec une personne plus vétéran dans une situation de programmation par paire avec un léger aspect de mentorat. Cela aidera à évaluer le véritable skilset du développeur et à fournir des mesures correctives aux habitudes de l'équipe tôt. Il fournit également un moyen d'apprendre et ne s'inquiète pas d'interrompre les anciens combattants avec des questions et de ce qui n'est pas ainsi.

Une fois que cela est fait, commencez à nourrir la nouvelle personne des tâches plus petites ou des bugs plus faciles et accumulez-les à partir de là.


2 commentaires

Certainement une bonne idée de faire ces choses, car cela fait sentir le stagiaire qu'il participe au reste de l'équipe. Mais cela ne fonctionnera que lorsqu'il a une connaissance de base de C # et SQL, qu'il ne semble pas avoir en fonction de la question. Sinon, il ne comprendra pas complètement le code montré à lui pendant les révisions du couplage / code. Ainsi, à mon avis, trouvez-le d'abord avec un projet d'animal de compagnie, puis utilisez votre approche.


@tomlog qui est vrai; Cependant, il est difficile d'assumer exactement la portée des connaissances que le stagiaire a dans la question. La plupart des diplômes de CS que j'ai vus avoir des cours de base et des cours SQL, donc je suppose qu'il possède des connaissances de base lorsque le mentorat / jumelage peut l'aider non seulement à acquérir des connaissances, mais de la monder dans les normes de l'équipe. Si le stagiaire dispose de 0 connaissances de programmation, alors je m'interrogerais sérieusement le diplôme CS à ce moment-là.



3
votes

Parler en tant que quelqu'un qui est interné pour deux sociétés différentes, l'un des meilleurs moyens de le faire monter à la vitesse est de lui donner un petit projet d'animal de compagnie avec un mentor pour superviser ses progrès. Cela lui permettra de commencer à se familiariser avec les technologies qu'il travaillera, tandis que le mentor peut le guider d'une manière qui lui apprendra les pratiques et procédures de votre entreprise.

Après qu'il soit suffisamment familier avec C # et SQL Server, vous pouvez commencer à le faire faire des travaux de développement réels. Commencez-le petit avec des corrections de bugs douces, puis augmentez la difficulté jusqu'à ce que vous puissiez lui appeler un développeur à part entière. Avec une chance, vous ne lui appellerez même pas un stagiaire dans un mois ou deux.


0 commentaires

1
votes

Si vous avez des projets de type «animal de compagnie» (projets que votre entreprise ne pourrait jamais vraiment justifier de passer du temps sur, mais serait utile et assez simple), je leur donnerais cela.

Ce serait un bon moyen de commencer à apprendre le matériel, car c'est un travail réel (il est toujours plus difficile d'apprendre quelque chose et de rappeler le matériel, s'il s'agit d'un exemple de programme et non de quelque chose qui n'est pas réellement utile). Ce sera un bon départ pour apprendre à utiliser Google pour les questions / tutoriels et créer une relation avec votre équipe en posant des questions. À partir de là, ils devraient avoir un contexte suffisant décent pour commencer à travailler sur des applications réelles.

Si le projet PET est suffisamment petit, vous voudrez peut-être leur avoir à nouveau visiter l'application vers la fin du stage pour réécrire / améliorer la demande. Ils seront probablement surpris de ce qu'ils ont ramassé au cours du stage


0 commentaires

1
votes

Commencez par identifier certaines zones de complexité facile à moyenne et identifiez clairement le but de chaque tâche. Donnez-leur un sentiment de l'entreprise / domaine afin qu'ils comprennent comment les choses correspondent ensemble. Une fois qu'une tâche est terminée, demandez-lui de l'examiner avec un développeur à temps plein pour vous assurer qu'il satisfait aux exigences et d'identifier tout domaine faible dans lequel de meilleures pratiques peuvent être utilisées (cela fournit une opportunité de mentorat / d'éducation).

Ce que vous ne voulez pas, c'est de les envoyer de codage de choses de choses, puis découvrez que le code n'est pas au courant. Quant à la base de données, soyez prudent. Limiter les autorisations (c.-à-d. Woops, je ne voulais pas Supprimer / goutte que!) Ou espérons que vous avez un environnement de développeur dédié où les choses qui vont mal ne sont pas dévastatrices récupérer de. Peut-être un projet latéral avec une base de données d'échantillons à tester avant d'intégrer le travail dans l'environnement réel.


0 commentaires

0
votes

Nous avons un stagiaire dans notre équipe environ 6 mois. Je l'embauche et c'est un vraiment bonne expérience. Quand je l'ai interviewé, Hi Répondez à toutes les questions de CS, mais lorsqu'il commence à travailler avec nous, il était horrible toutes les pires pratiques - commettant un code brisé, verrouillant des fichiers SVN, des espaces de vote tous les domaines et des espaces de noms Comme classes , long très méthodes longues avec une énorme tête d'arrow antiappellerie à l'intérieur. et enfin le meilleur C # code que j'ai jamais vu: xxx

Ma seule suggestion est contrôler .


0 commentaires

1
votes

Certaines bonnes suggestions déjà, mais je vais ajouter, demandez-lui de vous asseoir sur des critiques de code pour d'autres développeurs. Il peut apprendre beaucoup d'écouter les gens passer par leur code l'un pour l'autre.

Ne lui donnez pas de droits de faire quoi que ce soit à l'exception de votre base de données de production. Demandez-lui que tous les codages SQL et changent de scripts et demandez-lui de les ajouter à votre contrôle source. Assurez-vous de coder tout ce qu'il fait.

Probablement la chose la plus importante, cependant, c'est de lui donner une ou plusieurs tâches réelles à accomplir (tout en veillant à passer beaucoup de temps à surveiller ce qu'il fait, de le garder trop loin sur le mauvais chemin). Vous n'apprenez tout simplement pas autant quand vous savez que vous avez reçu une tâche qui est traité que personne n'a l'intention de mettre en œuvre réellement.

Si vous souhaitez vous déplacer dans un évirencement où vous avez des tests plus automatisés, mais je n'ai pas été en mesure de trouver le temps d'écrire les tests du code existant, vous pouvez le mettre en place pour faire certains de ceux-ci. C'est quelque chose d'utile de faire ce risque relativement faible et lorsque le code réel meurt sur l'un de ses tests et qu'il trouve un bug que personne d'autre ne connaissait, il y aura un sentiment réel de complotlishMet. Cela lui demandera également de commencer à obtenir des exigences commerciales de sous-cours et comment lire le code et les tests existants et beaucoup d'autres concepts.

Pour un stagiaire, apprendre à utiliser le contrôle de la source et faire des tests et travailler avec d'autres sont les compétences essentielles à apprendre.


0 commentaires

2
votes
  • De petits projets pour l'aider à se coucher.
  • Demandez-lui d'examiner d'autres développeurs Code des projets
  • le pointez sur le wiki interne (si utilisé)
  • formation en ligne ou cours de formation Microsoft de 2 à 5 jours (budget en attente)
  • en dehors du service informatique, veille à sa connaissance de la manière dont l'entreprise fonctionne / fonctionne
  • Assurez-vous qu'il a accès à de bons livres, ainsi que des ressources Internet
  • Faites-la sentir à l'aise dans l'environnement de travail afin que s'il soit coincé, il demandera à quelqu'un de l'aide. (Les devs peuvent être très subbn demandant de l'aide parfois)

0 commentaires

1
votes

avec les développeurs juniors, j'aime les amener dans le mélange dès que possible. J'ai transformé mon développeur junior dans le maître de la configuration et du serveur de notre équipe. Il est le gars Go-to pour avoir récupéré nos applications.

L'une des meilleures choses que nous avons faites avec lui était de documenter exactement comment obtenir l'environnement de développement. Il a dû apprendre tout à ce sujet pour le documenter et nous utilisons maintenant son document lorsque de nouvelles personnes viennent à l'équipe.

Peut-être que nous sommes juste chanceux, mais j'ai eu un grand succès que je viens de le faire entrer dans le code. Nous ne le détourons pas du tout. C'est en forgeant qu'on devient forgeron. Ceci et critiques fréquents, etc. :)


0 commentaires

0
votes

Donne-lui créer un diagramme de structure statique UML pour le codeBase de l'un de vos projets existants modérément de taille. Cela (1) le forcera à avoir une compréhension structurelle de haut niveau d'au moins un projet et (2) le faire lire le code de quelqu'un d'autre, quelque chose qu'un stagiaire ne peut jamais faire auparavant.


0 commentaires