Programme de formation des nouveaux arrivants par Python

Cet article est le 11ème jour du Calendrier de l'Avent de l'ingénieur TIS 2015. C'est pourquoi j'aimerais écrire sur le programme de formation des nouveaux employés qui a eu lieu cette année. En partageant ces contenus, j'espère qu'à terme la difficulté de créer un programme de formation pour chaque entreprise sera éliminée et que les personnes intéressées pourront étudier par elles-mêmes.

Programme de formation

Le programme de formation était à peu près divisé en deux étapes et le calendrier global était d'environ deux mois. Quelle langue utilisez-vous pour la formation? Il y a eu diverses discussions (Java était aussi un candidat), mais compte tenu de la facilité d'écriture et des conventions (vérification du style par PEP8 etc.), et de la fréquence d'utilisation en entreprise après affectation, j'ai choisi Python. ..

Menu du programme d'entraînement

Je pense que la plus rare est l'édition "Pururiku" dans l'édition de l'exercice de développement d'équipe. Les exercices de développement d'équipe sont divisés en plusieurs équipes, mais dans l'édition pull request, nous essayons d'utiliser des applications développées par d'autres équipes et créons et envoyons des pull requests sur les bogues découverts et les fonctionnalités qui devraient être présentes. est.

En raison de cette édition de pull request, chaque équipe doit conserver la documentation, refactoriser le code source et le tester correctement. Vous pouvez également vous entraîner à lire le code des utilisateurs et à envoyer un jour des pull requests sur GitHub.

Après cela, j'ai mis en place une phase pour rédiger correctement un plan avant de faire une demande. Cette fois, le thème de l'exercice de développement d'équipe était «Développer des services / outils Web utiles pour communiquer avec des collègues qui travaillent à distance», mais pendant le développement, les points suivants ont été résumés dans une proposition et annoncés. J? ai compris.

Le premier problème est un sentiment similaire à SIer, mais lorsque vous travaillez réellement, le point mentionné ci-dessus, en bref, "pourquoi c'est nécessaire et rentable" est une partie qui nécessite une explication, alors ici. Je vous en ai fait l'expérience. Après tout, au début, il y avait des points que le cadre des affectations n'était pas satisfaisant et que nous ne pouvions pas exprimer nos pensées avec des mots, donc je pense que de nombreuses équipes avaient beaucoup de problèmes. Sans parler du code, je me suis également assuré d'inclure une critique. Pendant la période de développement, nous avons également organisé un cours UI / UX afin que les gens sachent que les services qu'ils créeraient seraient réellement utilisés.

