
Alexander Baranov travaille chez Veeam en tant que directeur R&D et vit entre les deux pays. Il passe la moitié de son temps à Prague, l'autre moitié à Saint-Pétersbourg. Ces villes ont les plus grands bureaux de développement Veeam.
En 2006, il s'agissait d'une startup de deux hommes d'affaires russes liés au logiciel de sauvegarde de machines virtuelles (le nom V [ee] [a] M, une machine virtuelle, venait du même endroit). Aujourd'hui, c'est une entreprise géante avec plus de quatre mille employés dans le monde.
Alexander nous a expliqué ce que c'est que de travailler dans une telle entreprise et combien il est difficile d'y entrer. Voici son monologue.
Traditionnellement, nous vous parlerons de l'évaluation de l'entreprise chez My Circle: Veeam Software a reçu une note moyenne de 4,4 de la part de ses employés. Il est apprécié pour un bon package social, une atmosphère de travail confortable dans l'équipe, pour des tâches intéressantes et pour le fait que l'entreprise rend le monde meilleur.

Quels sont les produits développés par Veeam
Produits assurant la résilience de l'infrastructure informatique. Heureusement, au fil du temps, le fer est devenu assez fiable et les nuages offrent une tolérance aux pannes. Mais les erreurs des gens existent toujours.
Par exemple, le problème classique de l'incompatibilité des mises à jour avec l'infrastructure de l'organisation. L'administrateur a déployé une mise à jour non vérifiée, ou elle s'est produite automatiquement, et pour cette raison, le fonctionnement des serveurs d'entreprise a été interrompu. Autre exemple: quelqu'un a apporté des modifications à un projet ou à un ensemble de documents communs, le jugeant approprié. Plus tard, un problème a été découvert et il a été nécessaire de retourner l'État il y a une semaine. Parfois, de tels changements ne sont même pas associés à des actions humaines conscientes: les virus cryptolockers ont récemment gagné en popularité. Un utilisateur apporte un lecteur flash avec un contenu douteux à un ordinateur en état de marche ou visite un site Web avec des sceaux, et par conséquent, les ordinateurs du réseau sont infectés.
Dans une situation où le mal est déjà arrivé, nous donnons la possibilité d'annuler les changements. Si des changements sont uniquement prévus, nous allons nous permettre de vérifier leur impact dans une infrastructure isolée, recréée à partir d'une copie de sauvegarde du centre de données.
Souvent, les sauvegardes agissent comme un «témoin silencieux» lors de l'audit dans une organisation. Les entreprises publiques doivent se conformer aux exigences des régulateurs externes (par exemple, la loi Sarbanes-Oxley), et ce n'est pas un hasard. En 2008, la situation de l'économie mondiale a été ébranlée du fait que certains acteurs du marché financier ont, en gros, falsifié les résultats de leurs activités. Cela a lancé une boule de neige et l'économie a chuté. À partir de ce moment, les régulateurs ont suivi de près les processus dans les entreprises publiques. La capacité de restaurer l'état de l'infrastructure informatique, du système de messagerie et du système de gestion des documents pour les périodes de rapport est l'une des exigences des auditeurs.
Microsoft, Amazon, Google et d'autres fournisseurs de cloud ont des solutions natives qui sauvegardent les ressources dans le cloud. Mais leurs décisions sont des «choses en soi». Le problème est que les grandes entreprises ont dans la plupart des cas une infrastructure informatique hybride: une partie est dans le cloud, une partie est sur le terrain. Les projets Web et les applications orientées client vivent généralement dans le cloud. Les applications et les serveurs qui stockent des informations confidentielles ou des données personnelles sont le plus souvent sur le terrain.
En outre, les organisations utilisent plusieurs clouds différents pour créer un hybride afin de minimiser les risques. Lorsqu'une multinationale a construit un cloud hybride, elle a besoin d'un système de tolérance aux pannes unique et commun pour l'ensemble de l'infrastructure.

