Pourquoi un programmeur fait-il un stage en cuisine - une conversation avec Dodo Pizza sur le gemba, .NET et l'ouverture



On en sait déjà beaucoup sur Dodo Pizza. L'activité de l'entreprise est liée à un réseau de services technologiques, ils ont écrit un livre sur leur histoire, la pile technologique et l'architecture du système sont peintes directement sur le site, à quelques clics de la page principale. Ils discutent calmement et ouvertement même la fakapy la plus désagréable au public.

Tout cela est génial et une touche romantique est créée - il semble que par défaut Dodo Pizza soit cool de travailler avec. Mais nous voulions savoir si tel était bien le cas.

Y a-t-il une ouverture dans les excès et les pièges? Quel est le lien entre les gens et les caméras ouvertes dans les cuisines? Les technologies sont-elles simplement des ornements marketing? En fin de compte, alors que les géants de l'informatique appellent les développeurs à fournir à vie des cookies et des cafetières personnelles, Dodo encourage le travail périodique dans la cuisine - pour ressentir la douleur des clients et des employés ordinaires.
Dodo Pizza a reçu une note moyenne de 4,7 de la part de ses employés chez My Circle et une recommandation moyenne de 98%. L'entreprise est appréciée pour ses tâches intéressantes, sa croissance professionnelle et ses excellentes relations avec ses collègues.

Nous avons demandé à fillpackart tout cela, et Alexander Andronov, STO Dodo Pizza nous a répondu.



Pourquoi la technologie des pizzerias


- Comment Fedor a-t-il ouvert une pizzeria si rapidement après avoir travaillé comme caissière ordinaire?

- Il n'y a rien de compliqué. Il a pris et fait. Pour cela, une préparation supplémentaire et de l'argent supplémentaire ne sont pas nécessaires.

- Mais Ă  mon avis, c'est assez cher.

- C'est cher si vous ouvrez une pizzeria quelque part à Moscou, dans le troisième anneau de transport. Là, vous avez besoin de 15 à 20 millions d'investissements. Et la première «Dodo Pizza» a ouvert dans les profondeurs de Syktyvkar, au sous-sol. Il n'y avait pas de restaurant, il ne fonctionnait que pour la livraison et l'investissement était faible.

Ce n'est rien de compliqué. Nous avons des histoires lorsque des partenaires ont collecté des cartes de crédit dans toutes les banques, encaissés, et avec cet argent, ils sont allés construire une pizzeria.


Fedor Ovchinnikov, fondateur de Dodo Pizza.

- L'idée était-elle de se concentrer tout de suite sur la technologie?

- Oui, le développement a commencé environ un mois après l'ouverture de la première pizzeria. Fedor lui-même n'est pas un développeur - il a trouvé deux gars qui ont lu son blog et ont répondu à l'idée. Le cycle de développement a été très court pour tout mettre immédiatement en production. Cela l'a soudoyé et ils ont commencé à travailler ensemble.

- Lorsque les gens sont attirés par la technologie, l'industrie alimentaire, la restauration est souvent loin d'être au premier plan de leurs intérêts. Pourquoi la pizza?

- La pizza est un produit assez simple et compréhensible. Où que vous soyez, dans n'importe quel pays, dites le mot «pizza», et tout le monde saura ce que c'est. Il s'agit d'un produit bien préparé d'un point de vue commercial. Il est clair comment le faire, il y a un tas d'expérience d'autres sociétés, un tas de modèles de développement. Prenez et faites.

Mais l'accent mis sur la technologie commence à faire du profit, non pas quand vous avez une ou deux pizzerias, mais quand il y en aura des milliers. Ensuite, vous pouvez créer une personnalisation, vous pouvez gérer un réseau de pizzerias en ligne, découvrir instantanément ce qui n'a pas fonctionné et y remédier.

- Alors, vous ne tirez toujours pas profit de la technologie?

Au niveau mondial, le profit commence à peine à émerger. Par exemple, nous consolidons tous les canaux de vente, nous avons un système de centre d'appels unique. Ni Dominos ni Papa John ne l'ont. Là, vous devez appeler une pizzeria spécifique qui apportera votre commande.

