[JAVA] Réfléchissez à ce qu'il faut faire de la formation de SIer pour les jeunes ingénieurs en développement (partie 3)

C'est le 16e jour du Calendrier de l'Avent Stylez 2018.

Je suis Kajiwara, le représentant de Styles Co., Ltd..

Poursuivant de précédent, réflexion sur la formation des jeunes salariés (ingénieurs développement des nouveaux diplômés à la fin de la vingtaine) au SIer (système contractuel) Est en train d'écrire.

SIer (système de contrat) développe un système commandé par un client, contrairement à une société de services. De plus, étant donné que l'entreprise dans son ensemble fabrique divers systèmes, il est fort possible qu'elle soit responsable de systèmes avec des contenus complètement différents en raison de changements de personnel.

Par exemple, cela ressemble à ceci.

Sites sociaux ↓ Système d'entreprise interne Gachi + coopération avec le système comptable ↓ Site média Web à forte charge ↓ Système de lots d'analyse de données

Nous développerons ces différents systèmes tous les deux ans. L'infrastructure est également une tendance de migration acclamée vers AWS et le cloud.Nous utiliserons donc la technologie on-Preserver (VMware) vers AWS, et même partiellement sans serveur, et nous aurons également besoin de technologies de conteneur telles que Docker et Kubernetes. Ça arrive. En plus, faites de l'IA. .. .. .. .. Je sens que c'est impossible.

Actuellement, des personnes autour de 40 ans ont connu les progrès des systèmes Web (CGI => applet Java => J2EE => Spring, etc.) car le serveur client est obsolète, mais maintenant les jeunes sont en parallèle. J'ai l'impression d'être soudainement jeté devant la technologie en évolution rapide. Que devons-nous faire pour la formation des ingénieurs dans une telle situation?

"Réfléchir à ce qu'il faut faire pour les jeunes ingénieurs de développement de SIer (1)" Dans l'entreprise (Styles Co., Ltd.), nous le faisons réellement. J'ai écrit sur le cours éducatif que je fais du nouveau diplômé à la fin de la deuxième année.

C'est vraiment une éducation minimale

Je n'ai pu le faire que dans la mesure où j'ai pu être diplômé du niveau débutant.

Après cela, que dois-je faire pour soutenir ma croissance afin de ne pas grandir seule?

Tout d'abord

--Niveau intermédiaire: Ingénieur développement à part entière

J'écrirai rapidement une carte de compétences afin de viser.

image.png

Je suis désolé pour le contenu trop croustillant. Eh bien, c'est difficile d'aller dans cette rue, mais je pense que ce n'est pas grave si j'obtiens ça au début de la trentaine. Dans ce qui précède, le niveau intermédiaire est le niveau 2 et le niveau avancé est le niveau 3.

J'ai écrit sur le niveau 1 deux fois auparavant, donc cette fois je vais approfondir le niveau 2.

1. Programmation (première langue) niveau 2

1.1 Travaux de refactoring

Vous devez d'abord connaître le refactoring, puis en faire une habitude. Pour cela, j'ai besoin de lire ce qui suit "Refactoring - Améliorer en toute sécurité le code existant -" comme une session de lecture, mais avec un senior comme un mentor, discutez de la façon d'en faire une habitude. Je dois y aller. Pour ce faire, vous devez effectuer régulièrement une «révision du code».