L'image globale de la formation ressemble à ceci. Ci-dessous, je voudrais vous présenter les matériaux que j'ai réellement utilisés sur ce qui peut être publié (je les ajouterai un par un dès que j'aurai confirmation).

Principes de base de la programmation

NLP100 knock avait beaucoup de traitement de base par Python, j'ai donc créé une tâche en référence à cela.

icoxfog417/python_training

En supplément, j'ai ajouté la frappe de l'API Web et le traitement asynchrone (asyncio). Cette zone est un processus fréquemment utilisé. Nous essayons également de vous apprendre à écrire du code de test ici.

Les points soulignés ici étaient les suivants.

application Web

Tout d'abord, j'ai expliqué l'architecture MVC.

Web Application Tutorial

(J'ai reçu des informations selon lesquelles certaines personnes de la génération Heisei ne connaissent pas le slam dunk, et si tel est le cas, il sera difficile de communiquer dans les affaires, alors unissez-vous avec du matériel de slam dunk)

Après cela, comme c'était une version pratique, je lui ai demandé de la développer en utilisant Django/PostgreSQL sous le thème de "gestion des rapports quotidiens" (le système de rapports quotidiens commun à toute l'entreprise est sain d'esprit. C'était tellement difficile à utiliser que je ne pouvais pas y croire, alors je lui ai demandé de faire quelque chose comme ça).

Les fonctions suivantes doivent être implémentées.

Si possible, ajoutez les fonctions suivantes. J'ai senti que je pouvais ajouter plus de fonctions à mon goût.

Voici ce que j'ai fait comme exemple de mise en œuvre.

Nippon no Nippou

Exercices de développement d'équipe

Nous avons procédé avec un système dans lequel deux personnes sont dans une équipe, et un total de deux personnes en charge de la FCE sont affectées comme support. À partir de maintenant, le côté de la FCE n'a donné aucune instruction spéciale et les nouveaux arrivants ont été invités à ajuster le nombre de réflexions et les calendriers pour tous les délais d'examen. Il en va de même pour la gestion des tâches et le contrôle des progrès au sein d'une équipe. Pour l'opération autour de cela, je vous ai fait consulter SCRUM BOOT CAMP THE BOOK. Cependant, comme je ne l'ai remis que cette année, j'ai pensé qu'il valait mieux avoir un peu plus d'explications ici (en fait, il y avait une telle opinion rétrospectivement).

Voici l'application réellement créée par les trois équipes. Veuillez vous référer si vous le souhaitez.

conférence

Comment utiliser Git / GitHub

Présentation des didacticiels Atlassian. J'ai vu divers sites pendant cette période, mais c'était le plus simple à comprendre.

Tutoriel Git

Après cela, voici une vue d'ensemble de la commande.

Git à comprendre avec 1slide

Comment écrire du code facile à lire

Nous avons reçu une explication de nos ingénieurs expérimentés.

Qu'est-ce qu'un bon code

Cours UI / UX

Cela a été fait sur la base des matériaux suivants. C'était très facile à comprendre et cela m'a été utile.

Conception UI / UX facile pour les ingénieurs informatiques

Introduction à CI

Reportez-vous aux documents suivants.

en conclusion

Comment était-ce. Nous vous serions reconnaissants si vous pouviez l'utiliser comme référence lors de la formation de nouveaux employés et que vous puissiez utiliser le matériel tel quel. Aussi, si vous avez des questions à ce sujet, n'hésitez pas à commenter.

Recommended Posts

Programme de formation des nouveaux arrivants par Python
Générateur de nombres premiers par Python
[Python] Programme d'achat
Jugement des nombres premiers par Python
Mémo de visualisation par Python
Données de formation par CNN
Réponse de Beamformer par python
Reconnaissance vocale par Python MFCC
API Web EXE par Python
Paramétrage par le configurateur python
Pin python géré par conda
Programme d'analyse des contraintes symétriques axiales par Python (élément carré) [édition révisée]
Homebrew Python - Programme de recherche YouTube
[Python] Un programme qui crée un tableau à deux dimensions en combinant des entiers
Extraction de mots-clés par MeCab (python)
Séparez les nombres par 3 chiffres (python)
Modèle de commutation de Markov par Python
Traitement d'image par python (Pillow)
Python lancé par des programmeurs C
Jugement de la plateforme (OS) par Python
Trier par date en python
[Hikari-Python] Chapitre 07-02 Gestion des exceptions (exécution continue du programme par gestion des exceptions)
[Python] Tri itérable selon plusieurs conditions
Extension du dictionnaire python par argument
Résumé de l'apprentissage automatique par les débutants de Python
Déboguer un programme multi-processus python avec VSCode
Apprenez Python en dessinant (Turtle Graphics)
Développement Python aidé par le test Jenkins-Unit
Programme de diagnostic de compatibilité écrit en python
instruction SQL python Extraire par heure
Autoriser l'accès aux attributs à Python dict
Détermination du système d'exploitation par Makefile en utilisant Python
Mémo d'automatisation de saisie par Python débutant
Mémo d'apprentissage de la planification des sections ~ par python ~
Comportement de python3 par le serveur de Sakura
100 Language Processing Knock Chapitre 1 par Python
Histoire d'approximation de puissance par Python
Lors de l'écriture d'un programme en Python
Tri des fichiers par convention de dénomination à l'aide de Python
[Python] Un programme qui trouve une paire qui peut être divisée par une valeur spécifiée
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Formation sur les réseaux neuronaux ~ Chainer terminé
[Ev3dev] Faisons un programme de contrôle à distance par Python avec le protocole RPyC
[Python] Essayez de créer vous-même un programme de tri. (Tri sélectif, tri par insertion, tri par bulle)