"Mais ce n'est pas le cas."

C'est vrai. Ils n'ont qu'une commande sur un téléphone commun. Mais ensuite, ils vous rappellent d'une pizzeria spécifique si, par exemple, il n'y a pas d'ingrédients pour votre commande. Nous avons le même système, lorsque nous recevons un appel au centre d'appels, nous savons avec certitude quelle pizzeria exécutera la commande, ce qu'elle a avec le reste, les courriers. Toutes les informations des employés en ligne.


Bureau de Dodo Pizza Ă  Syktyvkar.

- D'accord. Qu'est-ce qui est le plus important pour vous - la pizza ou la technologie?

- Ils sont inextricables. Sans pizza, la technologie n'a aucun sens. Mais sans technologie, il y aurait simplement une autre pizzeria, et nous ne pourrions probablement pas évoluer comme ça.

C'est la même chose à demander: les développeurs ou les ingénieurs QA sont plus importants.

- (Phil fillpackart ) Développeurs bien sûr

"Tu as tort." On ne peut répondre sans ambiguïté à la question. Tout dépend de l'heure à laquelle vous vous trouvez. Quand tout est déjà développé, qui est le plus important? Vous pleurerez si vous n'avez pas assez d'ingénieurs en assurance qualité. Ils seront obligés de devenir développeurs.

Et exactement la mĂŞme technologie et la pizza n'existent pas sans l'autre.

- Les technologies ne fonctionnent pas ici, comme une machine Goldberg? Une demi-heure, divers mécanismes opèrent toutes sortes de miracles, de sorte qu'à la fin le marteau tombe et écrase un écrou.

- Cela peut sembler à première vue. Parfois, expliquer aux développeurs ce que nous faisons est un problème. Leur première réaction: «qu'est-ce qu'il y a, un site de vente de pizza à faire? 1C à configurer? "

Du point de vue du travail avec un client et de la gestion des pizzerias - tout cela donnera un bénéfice avec la croissance mondiale. Dans l'entreprise classique, il existe des facteurs strictement définis qui affectent le succès de chaque pizzeria: le coût de la main-d'œuvre, le coût des ingrédients, les revenus, les dépenses pour attirer les clients et la rétention. Vous devez conserver exactement autant d'ingrédients afin de vendre avec précision l'ensemble du menu afin que rien ne se passe mal et ne doive pas être triché.

Les coûts de main-d'œuvre sont liés aux prévisions de la demande. Si vous comprenez qu'à certaines heures, vous aurez des ventes et à d'autres heures - d'autres, vous pouvez créer un horaire automatique pour les personnes à déplacer. Pour la plupart, c'est ce qui se passe avec nous, mais nous prévoyons cela jusqu'à présent en mode semi-manuel. Passons à l'automatisation complète au fil du temps.

Les systèmes d'information commencent à aider à chaque étape, ils optimisent au point que sans technologie, cela devient impossible.

- Dans le cas de Zume Pizza - pas un excès de technologie?

Cela semble être la première expérience lorsqu'un robot fait de la pizza. Une telle industrie est au tout début du développement. Les premières voitures étaient également très chères.

Lorsque la technologie se développe au fil du temps, lorsque les robots sont suffisamment fiables, lorsque les pièces deviennent bon marché (si cela se produit), cela se verra. Je ne sais pas combien d’années cela prendra pour un projet pilote. Mais oui, cela pourrait bien se développer. Ou peut-être pas.



Dodo est


Quelques mois après l'ouverture de la première pizzeria, Dodo IS est apparu - le système d'information sur lequel repose le travail de toute l'entreprise. Il s'agit d'un ensemble de microservices rassemblés dans une infrastructure. Il est utilisé par les gestionnaires, les clients, les caissiers, les cuisiniers, les clients mystères, les employés des centres d'appels - c'est tout.