[Nouvelle édition Refactoring-Safely Improve Existing Code-](http://www.amazon.co.jp/%E3%83%AA%E3%83%95%E3%82%A1%E3%82 % AF% E3% 82% BF% E3% 83% AA% E3% 83% B3% E3% 82% B0% E2% 80% 95% E6% 97% A2% E5% AD% 98% E3% 81% AE % E3% 82% B3% E3% 83% BC% E3% 83% 89% E3% 82% 92% E5% AE% 89% E5% 85% A8% E3% 81% AB% E6% 94% B9% E5 % 96% 84% E3% 81% 99% E3% 82% 8B% E2% 80% 95-OBJECT-TECHNOLOGY-Martin-Fowler / dp / 427405019X / ref = sr_1_2? S = books & ie = UTF8 & qid = 1458616485 & sr = 1-2 & mots-clés =% E3% 83% AA% E3% 83% 95% E3% 82% A1% E3% 82% AF% E3% 82% BF% E3% 83% AA% E3% 83% B3% E3% 82% B0 +% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% A0% E3% 81% AE% E4% BD% 93% E8% B3% AA% E6% 94% B9% E5% 96% 84% E3% 83% 86% E3% 82% AF% E3% 83% 8B% E3% 83% 83% E3% 82% AF)

--Refactoring-First exemple

1.2 Travailler sur un bon code

Techniques lisibles, simples et pratiques pour écrire un meilleur code

A déjà été convoqué en tant que groupe de lecture la deuxième année, mais cela nécessite également une révision du code comme bonne pratique.

1.3 Compréhension plus approfondie du cadre

C'est assez difficile avec la formation en interne. Participez régulièrement aux sessions d'étude du JAPAN SAP USERS'GROUP (JSUG) et du PHP Study Group Et je pense qu'il est préférable de faire fonctionner l'histoire de nos prédécesseurs.

2. Niveau frontal 2

2.1 Implémentation de base dans un framework JavaScript particulier

Styles traite principalement Angular, mais je pense que l'utilisation d'Angular est appropriée dans le cas du développement d'un système d'entreprise en tant que SPA (application d'une seule page) comme suit. --Un paquet entier --Utiliser avec Typescript

Cependant, même s'il s'agit d'un petit système, je suis un peu confus quant à savoir si cela va, je pense que c'est react ou Vue. Quoi qu'il en soit, cela n'a aucun sens à moins qu'il ne soit réellement utilisé dans un projet (signification du travail réel), donc je pense qu'il est le plus important d'attribuer séquentiellement aux projets qui utilisent sérieusement le framework JavaScript.

3. Niveau d'infrastructure 2

3.1 Utilisation pratique des scripts shell au quotidien

Qu'il s'agisse d'AWS ou sur site, les bases du script shell sont très importantes pour automatiser les tâches quotidiennes. Organisez le même journal tous les jours et envoyez les résultats aux personnes concernées par slack ou email. Ce serait une grande différence si je pouvais vérifier l'horaire tous les jours et prendre 30 minutes manuellement, mais ce serait terminé en 1 minute automatiquement.

Ah, il est important d'apprendre les techniques de base des expressions régulières en même temps.

[Technique pratique de programmation shell](https://www.amazon.co.jp/%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%97%E3%83%AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E5% AE% 9F% E7% 94% A8% E3% 83% 86% E3% 82% AF% E3% 83% 8B% E3% 83% 83% E3% 82% AF-Software-Design-plus-% E4% B8% 8A% E7% 94% B0 / dp / 4774173444)

--Chapitre 1 Mouvement préparatoire --Chapitre 2 Recherche et traitement de phrases irrégulières et fichiers de paramétrage --Chapitre 3 Gestion des fichiers et fonctionnement du système --Chapitre 4 Faire du système de fichiers une base de données --Chapitre 5 Traitement de données volumineuses --Chapitre 6 Gère les images, le logiciel de calcul de table et d'autres données spéciales --Chapitre 7 Comment interagir avec Internet de type CLI --Chapitre 8 Calcul

[Exercice d'écriture d'expressions régulières avec un logiciel d'apprentissage itératif](http://www.amazon.co.jp/%E5%8F%8D%E5%BE%A9%E5%AD%A6%E7%BF%92%E3% 82% BD% E3% 83% 95% E3% 83% 88% E4% BB% 98% E3% 81% 8D-% E6% AD% A3% E8% A6% 8F% E8% A1% A8% E7% 8F % BE% E6% 9B% B8% E3% 81% 8D% E6% 96% B9% E3% 83% 89% E3% 83% AA% E3% 83% AB-WEB-PRESS-plus / dp / 4774145092 / ref = sr_1_2? s = livres & ie = UTF8 & qid = 1458600709 & sr = 1-2 & mots-clés =% E6% AD% A3% E8% A6% 8F% E8% A1% A8% E7% 8F% BE)

--Chapitre 1 Comment procéder avec le logiciel d'apprentissage et de swing --Chapitre 2 Bases des expressions régulières Que sont les expressions régulières? --Chapitre 3 Meta Character de base --Chapitre 4 Utilisation de pièces en combinaison --Chapitre 5 Fonctions pratiques des expressions régulières --Chapitre 6 Expressions régulières plus pratiques

3.2 Utilisation pratique de Docker

Je pense que la compétence cible est de pouvoir créer l'environnement de développement souhaité à l'aide de Docker.

L'histoire qui a rendu la construction d'un environnement de développement 10 fois plus facile avec Docker Je pense que vous pouvez le gérer vous-même tout en le comprenant.

Cependant, en fonction de la vitesse de propagation de la technologie des conteneurs à l'avenir, il est possible qu'elle soit dépassée dans la réalité.

5. SGBDR niveau 2

Comprendre les performances SQL

Écrire du SQL complexe

Je veux que vous puissiez écrire correctement du SQL compliqué. S'agit-il de ce qui suit comme niveau supposé?

[Comprendre clairement l’exercice d’introduction SQL avec 215 questions!](Http://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3 % 82% 8F% E3% 81% 8B% E3% 82% 8B-SQL-% E5% 85% A5% E9% 96% 80-% E3% 83% 89% E3% 83% AA% E3% 83% AB215 % E5% 95% 8F% E4% BB% 98% E3% 81% 8D-% E3% 82% B9% E3% 83% 83% E3% 82% AD% E3% 83% AA% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA / dp / 4844333933 / ref = pd_cp_14_3? Ie = UTF8 & refRID = 1T98M4P3G7BCN5V0W78X)

--Chapitre 1 Premier SQL --Chapitre 2 Grammaire de base et 4 instructions majeures --Chapitre 3 Réduire les lignes pour opérer --Chapitre 4 Traitement des résultats de recherche --Chapitre 5 Expressions et fonctions --Chapitre 6 Agrégation et regroupement --Chapitre 7 Sous-enquête

En ce qui concerne les performances SQL, on suppose que chaque SGBD peut écrire du SQL en supposant un "plan d'exécution".

[Introduction à la pratique SQL ── Comment écrire une requête rapide et facile à comprendre (WEB + DB PRESS plus)](http://www.amazon.co.jp/SQL%E5%AE%9F%E8%B7%B5%E5%85 % A5% E9% 96% 80% E2% 94% 80% E2% 94% 80% E9% AB% 98% E9% 80% 9F% E3% 81% A7% E3% 82% 8F% E3% 81% 8B % E3% 82% 8A% E3% 82% 84% E3% 81% 99% E3% 81% 84% E3% 82% AF% E3% 82% A8% E3% 83% AA% E3% 81% AE% E6 % 9B% B8% E3% 81% 8D% E6% 96% B9-WEB-DB-PRESS-plus / dp / 4774173010 / ref = asap_bc? Ie = UTF8)

--Chapitre 1: Architecture du SGBD ── Y a-t-il de la nourriture dans ce monde? --Chapitre 2: Bases de SQL ── Comme parler votre langue maternelle --Chapitre 3: Branchement conditionnel en SQL ── De l'instruction à l'expression --Chapitre 4: Agrégation et coupe ── Le monde de l'agrégation --Chapitre 5: Boucle ── Malédiction procédurale --Chapitre 6: Jointures ── Ceux qui contrôlent les jointures contrôlent SQL --Chapitre 7: Sous-requêtes ── Faut-il diviser les difficultés? --Chapitre 8: Ordre en SQL ── Relance du type procédural --Chapitre 9: Mises à jour et modèles de données ── Blind Super Soldier ――Chapitre 10: Maîtriser l'index ── Faiblesses des personnes talentueuses

6. Niveau de compétence général en architecture 2

En particulier, j'aimerais que vous appreniez le savoir-faire de base concernant la mise à l'échelle du système. Par exemple, je souhaite que vous puissiez créer et utiliser Elasticsearch et ElasticCache sur AWS. En outre, il est nécessaire de mesurer la charge du serveur pour déterminer où se trouve le goulot d'étranglement et d'acquérir des connaissances pour l'éliminer.

7. Principes de base de la conception de bases de données

La conception de bases de données (SGBDR pour le moment) est une compétence très difficile à apprendre. Il n'y a pas beaucoup de bons livres et je ne pense pas qu'il y ait beaucoup de personnes âgées qui aient leurs propres connaissances sur la conception de bases de données.

--Chapitre 1 Ceux qui contrôlent la base de données contrôlent le système --Chapitre 2 Conception logique et conception physique --Chapitre 3 Conception logique et normalisation - Pourquoi les tables doivent-elles être divisées? --Chapitre 4 Diagramme ER - Représentation de la relation entre plusieurs tables --Chapitre 5 Conception logique et performances - Inconvénients et dénormalisation de la normalisation --Chapitre 6 Base de données et performances --Chapitre 7 Mauvais savoir-faire de la conception logique --Chapitre 8 Grey Savoir-faire de la conception logique --Chapitre 9 Structures d'arbre de conception-gestion logiques avancées avec SQL

Pour le moment, je l'ai écrit avec l'image du niveau 2 (environ 3 à 5 ans après avoir rejoint l'entreprise).

Parmi ceux-ci, j'aimerais écrire sur le niveau 3 (environ 6 à 8 ans après avoir rejoint l'entreprise).

Recommended Posts

Réfléchissez à ce qu'il faut faire de la formation de SIer pour les jeunes ingénieurs en développement (partie 1)
Réfléchissez à ce qu'il faut faire de la formation de SIer pour les jeunes ingénieurs en développement (partie 3)
Réfléchissez à ce qu'il faut faire de la formation de SIer pour les jeunes ingénieurs en développement (partie 2)
[Sortie] Apprenez Ruby à partir de ce que vous voulez faire à la vitesse la plus rapide ・ Partie 1 "Pensez à ce que vous voulez faire"
Ce dont les ingénieurs Java ont besoin pour se préparer à la version Java 11
[Pour les débutants] On dit que le rubis est rubis, mais qu'en est-il?