Expérience d'enseignement dans une école de développement, ou pourquoi vous devez aller à l'école après l'université

Digital Design a été l'une des premières entreprises à utiliser .NET et C # dans leur travail et est devenu le centre de coaching officiel de Microsoft. L'éducation et le design numérique sont allés de pair tout au long de notre histoire: nous avons une université informatique, nous gérons constamment des écoles, nous sommes le partenaire d'or de Microsoft depuis 95, nous avons des formateurs certifiés.

Lorsque nous avons lancé la première école de développement, les problèmes de qualification du personnel étaient complètement différents, ou plutôt, il y avait un problème de leur absence, ainsi que du manque d'informations nécessaires. Maintenant, Microsoft promeut activement sa technologie et investit dans la formation, donc si une personne le souhaite, elle peut trouver toutes les informations lui-même et devenir programmeur. Nous sommes visités par des spécialistes qui possèdent les technologies que nous utilisons dans notre travail, mais pour les intégrer rapidement dans la pratique, nous avions besoin d'un outil - l'objectif d'organiser une école de développement s'est progressivement transformé.



Pourquoi moi et pourquoi l'école de développement


Je m'appelle Suren, et ce n'est pas mon premier article sur Habré (il y a aussi sur .NET et Sitefinity ), mais aujourd'hui je veux parler de mon expérience d'enseignement. En 9 ans de développement, j'ai acquis beaucoup d'expérience que je souhaitais partager. En même temps, il m'a semblé que travailler avec des stagiaires n'était pas toujours construit aussi efficacement que possible, car pendant la journée de travail il n'était pas possible d'allouer suffisamment de temps à une formation structurée.

L'autre extrême est l'enseignement universitaire, qui nécessite une éducation spécialisée (√ terminé!), Un énorme désir d'enseigner et de partager l'expérience pratique (√), le manque d'emploi principal / d'horaire libre (X), l'amour des connaissances académiques (XX) et beaucoup de gratuité temps de préparation (XXX).

En conséquence, l'école de développement .NET basée sur Digital Design IT University est devenue l'option idéale pour moi et, il me semble, pour les débutants . Et surtout, pour l'entreprise: grâce à l'école, nous avons pu choisir le meilleur personnel, le former et, pourrait-on dire, le transformer en travail.

Préparation à l'école