Classiquement, Dodo IS est divisé en deux parties. Le premier est destiné aux clients. Cela comprend un site Web, une application mobile, un centre d'appels. Le second s'adresse aux franchisés partenaires. Elle aide à gérer les pizzerias. Le système transmet les factures des fournisseurs, la gestion du personnel, le changement de personnel, la paie automatique, la formation en ligne du personnel, la certification des gestionnaires, le système de contrôle de la qualité et les clients mystères.

Autrement dit, il s'agit d'un grand système de l'obscurité d'outils et de services complètement différents. Alors que le système grandissait et se développait avec le réseau Dodo, il est difficile de croire que son architecture a résisté à tous les défis de la mise à l'échelle.

- (Phil) Le système est compliqué. Il y avait beaucoup d'erreurs de calcul dans l'architecture faites dès le début?

Tout a commencé avec un monolithe. Maintenant, nous sommes arrivés au fait que nous devons le voir progressivement, il ne résiste pas à la charge.

En général, c'est une question complexe et double. Vous ne savez jamais ce qui se serait passé si vous n'aviez pas permis une erreur de calcul incorrigible au début. Ensuite, vous avez fait quelque chose de plus rapide, l'avez mis sur le marché plus rapidement, éliminé une caractéristique banale, et vous ne saurez jamais la réponse, comment les choses se seraient-elles passées sans cela.

Nous avions un ancien site Web Dodo Pizza. Il était très difficile d'y apporter des modifications et deux options sont apparues - soit développer l'évolution de l'existant, soit reconstruire son architecture. En conséquence, le site a été complètement jeté et un nouveau a été écrit. La semaine dernière, tous les pays y ont été complètement transférés.

Mais je ne peux pas appeler l'ancien site une erreur de calcul. Si cela n'avait pas été fait rapidement, peut-être que la pizza Dodo n'aurait tout simplement pas existé.


Bureau de Dodo Pizza Ă  Syktyvkar.

- (Phil) Est-ce qu'il reste des mauvaises décisions qui interfèrent actuellement?

- Nous prenons périodiquement de telles décisions, et parfois nous devons les supprimer. Par exemple, nous avions notre propre bus pour la messagerie entre différents systèmes. Sa deuxième réincarnation est maintenant terminée. Ils en ont fait un - ça n'a pas marché, ils ont décidé de le refaire, ils ont fait le second. Maintenant, tout va bien. Tout ce qui nous dérange, on change assez vite.

- (Phil) Tout changement dans les grandes entreprises prend une éternité. Et tu dis que tout va vite avec toi. Comment cela se fait-il?

Il y a beaucoup de facteurs. Notre développement est indépendant du client. Quand il y a un problème, il nous est très facile d'accéder à l'entreprise et d'obtenir toutes les réponses. La clé est la communication.

D'un autre côté, si les partenaires commencent à écrire massivement qu'ils ont besoin de telle ou telle chose dans le système, et s'ils écrivent non pas un ou deux, mais de nombreux grands partenaires, il est très probable que cette chose pénètre rapidement dans l'arriéré. Peut-être même déplacer toutes les autres tâches et aller au sommet. Un tel exemple a été l'ouverture d'une pizzeria au Bélarus. Cette tâche est apparue et a déplacé toutes les autres. Autrement dit, nous avons une gestion rapide des priorités et il est possible de déplacer des tâches.

- (Phil) Tout le monde dit que la communication est très importante pour eux, que le développement communique étroitement avec les entreprises. Mais en fait, même changer l'inscription sur le site prend trois mois. Et il y a plus de tels exemples.

Ici, nous devons nous demander pourquoi cela ne fonctionne pas, où les communications ne passent pas. Beaucoup peut dépendre de la taille de l'entreprise. Si vous devez passer par vingt approbations avec différents gestionnaires et qu'aucun d'entre eux ne veut prendre de décision, alors ce sera lent. Nos décisions sont prises rapidement.

S'il y a une demande de changement dans une certaine direction, la personne va immédiatement au produit, juste là, elle prend une décision et commence juste à prendre. Vous parlez à la personne et vous comprenez qu'elle peut changer complètement les priorités de l'application mobile.