La difficulté de développer de tels produits
De nouvelles technologies font constamment leur apparition et nécessitent étude, adaptation et expérience. Lorsque nous sommes apparus et que nous étions une startup, peu de gens prenaient la virtualisation au sérieux. Il y avait des applications pour sauvegarder les centres de données physiques. Les centres de données virtualisés étaient considérés comme des jouets.
Nous avons commencé à prendre en charge les sauvegardes en tenant compte de la virtualisation dès le début, lorsque la technologie n'était utilisée que par des passionnés. Et puis sa croissance explosive et sa reconnaissance par la norme se sont produites. Nous voyons maintenant d'autres domaines qui attendent le même saut qualitatif et essayons d'être sur la vague. La capacité de garder le nez sous le vent est inscrite quelque part dans l'ADN de l'entreprise.
Maintenant, l'entreprise a déjà survécu au démarrage. Désormais, la stabilité et la fiabilité sont importantes pour de nombreux gros clients, et la décision de tolérance aux pannes peut durer plusieurs années. Adaptation, vérification des produits, respect de nombreuses exigences. Il se trouve que la situation est amusante - d'une part, vous devez garantir la fiabilité et la confiance dans les produits, et d'autre part, rester moderne.
Mais le nouveau est toujours associé à un certain niveau d'ignorance de la technologie, du marché ou des deux.
Par exemple, après plusieurs années de travail, nous avons réalisé que nous devions utiliser les capacités intégrées des systèmes de stockage pour accélérer les sauvegardes. Toute une direction est donc née pour l'intégration avec les producteurs de fer. Aujourd'hui, les partenaires Veeam de ce programme sont tous les plus grands acteurs de ce marché - HP, NetApp, Dell EMC, Fujitsu, etc.
Il nous a également semblé que la virtualisation remplacerait les serveurs classiques. Mais la vie a montré que les 10% restants des serveurs physiques restent, dont la virtualisation n'est pas possible ou n'a pas de sens. Et ils doivent également être sauvegardés. C'est ainsi qu'est né Veeam Agent pour Windows / Linux.
À un moment donné, nous avons estimé qu'il était temps pour Unix de prendre sa place dans le musée et avons refusé de le soutenir. Mais dès que nous avons atteint des clients avec une longue histoire, nous avons réalisé qu'Unix est plus vivant que tous les vivants. Néanmoins, ils ont écrit une solution pour lui.
La même histoire était avec les lecteurs de bande. Nous avons pensé: "qui en a besoin dans le monde moderne?" Ensuite, nous avons travaillé sur des fonctionnalités telles que la récupération de données granulaire ou la sauvegarde incrémentielle avec une copie complète synthétique - et cela ne peut tout simplement pas être fait sur bande, vous avez juste besoin d'un disque. Ensuite, il s'est avéré que les lecteurs de bande fonctionnent comme l'un des moyens de fournir des sauvegardes inchangées qui sont nécessaires pour le stockage à long terme - afin de venir dans 5 ans, prendre une bande d'une étagère et faire un audit. Eh bien, la taille des clients - nous avons commencé avec des petits - et personne n'utilise les bandes là-bas. Et puis ils ont grandi en clients qui nous ont dit qu'ils n'achèteraient pas un produit sans bandes.

Quelles technologies sont utilisées dans Veeam
Pour les tâches liées à la logique métier, nous utilisons .NET. Nous avons commencé avec et continuons à optimiser. Maintenant, dans un certain nombre de solutions, nous utilisons .NET Core. Lorsque la startup vient de se former, l'équipe comptait plusieurs supporters de cette pile. Il est bon dans la rédaction de la logique métier, la vitesse de développement et la commodité des outils. Ce n'était pas alors la solution la plus populaire, mais maintenant il est clair que ces partisans avaient raison.
Dans le même temps, nous écrivons sous Unix, Linux, travaillons avec du matériel, cela nécessite l'utilisation d'autres solutions. Les parties du système liées aux informations sur les données que nous stockons dans la sauvegarde, les algorithmes de récupération de données, les algorithmes liés au fonctionnement du fer - tout cela est écrit en C ++.

Comment les employés sont répartis dans le monde
Aujourd'hui, l'entreprise emploie environ quatre mille personnes. Un millier d'entre eux se trouvent en Russie. L'entreprise compte deux grands groupes. Le premier est engagé dans le développement et le support technique des produits. La seconde rend les produits visibles au monde extérieur: la vente et le marketing sont de sa compétence. Le rapport entre les groupes est d'environ trente à soixante-dix.
Nous avons une trentaine de bureaux dans le monde. Les ventes sont réparties plus largement, mais le développement n'est pas loin non plus. Certains produits sont travaillés simultanément dans plusieurs bureaux - en partie à Saint-Pétersbourg, en partie à Prague. Certains sont développés dans un seul, par exemple, un produit qui fournit une sauvegarde Linux physique est en cours de développement à Prague. Il y a un produit sur lequel seul le Canada travaille.
Nous faisons du développement distribué pour répondre aux exigences des clients. Les gros clients se sentent plus en sécurité lorsque le développement se fait dans la même région où le produit fonctionne.
Nous avons déjà un très grand bureau en République tchèque et l’année prochaine, nous prévoyons d’ouvrir un autre bureau à Prague - pour 500 développeurs et testeurs. Ceux qui ont emménagé dans la capitale tchèque lors de la «première vague» sur Habré sont heureux de partager leur expérience et leurs astuces de vie avec tous ceux qui sont intéressés par l'opportunité de travailler en Europe. En Russie, le bureau est situé à Saint-Pétersbourg, une partie des projets internes sont en cours à Izhevsk et le soutien est partiellement à Moscou. En général, plusieurs centaines de personnes dans le monde sont engagées dans le support technique. Il existe des spécialistes de différents niveaux de formation technique et de spécialisation. Le niveau le plus élevé est constitué de personnes capables de comprendre le produit au niveau du code source et qui travaillent dans le même bureau que le développement.