Si vous n'avez pas enseigné auparavant ou ne souhaitez pas suivre des programmes prêts à l'emploi, vous devez consacrer 3 à 4 fois plus de temps à la préparation de la conférence qu'à la conférence elle-même. J'ai également décidé de ne pas suivre le chemin parcouru et de rendre le programme pertinent: avec les dernières puces, conseils et astuces, car un bon professeur d'informatique est encore plus sur l'expérience que sur la connaissance (la connaissance est désormais plus sur Google: il n'y a probablement pas de spécialistes qui écrire du code sans Internet). De plus, travailler avec un public préparé est un peu plus difficile, car vous ne comprenez pas toujours à quel niveau naviguer, donc dans la première école, j'ai décidé de m'attarder sur les informations que j'ai reçues pendant le travail, en faisant référence aux concepts et termes généraux.

Et encore un peu de théorie


Je me suis bien préparé pour la première conférence, réfléchissant au plan et faisant des croquis de ce que j'avais besoin de dire. À la fin de mon rapport clair, je me suis rendu compte que seulement 10 minutes s'étaient écoulées et qu'il était temps de commencer une pure improvisation. Je me suis vite rendu compte que les étudiants venaient d'abord chez nous pour des exemples et des cas réels - nous avons donc rapidement passé à des conseils sur la dénomination, la structure de la base de données, la façon de transmettre les données vers l'avant et l'arrière. Au cours des 3-4 dernières leçons, nous sommes allés à des mini-master classes: j'ai codé avec les étudiants, en m'arrêtant aux explications et aux questions. Par exemple, ici nous nous connectons en utilisant afin d'utiliser les méthodes ou propriétés dont nous avons besoin, ici nous connectons une bibliothèque supplémentaire via NuGet pour interagir avec la base de données comme un ensemble d'entités. Ensuite, il est devenu clair que l'efficacité de ces leçons est maximale,mais leur intensité ne permet pas aux élèves de percevoir toutes les informations dans leur intégralité. J'ai dû changer d'orientation, alterner les types d'informations, etc. Tout dépend des élèves: si vous ne prenez pas le temps d'étudier de façon indépendante et de vous souvenir de tout ce qui était dans la leçon, vous n'obtiendrez pas le résultat.

Passons à la pratique


Bien sûr, la théorie est utile: vous ne pouvez pas commencer à pratiquer sans connaissances terminologiques élémentaires, mais en raison des courtes périodes de formation, nous avons dû choisir un accent! En fait, il s'avère que pour la leçon, nous donnons le maximum de matériel, et certaines personnes sont exclues, mais ceux qui viennent dans l'entreprise en tant que stagiaires ont déjà vraiment appris le matériel et sont prêts à travailler. Mais notre objectif est d'obtenir le meilleur personnel, donc le niveau d'éducation et les attentes des étudiants sont très élevés!

Souvent, l'éducation pèche l'isolement des tâches appliquées, et je me suis vite rendu compte que même en montrant le travail sur des exemples concrets, les élèves ne comprennent pas toujours comment l'utiliser plus tard. De plus, si à la fin du cours, vous vous attendez à ce que les étudiants aient un niveau de connaissances suffisant pour créer une application simple, vous devez suivre ce chemin avec eux au moins une fois. Par conséquent, nous avons décidé de passer rapidement à l'étape «Do» (ou plutôt, «Répétez après moi»), et nous avons rapidement commencé à apprendre en créant notre propre application. J'ai expliqué ce qu'est la conception d'une architecture de base de données, comment travailler avec, et pendant la conférence, nous avons commencé à développer une application. Dans le cadre du développement, j'ai abordé différents sujets: interaction avec le système de fichiers et les bases de données, travail avec les images, téléchargement / téléchargement de fichiers via l'interface, téléchargement direct,interaction synchrone - en un mot, des choses qui permettent de comprendre ce qu'une langue peut, quelle forme peut et comment utiliser ces connaissances dans le cadre du développement de tests. En utilisant un exemple d'une simple application de partage de photos avec la possibilité de sélectionner des fonctionnalités supplémentaires (détermination de la géolocalisation, messagerie, etc.), nous avons examiné les principes généraux d'interaction avec la plateforme. Il est important qu'après que les étudiants aient tous les enregistrements vidéo.


Nous avons agi par étapes: nous avons conçu la base de données elle-même, l'avons remplie de contenu, créé un formulaire de dessin, édité un profil utilisateur - tout cela est interconnecté: si dans la leçon 1, nous parlons de modèle en utilisant un client comme exemple, dans l'étape suivante, nous faisons sur le serveur en utilisant un modèle de langage de modèle qui rend aussi bien à l'arrière qu'à l'avant. Cela nous permet de créer une application qui donne du contenu immédiatement et se télécharge dans le processus, sans changer le style ni reconfigurer les modèles. En cours de route, nous avons exploré la technologie et comment créer des requêtes de manière à trouver rapidement des réponses, à travailler correctement avec la base de données, à interagir avec le serveur, à aborder les problèmes de sécurité - tout cela sous la forme d'une classe de maître. Bien sûr, à chaque étape, je code en temps réel, fais des requêtes et montre comment obtenir le résultat.Cela vous permet de comprendre le processus de base de la conception du système, puis chacun peut trouver quelque chose qui lui est propre et montrer ces puces sur la défense finale des projets.

Dans la deuxième école, il s'est avéré structurer les données pratiques dont un spécialiste a besoin pour se rendre au travail. En conséquence, nous avons obtenu la plus grande récolte de stagiaires qui sont allés dans différentes directions: de l'automatisation des processus commerciaux au développement mobile.

Nous recherchons des informations


Fait intéressant, une compétence aussi simple qu'une recherche rapide des informations nécessaires est très importante pendant le développement. Le point clé ici est la possibilité d'identifier clairement la requête de recherche. Mon premier mentor m'a constamment envoyé sur Google, répondant à mes questions avec des liens vers le résultat de la recherche, il a enseigné que la formation des demandes est un art. La compétence de base pour construire la pensée est donc utile ici, sinon Google peut vous ignorer.

Par exemple.

Requête de recherche débutant possible: comment intégrer une base de données dans un projet / erreurs d'incorporation d'une base de données dans un projet / texte d'erreur lui-même.

Demande de développeur possible: inclure localdb en C #.

Essence: Il est toujours préférable de rechercher en anglais, car la plupart des manuels ne sont pas traduits en russe / traduits par une personne qui ne connaît pas la terminologie. Soit dit en passant, oui, pour une demande exacte, vous devez nécessairement connaître la terminologie. Par exemple, dans cette requête, l'un des types de la base de données à l'intérieur du projet est appelé LocalDB.

Nous stabilisons le niveau de connaissance


Le degré de connaissance des diplômés de 2 écoles ne pouvait que se réjouir, mais j'étais inquiet au moment où, en raison de problèmes et d'accentuation différents, l'ensemble de connaissances des étudiants de différentes graduations pouvait être différent. Bien sûr, l'ensemble des outils que j'utilise dans mon travail est beaucoup plus large que ce que je donne sur le cours. Cette fois, nous avons réussi à aborder le concept des applications SPA, dans les 2 premières écoles, il n'y avait pas assez de temps pour cela. En conséquence, nous avons aligné le plan de formation, augmenté la durée des cours et leur nombre afin de stabiliser le volume de connaissances.

La gestion des erreurs


Pour se rapprocher le plus possible de la situation de travail réelle, parfois je fais des erreurs qui se répètent souvent (par exemple, lorsque nous faisons une demande Ajax et spécifions de manière incorrecte les types, nous ne pouvons pas comprendre pourquoi le back-end se remplit, et le front considère cela comme une erreur / lorsque nous envoyons des données dans le mauvais type de données dans le dos, et il nous dit que rien n'est venu) et je montre avec un exemple de debug'a ce qui se passe exactement et pourquoi cela pourrait tomber à cet endroit. Par exemple, lorsque nous exportons le modèle dans la mise en page, puis essayons de l'utiliser, le plus souvent les caractères peuvent être échappés et nous produirons du HTML non formaté (le modèle fonctionnera et le HTML sera sous la forme de balises de page) - nous apprenons également à éviter toutes ces erreurs typiques. Et tous ces documents seront particulièrement utiles pour l'enregistrement.

C'est d'ailleurs un point important: pour consolider le matériel, assurez-vous d'utiliser des enregistrements vidéo et, bien sûr, des chats pour la communication. Il est important pour nous que les gars aient constamment un code complet et la possibilité de poser des questions.

Apprenez sur des tâches spécifiques.


Maintenant, le problème dans le personnel pour nous, c'est qu'il n'y a pas de spécialistes prêts à l'emploi sous notre pile pour le poste de juin. Même si un spécialiste a bien étudié le problème, il est peu probable qu'il puisse combiner la connaissance des technologies pour résoudre un problème spécifique, car il est impossible d'apprendre un langage de programmation sans tâches. Le plus souvent, les entreprises «chassent» les jones en théorie, et nous les transformons rapidement en travail. Comme le montre la pratique, les diplômés de l'école peuvent dès que possible (généralement après un stage) commencer à écrire un code qui peut être entré dans le projet après 1-2 itérations. Plus des informations de haute qualité seront présentées sur le cours, plus vite elles seront incluses dans le travail de conception, et les projets sont la vie de toute entreprise informatique.

S'ils me demandent des conseils, alors ...


... Je conseillerais aux étudiants et aux novices de s'intégrer partout: mitaps, écouter les reportages en ligne et hors ligne, être au courant de tous les événements, car la technologie se développe à une vitesse telle que si vous ne courez pas, vous êtes en retard. Il se trouve qu'un tel abandon de spécialistes qui ne sont pas impliqués et qui ne sont pas intéressés - vous venez de prendre du retard. De plus, profitez-en pour assister à des événements à tarif étudiant (spoiler: alors plus personne ne vous motivera!).

... pour les professeurs, et en effet les informaticiens ayant une expérience de 3 à 5 ans, je vous conseille de l'essayer! Si vous pensez même que vous ne pouvez pas enseigner quelque chose d'unique, souvenez-vous que pour quelqu'un, votre expérience peut devenir un véritable aperçu. Travaillant depuis longtemps dans un domaine, il peut sembler que rien d'intéressant ne se passe, mais il y a toujours quelque chose que vous savez et savez mieux que d'autres. De plus, les tâches de routine pour vous, pour quelqu'un aujourd'hui, sont un vrai défi! Je me souviens une fois que j'ai montré à juna une solution simple à mon avis, et pour lui, cela semblait très inhabituel. Il a bien compris cet exemple et a acquis de l'expérience, et c'est l'essentiel!

Au lieu de la sortie


En conséquence, je peux dire que le programme "établissement d'enseignement abstrait - école dans l'entreprise - stage - travail" est plus efficace que le "établissement d'enseignement abstrait - stage - travail" standard, car après 500 heures de stage, l'étudiant ne reçoit pas toujours ce que nous donnons dans une école de développement pendant plusieurs mois. L'école est suffisante pour acquérir des connaissances générales sur les principes de normalisation, d'interaction et de faire rapidement un «instagram», et avec cela, vous pouvez déjà commencer à travailler. C'est du moins notre expérience, et maintenant nous envoyons des candidats à l'école

All Articles