Un autre point est lié aux priorités. La modification de l'inscription sur le site n'est peut-être pas aussi importante que la manière de gérer les tâches de réception des factures des fournisseurs. Et puis, on a l'impression que changer l'inscription prend trois mois. Non, elle ne le prend pas - nous pouvons lui faire un don pour d'autres tâches.


Bureau de Dodo Pizza Ă  Syktyvkar.

- (Phil) Pourquoi n'as-tu pas peur de prendre une telle responsabilité?

Les gens qui prennent des responsabilités, personne ne punira. Et quand vous n'avez pas peur, quand ils vous font confiance, vous vous permettez de prendre des risques.

Dans les grandes entreprises, malgré le fait que tout le monde dit «nous sommes amis», il existe une rivalité entre les départements. Chez nous, tout le monde souligne calmement toute lacune, tout le monde fera des commentaires, vous le dira. Tout se fait avec le soutien de la communauté interne.



Quelles technologies se cachent derrière les pizzerias


- (Phil) En 2011, .NET n'Ă©tait pas un choix Ă©vident. Pourquoi l'as-tu choisi?

- Nos gars connaissaient juste .NET

- (Phil) exhaustivement. Comment êtes-vous passé à .NET Core?

Tous les nouveaux services sont effectués sur Core. Vingt-cinq pour cent ont été transférés de l'ancien. Nous combinons le transfert avec la coupe du monolithe, et cela se fait en plusieurs étapes. Le premier est un appel à ASP.NET Core avec un framework complet. Là, il sera déjà plus facile de migrer vers Core lui-même, mais il s'agit toujours d'un cadre complet qui fonctionne sur IIS. Le tout est séparé avec sa base, et maintenant vous avez des instances physiquement séparées. Traduisez ensuite en .NET Core

L'étape suivante, nous traduisons cela en Kestrel. Et puis des conteneurs à Coober. Mais maintenant, avec nous, Coober n'est pas prêt pour une implémentation à part entière, nous n'y lançons que les services les moins critiques. Si quelque chose tourne mal et qu'ils tombent, nous survivrons. Mais l'API mobile ne peut pas encore être enveloppée dans Coober, nous ne nous y sommes pas encore préparés.

- (Phil) Sur la pile, il semble que vous essayiez spécifiquement d'être à la mode. Pourquoi en avez-vous besoin?

- Ce n'est pas seulement une tendance pour le plaisir de la tendance. Il y a deux facteurs. Lorsque vous écrivez sur les nouvelles technologies, il est toujours plus facile pour vous d'attirer des gens, car les gens veulent travailler avec de nouvelles choses. Le deuxième facteur est une économie banale. Les serveurs Linux sont moins chers, Kestrel résiste à plus de charge que IIS, fonctionne plus précisément avec les threads.

Autrement dit, le choix de la technologie est économiquement justifié.

Quand il a été décidé de créer un nouveau site, une grande bataille a été organisée entre React et Angular. Il était vraiment long, mais a gagné React. Dans le back office, l'histoire est plus triste et plus ancienne. Il reste encore du porridge de différentes versions d'Angular - il y avait à la fois la première, la seconde et quelque part même la quatrième. Et entre la première et la seconde différence se trouve à la fois le ciel et la terre. Si la migration du deuxième au quatrième est relativement simple, alors la migration du premier au second est de savoir comment tout jeter et réécrire.

Il y avait toujours jQuery et reste toujours. Mais nous avons essentiellement décidé que nous faisions de nouvelles choses sur React. Nous essayons également de faire glisser lentement les anciens.

Progressivement, l'ensemble du back office sera envahi par React. Angular a complètement disparu, jQuery aussi.


Bureau de Dodo Pizza Ă  Syktyvkar.

- (Phil) Avez-vous JavaScript ou TypeScript?

TypeScript Il Ă©tait plus facile pour l'Ă©quipe de travailler avec la frappe statique.

- (Phil) Le choix de .NET était-il stratégiquement justifié?