Comment les processus sont organisés
Environ une fois par an, nous publions de grandes versions avec de nouvelles fonctionnalités, et tous les deux à trois mois - des mises à jour avec des corrections de bugs et des améliorations qui répondent aux exigences urgentes du marché ou aux changements de plate-forme. Les priorités sont attribuées aux exigences - de mineures à critiques, sans lesquelles la publication est impossible. Ces derniers sont appelés «épopées».
Il existe un triangle classique - qualité, quantité de ressources, termes (chez les gens du commun, «rapidement, efficacement, à peu de frais, choisissez deux»). On ne peut pas mal faire, la qualité doit toujours être élevée. Les ressources sont également limitées, même si nous essayons de nous développer tout le temps. Il y a beaucoup plus de flexibilité dans la gestion du temps, mais c'est aussi souvent fixe. Par conséquent, la seule chose que nous pouvons modifier est la quantité de fonctionnalités de la version.
Epikov, en règle générale, essaie de ne pas garder plus de 30 à 40% des dates de cycle de sortie prévues. Nous pouvons couper le reste, transférer, modifier, modifier. Ceci est notre espace de manœuvre.
Pour chaque exigence, une équipe temporaire est créée dans la version. Il peut avoir trois personnes, et cinquante, selon la complexité. Nous adhérons à une méthodologie de développement flexible, une fois par semaine, nous organisons des revues et des discussions sur le travail effectué et à venir pour chaque fonctionnalité.
La moitié du temps du cycle de publication est consacrée au développement, la moitié à l'achèvement du produit. Mais nous avons un dicton - "la dette technique d'un projet en faillite est nulle". Par conséquent, il est plus important de fabriquer un produit qui fonctionne et est en demande que de lécher le code à l'infini. Si le produit est populaire, il vaut déjà la peine de le développer davantage et de l'adapter aux changements futurs.

Comment Veeam emploie des personnes
L'algorithme de sélection est en plusieurs étapes. Le premier niveau est une conversation entre un candidat et un recruteur sur les souhaits de la personne elle-même. À ce stade, nous essayons de comprendre si nous sommes adaptés au candidat. Il est important pour nous que nous soyons intéressants en tant qu'entreprise, car introduire une personne dans un projet est un plaisir coûteux.
S'il y a un intérêt, au deuxième niveau, nous proposons une tâche de test pour comprendre la pertinence de l'expérience du candidat et ce qu'il peut démontrer en tant que spécialiste. Par exemple, veuillez créer un compresseur de fichiers. Il s'agit d'une tâche standard et elle montre comment une personne est liée au code, qui adhère à la culture et au style, qui utilise des solutions.
Sur la tâche de test, tout est généralement parfaitement visible. Une personne qui vient de se familiariser avec une lettre et a d'abord écrit une lettre est sensiblement différente d'une personne qui écrit constamment des lettres.
Ensuite, nous menons une interview. Habituellement, il est effectué immédiatement par trois chefs d'équipe afin que tout soit aussi objectif que possible. De plus, cela aide à recruter des personnes techniquement compatibles qui ont approximativement les mêmes méthodes et approches de développement, même si finalement elles travaillent dans des équipes différentes.
Au cours de la semaine, nous menons plusieurs entretiens pour un poste vacant et décidons avec qui nous continuerons à travailler.
Souvent, les gars viennent nous voir et disent qu'ils cherchent du travail, car ils n'ont nulle part où aller à l'actuel - vous ne pouvez attendre une augmentation que lorsque le patron prend sa retraite. Nous avons une dynamique légèrement différente. Il y a douze ans, Veeam était une startup avec dix employés. Maintenant, c'est une entreprise où travaillent plusieurs milliers de personnes.
Les gens arrivent ici comme une rivière orageuse. De nouvelles directions apparaissent constamment; les développeurs de rang d'hier deviennent des chefs d'équipe. Les gens grandissent techniquement, grandissent administrativement. Si vous développez une petite fonctionnalité, mais que vous souhaitez la développer, la moitié de la bataille est déjà terminée. Le support sera à tous les niveaux, du chef d'équipe aux propriétaires de l'entreprise. Je ne sais pas comment faire quelque chose administrativement - il y a des cours, des formateurs internes, des collègues expérimentés. Il n'y a pas assez d'expérience en développement - il y a un projet Veeam Academy. Nous sommes donc ouverts à tous, aussi bien pour les professionnels que pour les débutants.
Le projet Veeam Academy est une soirée C # gratuite hors ligne intensive pour les programmeurs débutants avec la perspective d'un emploi dans Veeam Software pour les meilleurs étudiants. Le but du projet est de réduire l'écart entre le volume de connaissances et de compétences pratiques d'un diplômé universitaire moyen et la quantité de connaissances nécessaires pour intéresser un bon employeur. Pendant trois mois, les gars étudient les principes de la POO en pratique, s'imprègnent des fonctionnalités de C # et étudient l'espace hotte .Net. En plus des conférences, des tests, des projets de laboratoire et personnels, les gars développent leur projet commun conformément à toutes les règles de ces entreprises. Le sujet du projet n'est pas connu à l'avance - il est choisi avec tout le monde dans les premiers jours après le début du cours. Sur le dernier volet, elle est devenue la Banque virtuelle.
Ouvrez maintenant la numérotation vers un nouveau fil .