Qu'est-ce que cela signifie plus correctement - plus stable, tolérant aux pannes, plus facile à comprendre - une entrée rapide, rapidement restaurée en cas d'erreur ou de plantage, avec les mesures et alertes correctes pour tout.
Pourquoi ne pas embaucher immédiatement des développeurs sympas:
- Cher, difficile à trouver.
- Il est souhaitable de maintenir la répartition des compétences.
- Ils ne s'entendent pas toujours à cause de la concurrence, ça arrive.
- Exigences excessives
Développeur junior - Inconvénients:
- Il n'y a aucune base et connaissance de la bonne conception.
- Il ne vérifie pas par lui-même, ils se dépêchent de dire "je l'ai fait" plus vite.
- Ils ne connaissent pas la réglementation Malomalsky.
- Tests - ils savent ce qui est utile, mais ils n'ont jamais été écrits.
- Mesures - qu'est-ce que c'est que ça?
- Facile à chasser sur le côté.
Développeurs juniors - avantages:
- Ils coûtent un sou, plus faciles à trouver
- Vous pouvez cuisiner une personne sous la commande.
De cela, il est clair qu'ils ont beaucoup plus d'inconvénients que d'avantages, alors comment les inconvénients se transforment-ils en avantages? Tout d'abord, vous devez transpirer un peu vous-même et jeter les bases de cela:
- L'environnement de microservices et les microservices doivent être aussi normalisés que possible. À propos de l'architecture de microservices peut être ici - et en russe . Le microservice doit être clair même pour la mère du développeur, qui travaille dans la bibliothèque.
- Documenter l'ensemble du système (non, non, ce n'est pas cette documentation stupide et irréfléchie que personne ne lit) est un schéma compréhensible et s'il est encore mieux interactif. Si le développeur en 1 jour n'a pas compris votre microservice, alors vous avez des problèmes avec la documentation.
- Tests, tests, tests. À mon avis, les tests d'acceptation fonctionnelle ainsi que les tests en temps réel sur l'environnement de combat donnent le résultat le plus efficace. Les tests ne devraient pas du tout être écrits par les développeurs de logiciels - les développeurs écrivent des tests qui s'avèrent être de ... mo.
- RÈGLEMENTS - c'est ce dont vous avez vraiment besoin pour travailler et faire le suivi. Je considère que c'est la question la plus importante. Début du développement, description de la norme de codage, description pour les tests, les tests, la livraison des métriques et des alertes, la culture de déploiement et même les règles pour boire du thé - tout cela devrait prendre environ 50% du temps total.
- Le développement avec un développeur Junior est basé uniquement sur le principe - développé, réussi les tests, les métriques, les alertes, la documentation = réussi la tâche.
Ce qui donne finalement:
- Tout d'abord, vous contrôlez toujours le processus et n'abandonnez jamais un travail dans lequel vous ne comprenez pas bien.
- Si quelque chose est cassé, vous savez toujours quoi, où et comment le réparer.
- Vous avez 2 fois plus de personnes (votre garantie de l'équipe MVP) pour moins d'argent.
- En prime, vous obtenez le plus précieux en développement - mesures pertinentes, alertes et tests - pour cela, tout a été fait.
L'idée principale de ce poste est qu'avec cette approche,
vous êtes obligé de jeter les bases d'un travail de qualité sur les services.