Chaque fois que je me pose cette question, et chaque fois je n'en connais pas la réponse. Rien ne nous empêche de faire de nouveaux services sur une autre pile. Dans l'architecture de microservices, cela fonctionne bien. Naturellement, tout le Machine Learning, par exemple, est construit sur Python.

D'un autre côté, je comprends que .NET (en particulier .NET Core) est une technologie telle qu'il est temps d'y investir. Premièrement, il est relativement nouveau. Deuxièmement, disons que oui, Microsoft rembourse maintenant ses dettes. Il fait ce qu'il était censé faire il y a dix ans, mais tout s'est mal passé.

Et du point de vue du langage lui-même - C # est beau, merveilleux et génial. Il y a une énorme quantité de sucre syntaxique et de constructions claires qui peuvent être expliquées d'une manière logique normale.

Il est difficile de rechercher des développeurs. L'industrie est toujours très négative à propos de .NET. Probablement, si nous étions sur la pile Java, il y aurait beaucoup plus de développeurs.

- (Phil) Citation de votre poste vacant, «et oui, nous n'avons pas de WCF. Pas du tout. " Pourquoi n'est-il pas venu comme ça?

Je ne me souviens que de très rares cas où une personne travaillait avec WCF pas très profondément, et il allait bien. Mais je sais - et je suis moi-même tombé sur l'entraînement - que la WCF n'était qu'un coup de feu dans la jambe, pas même d'un fusil de chasse, mais d'un lance-grenades. WCF est une technologie incroyablement impressionnante, lorsque vous devez prendre en charge un tas de protocoles différents, lorsque vous n'avez pas assez de http, quand vous n'avez pas assez d'échange json REST, WCF passera vous donner un tas d'options pour quoi faire.

Mais dans notre cas, c'est comme un canon sur des moineaux. Et c'est assez compliqué à configurer, la moindre négligence dans les configurations - et vous obtenez des erreurs de niveau "quelque part dans les modèles quelque chose n'a pas résisté, allez le comprendre."

- (Phil) Si Microsoft disparaît et cesse de prendre en charge sa technologie, combien cela vous coûtera-t-il? Tout - pas .NET, pas Azure.

- À propos d'Azure. Notre orientation mondiale est la conteneurisation à Coober, et en fait, peu importe où elle commence. La récupération d'urgence et le passage à une autre plate-forme prennent environ cinq heures. Du point de vue du système d'exploitation, nous perdrons quatre à cinq heures de travail.

Et si .NET disparaît soudainement, les développeurs n'iront nulle part. Le passage à une autre pile, bien sûr, nous ralentira, mais je ne pense pas que cela aura un impact significatif. Nous comprenons que de nouveaux services doivent être effectués sur une autre pile - Java, Go, Python, peu importe - nous commençons à refaire progressivement et à soutenir le travail opérationnel de ce qui est maintenant. Peut-être que cela ralentira le développement dans certains pays, car il y aura moins de temps pour les nouveaux.

Le problème est que tout va s'effondrer, non. Tout continuera à fonctionner, mais se développera plus lentement. Je ne pense pas que les autres sociétés aient cela différemment.



Que faire au bureau, Ă  distance et comment communiquer avec l'entreprise


- Où est votre bureau de développement?

- Le bureau principal à Moscou. Il y a un bureau à Syktyvkar, un petit bureau à Nizhny Novgorod et plusieurs personnes à distance dans différentes villes. Ce sont des ingénieurs, nous avons 57 personnes, mais on comprend qu'ils ne suffisent pas, et nous prévoyons de passer à 250 personnes.


Bureau de Dodo Pizza Ă  Syktyvkar.

- Est-ce important pour vous - au bureau ou Ă  distance?

- Le principal processus responsable du développement commercial est LeSS. Cela implique que toutes les personnes doivent être colocalisées, en un seul endroit. Mais nous comprenons que ce processus ne sera pas le seul pour nous.

En cas d'incertitude élevée, par exemple en Chine, vous devez mettre en œuvre expérience après expérience et essayer de trouver un modèle commercial qui fonctionne. Et il y a une équipe dédiée qui fait ça. Il est composé de développeurs à Moscou, Nizhny Novgorod et Wuhan (Chine).

Par conséquent, nous voulons rassembler des gens à Moscou pour une partie du travail, afin qu'ils soient tous physiquement situés ici, et nous pouvons donner l'autre partie en toute sécurité à la télécommande, et même à des équipes externes. Selon les estimations générales, 60 à 70% des travaux seront effectués à Moscou.

- Que puis-je donner à la télécommande?

- Par exemple, un système de contrôle qualité est un projet lié à un calendrier d'inspection de restaurant. Il y a un faible degré d'incertitude, le processus est élaboré et vous pouvez confier le projet à des équipes externes.

Ou maintenant, il y a la principale application mobile pour commander, mais les gars du développement mobile ont encore quelques demandes différentes. Par exemple, il n'y a pas si longtemps, nous fabriquions une imprimante de marquage. Lorsque les employés coupent, par exemple, des tomates dans une pizzeria, ils doivent être étiquetés. La durée de conservation est de 24 heures, et après cela, ils ne peuvent plus être utilisés.

Auparavant, les marquages ​​étaient manuels. Vous avez collé un autocollant, écrit avec un stylo (stylo!) À quelle heure vous l'avez fait, mais ils sont toujours impossibles à lire. Cela a conduit à des erreurs de marquage permanentes. Et c'est un désastre.

Vous vous lasserez d'étiqueter ces tomates! Et ce n'est que lorsque le développeur lui-même se rendra à la pizzeria qu'il ressentira et comprendra tout par lui-même. J'étais vraiment mauvais quand j'ai étiqueté huit Lexans aux tomates. Confus rapidement.



Les gars du développement mobile sont également allés travailler dans une pizzeria et ont ressenti toute la douleur. Ils ont fait une imprimante avec une application mobile, qui vous donne automatiquement un marquage lorsque la date d'expiration est terminée - il suffit de la coller et de la prendre. La culture de la proximité client a très bien fonctionné.

Mais ce projet n'est pas la clé pour l'équipe de développement mobile. Cela ne peut se faire que dans une courte pause entre les projets principaux. Nous pouvons également donner de telles choses à la télécommande et aux équipes externes.

- Comment ces 57 personnes se répartissent-elles la montagne du travail?

- Fondamentalement, nous avons des équipes de fonctionnalités, c'est-à-dire des équipes qui peuvent prendre presque n'importe quelle partie du système. Ils n'ont aucun attachement à certaines choses. Il y en avait, et cela a entraîné des problèmes de manque de compétences.

— , Azure, .

— ?

— . , , , - , .

— -. . , ( — ) .

, , .

, . , , .


« » .

— ? .

, . . . , , .




— , ?

— , . , , .

IT — . - .

— ?

— . , . , . , — . .

, . , , , , , . — .



— , ?

— - « ». , . , .

?

, . , . , « , - », , , .

, : « . , ». . , , .

— ?

— . , , — , . , . , , , .




— ?

— - , , , , . , , .


« » .

— , ?

— , . , . . , , .

, .NET. . . , — . , , , — , , «».

, — . - , , , . , , .

— () ?

— . — , QA , , . .

. , . , , .

, , .

— () , , ?

— , . 99% - . , , .

, . , , . , .

— , , ?

— — . , . . , , .

. , «», , . , , , , .

, , : «, ». . , , -.


« » .

— , ?

- Oui.

— , .

— . , . , : « Google Facebook ». . , , . .

— ?

- Non.




— ?

— .

— ?

- Bien sûr! — , . , , , . , — . — . , .

. , .

— , , , ?

— ?

— .

- Oui. .

— ? .

— ? , «, , , ». . - , .

, . - , . . , , , .


« » .

— — . ? , , , , .

— , . , , - . — . - , , , .

. - , . - -. . . , , . .

, . . , , « , ». , . . .

-2. , , .

, , . , , . , — , — ?


« » .

— ?

- Non. : « » « -» . .

. , -, , . , .

, — . , .

Source: https://habr.com/ru/post/fr433168/


All Articles