Où travailler en informatique, numéro 3: Badoo



Des services comme Badoo s'appelaient autrefois des sites de rencontres. Mais maintenant, cette définition ne correspond pas en quelque sorte à l'image d'une société informatique avancée avec des bureaux à Moscou et à Londres, des salaires élevés et une pile de haute technologie. Par conséquent, Badoo préfère le lissage neutre - "le plus grand réseau social au monde pour rencontrer de nouvelles personnes".

À en juger par l' évaluation de l'employeur que Badoo a reçue chez My Circle, les employés évaluent le paquet social, l'intérêt des tâches et le confort des conditions de travail dans cette entreprise.

Nous avons essayé de découvrir s'il y avait quelque chose de spécial dans le développement des rencontres. Ou est-ce la même machine universelle agile qui procure du bonheur à l'utilisateur, peu importe ce que l'utilisateur veut.

Ivan Biryukov, responsable du développement mobile chez Badoo, a parlé de son travail. Dans le même temps, nous avons appris comment vivent les développeurs de rencontres à Londres et quel type de technologie nous aide à rencontrer de nouvelles personnes.


Pourquoi Badoo est situé à Londres




- Pourquoi avez-vous décidé de transférer tous les développeurs mobiles de Londres?

Le développement mobile a été initialement construit à Londres. Voici la direction de l'entreprise, l'équipe produit, les concepteurs - tout, les personnes qui influencent le plus le produit.

Pour que la communication entre le client et les sociétés de produits soit efficace, elle doit être établie dans un seul bureau. Nous amenons ici des gars du monde entier. Nous avons des gens du Mexique, de Nouvelle-Zélande, d'Inde, d'Espagne, de la plupart des pays de l'ancienne CEI.

Le pays n'est pas important - l'essentiel est qu'une personne sache faire ce qu'on attend de lui. Il serait probablement possible de faire une demande à Moscou, mais établir une communication dans ce cas est plus difficile. Et nous avons décidé de ne pas le faire.

- Ce n'est pas l'opinion la plus populaire. C'est une chose de maintenir les équipes de produits ensemble, mais le développement est souvent interrompu dans le monde entier; les petites villes sont moins chères. Les avantages l'emportent-ils sur les inconvénients?

Nous avons commencé le développement mobile très tôt, presque immédiatement après l'apparition de l'iPhone et d'Android, en Russie, nous n'avons pas pu trouver une équipe de spécialistes - il y en avait très peu sur le marché par rapport à Londres. Nous avons donc décidé de construire une équipe à partir de zéro là-bas. Maintenant, tout changer dans l'œuf n'a pas de sens, car tout fonctionne déjà bien, et cela nous convient.

- Et comment ça marche dans une équipe aussi internationale?

J'aime ça, c'est intéressant. Communiquez avec des gens du monde entier. Des gens de nationalités différentes, des mentalités différentes, des perspectives de vie. Pour moi, c'était tout simplement inimaginable. Je viens moi-même d'une petite ville, de Saratov. Sans vivre à Moscou, il est venu à Londres, ce qui explose bien sûr le cerveau dans son intégralité.

Parfois, vous devez faire une remise sur la culture avec laquelle vous communiquez et sélectionner le libellé. Il arrive que pour comprendre ce qu'une personne veut et ce qu'elle essaie de vous dire, vous devez connaître le contexte culturel.

Mais quand il y a trop de gens du monde entier et que vous devez communiquer avec tout le monde tous les jours, vous simplifiez involontairement votre langue. Tout le monde comprend que si vous investissez dans des sous-textes, personne ne comprendra vos mots.


Équipe mobile au bureau de Badoo

- Connaissiez-vous déjà l'anglais à ce moment?

Oui, ce que je savais était suffisant pour obtenir un visa, mais j'ai commencé à comprendre les blagues en anglais trois ou quatre mois après le déménagement. En fait, vous n'avez pas besoin de beaucoup pour un visa - littéralement quatre points dans l'IELTS. Parlez-nous un peu de vous, lisez un court texte, écoutez un fragment de la conversation et répondez aux questions.

Au bureau, nous essayons de parler anglais. Si quelqu'un ne comprend pas le russe, l'espagnol ou une autre langue, tout le monde passera à l'anglais. Mais il y a un assez grand nombre de Russes, 70%. Par conséquent, si personne n'est là, nous passons parfois au russe.

- L'industrie des rencontres, la nature du travail, affectent l'atmosphère au sein de l'équipe?

Je sais que dans notre entreprise, certains ont trouvé un partenaire de vie sur Badoo. Lorsque cela se produit de très près, vous comprenez mieux comment votre entreprise affecte les gens, et c'est génial.

Très souvent, les utilisateurs nous envoient leurs histoires, racontent comment ils se sont rencontrés sur Badoo, comment ils vivent ensemble et qu'ils en sont reconnaissants.

En tant que père de famille, je n'ai jamais considéré Badoo comme un rendez-vous. Badoo est davantage perçu comme un produit intéressant à développer, à résoudre des problèmes complexes. Ce qui est important pour vous et que vous souhaitez améliorer.

Notre processus est construit de telle manière que pendant le développement et les tests, nous travaillons dans le bac à sable et sommes isolés des vrais utilisateurs afin de ne pas gâcher accidentellement l'impression en envoyant des messages de test ou des fonctionnalités cassées.

- Quelle est la différence entre travailler dans cette entreprise et ce que vous aviez en Russie?

En Russie, j'ai travaillé dans l'externalisation. Là, tout le travail sur les projets: les termes de référence sont venus, ont fait et ont oublié. Fondamentalement, cela fonctionne avec des personnes dans des pays éloignés avec lesquelles vous communiquez deux à trois fois par semaine. Et tout va lentement.

Et ici, vous arrivez au bureau, où des gens sympas, une communication active, des tâches intéressantes qui sont résolues très rapidement. La différence, bien sûr, est énorme.

- Avez-vous des employés à distance?

Le support se trouve partout dans le monde et, fondamentalement, tout le monde travaille à domicile. C'est beaucoup de monde. Il n'y a pas de travailleurs à distance dans le développement - uniquement dans les bureaux de Londres et de Moscou. Il me semble qu'avoir de nombreux bureaux est tout simplement gênant. Nous ne sommes pas Microsoft, où il y a dix mille employés, et tout le travail est divisé en un million de petites tâches.

Chez Badoo, nous communiquons activement, participons au développement du produit et n'hésitons pas à exprimer notre avis. Lorsqu'une équipe est divisée, il faut tout argumenter par écrit à un grand nombre de personnes. Quelqu'un peut ne pas lire ceci, se méprendre et les difficultés commencent. Vous pourrez ainsi approcher toute personne impliquée dans le projet, expliquer la situation, connaître sa position et exprimer vos réflexions.

- Avez-vous un grand bureau?

Nous avons trois étages dans un immeuble du centre de Londres, à Soho. Ceci est un endroit socialement vivant. Restaurants, cafés, clubs - tout est là. Ils n'interfèrent pas avec le travail. Les rues sont particulièrement fréquentées après 18 heures, mais malgré tout, ce n'est pas très bruyant.







Comment se construit le développement


- Quels problèmes résolvez-vous?

Tout d'abord, nous travaillons avec l'équipe produit sur les fonctionnalités. Les produits ont une énorme liste d'idées, et de temps en temps, ils nous les apportent. Parfois, les idées arrivent à l'avance lorsque les utilisateurs ne sont pas prêts et n'acceptent pas bien - ces idées sont reportées à plus tard.

Nous nous connectons au processus, découvrons ce qui est requis, examinons quelles options nous avons et ce que nous pouvons offrir pour notre part.

Par exemple, nous essayons toujours dans une semaine ou deux de créer la fonctionnalité minimale pour une fonctionnalité qui nécessite, disons, six mois. Nous testons l'idée au combat et essayons de comprendre s'il vaut la peine d'investir dans son développement, que les utilisateurs l'aiment ou non.

Nous avons des cycles de sortie assez courts - une fois par semaine pour les applications natives Android et iOS (deux fois par jour sur le backend et le web). Si vous créez une nouvelle fonctionnalité intéressante, alors dans une semaine, des millions d'utilisateurs la verront déjà.

- Chaque semaine une sortie de fonctionnalité?!

Ce que nous avons accumulé au cours de la semaine, nous le déployons pendant deux à trois jours, et dans une semaine, nous commençons la prochaine version. Pour une équipe de, disons, dix personnes, deux ou trois petites fonctionnalités, plusieurs améliorations techniques et corrections de bugs seront publiées.

- Les mises à jour ne sont pas vides? Eh bien, vous ne pouvez pas publier une nouvelle fonctionnalité intéressante chaque semaine?

Vous ne pouvez pas déployer une grande fonctionnalité chaque semaine. Mais prenons, par exemple, le streaming vidéo. Nous y avons travaillé pendant un peu plus d'un mois, et la fonctionnalité est restée avec une fonctionnalité de base minimale. Là, vous pouvez diffuser, écrire un message et rien de plus.

Nous le faisons afin d'obtenir un retour d'information plus tôt, pour voir comment tout se passe du côté technique, pour résister à la charge. Après cela, nous développons une fonctionnalité. Autrement dit, nous n'obtiendrons pas d'autre vidéo en streaming dans une semaine - nous y ajouterons quelque chose - des messages de défilement automatique, la possibilité d'envoyer des cadeaux, de créer une image dans une image afin que vous puissiez continuer à utiliser le téléphone tout en regardant un flux, etc.

Dans le même temps, le travail peut aller sur plusieurs fonctionnalités existantes. Par exemple, quelque part, les analystes ont découvert à quelle étape de l'enregistrement de nombreux utilisateurs tombaient - nous allons le réparer. L'idée est née que le chat devrait fonctionner hors ligne - nous commençons à y travailler. En streaming vidéo, ils ont remarqué que les utilisateurs ne comprennent pas comment accéder directement au streamer - nous créons un bouton séparé pour cela.

- Qu'est-ce que le développement mobile?

Le développement natif mobile compte aujourd'hui quarante ingénieurs répartis en cinq équipes.

Les deux plus grandes équipes développent l'application Badoo pour iOS et Android.

L'équipe principale s'occupe des choses, des cadres et des outils de niveau inférieur (mise en réseau, analyse, chargement et mise en cache des images, solutions architecturales typiques), afin que d'autres équipes puissent travailler plus facilement sur les fonctionnalités pour les utilisateurs.

L'équipe Next-Gene travaille sur de nouvelles applications et diverses expériences. Par exemple, l'un des développements les plus réussis de cette équipe est la datation Bumble, qui est très populaire aux États-Unis (seules les femmes peuvent être les premières à le contacter si le couple est hétérosexuel - environ).

Enfin, l'équipe API définit l'interaction client-serveur et la documentation correspondante. Grâce à elle, tout le monde parle la même langue. Vous pouvez implémenter le client et le serveur indépendamment l'un de l'autre et trouver facilement la source du bogue.

- Des fonctionnalités telles que les flux, les appels vidéo, les sosies - quelles équipes font cela?

Sous de si grandes choses, nous rassemblons généralement une équipe de toutes les divisions. Sur une vidéo en streaming, nous avons, y compris de Moscou, appelé des gens à Londres, rassemblé tout le monde ici. En fait, tout le monde est impliqué dans une telle fonctionnalité, à l'exception, probablement, du gène suivant - simplement parce que cette fonctionnalité était principalement prévue pour Badoo.

Naturellement, les produits, les analystes commerciaux, les concepteurs travaillent également sur eux - tous ensemble, amusants et conviviaux.

- Et puis ils se dispersent et continuent de faire leur travail?

Eh bien, oui, en fait, nous constituons une équipe distincte pour les grands projets - c'est tout simplement plus efficace. Et nous faisons tout ensemble, en même temps. La communication dans de tels cas est beaucoup plus efficace que via gira, chat et vidéo. La collaboration vous permet de créer l'esprit d'une startup à part entière, un hackathon. Les gars aiment ça, et la compagnie est bonne.

À l'avenir, le soutien et le développement de tels projets se font généralement déjà dans le cadre de processus standard au sein des équipes. Vous pouvez en savoir plus à ce sujet dans le rapport du chef de la division des serveurs, Kolya Krapivny.

- Vous dites que vous êtes une entreprise informatique très avancée et que vous utilisez une technologie moderne. Dites-moi lesquels?

Il est clair qu'il existe toutes sortes de bannières comme Kotlin sur Android, RxJava. Après un certain temps, il sera impossible de trouver des développeurs qui ne connaissent que Java sans Kotlin pour Android. Le Web expérimente React Native - bien qu'il ne soit pas entièrement en développement mobile.

Parmi les choses importantes et avancées que nous pouvons appeler MVI Core. Nos gars ont regardé autour de nous, ont regardé MVI, ont étudié d'autres solutions architecturales et ont créé leur propre cadre. Disons simplement qu'il s'agit d'un développement ultérieur de MVI, ce qui facilite la maintenance des fonctionnalités complexes et leur mise dans une structure plus cohérente. Maintenant, d'autres entreprises commencent à adopter ce cadre. J'ai entendu dire que Lyft allait le mettre en œuvre.

Récemment, les gars ont introduit un système de conception qui vous permet de modifier l'apparence de l'application sans la participation de concepteurs. Littéralement en un seul endroit, nous pouvons repeindre l'application sur toutes les plateformes.

On a un peu d'avance sur le moteur, il faut beaucoup inventer. Quand nous avons pensé à télécharger des photos dans l'application, il n'y avait pas de frameworks de Facebook ou de n'importe qui - j'ai dû écrire le mien. Il en va de même pour la recherche de doubles. Bien sûr, il existe des services qui reconnaissent les visages, mais la mise en œuvre de prêts à l'emploi est parfois plus coûteuse.

- Tu es passé à Kotlin il y a longtemps?

Il y a un an, nous avons commencé à écrire des tests à ce sujet, bien qu'il y ait eu des propositions antérieures pour la transition. Et avant cela, l'équipe de gènes suivante a commencé à expérimenter avec lui. Au cours du dernier nouvel an, nous avions déjà réalisé le premier long métrage sur Kotlin. C'est devenu la norme commune pour l'équipe Android au début du printemps. Maintenant, toutes les nouvelles fonctionnalités sont écrites dessus.

La transition a été assez facile pour les gars. À ce moment-là, le langage et les outils nécessaires étaient déjà installés, il n'y avait donc pas de problèmes particuliers .

- Et avant cela, n'a pas eu de différends sur la programmation fonctionnelle? Vous ne voulez pas passer de Java à Scala?

Je sais que les gars du serveur l'expérimentent. Là, en fait, ce qui n'est tout simplement pas là. Mais côté serveur est plus facile à isoler, essayer et si quelque chose ne va pas - remplacer. Et dans Android, c'est plus compliqué, toutes ces nouvelles langues nécessitent des versions de réglage, et potentiellement avec toute version de mises à jour de Google, tout peut casser.

- Et qu'en est-il de l'équipe iOS?

Là, nous avons Swift, MVVM. Nous avons traversé il y a longtemps - il y a plus de deux ans. Cette année, au printemps, plus de la moitié du code a déjà été écrit dessus. Nous avons ce principe - si vous avez pris quelque chose d'existant pour le mettre en ordre. Donc, tranquillement, tout le code passe sous le vif. Il ne reste que les choses qui fonctionnent depuis longtemps et il n'est pas nécessaire de les changer.

La transition se passe également bien, tout le monde aime ça. Tout le monde comprend ce que nous faisons et pourquoi. Il n'y a pas d'holivars à ce sujet.



Embaucher Badoo




- Comment et quel genre de personnes recrutez-vous?

Ce sont d'abord des gens qui se soucient, qui sont intéressés par les résultats de leur travail. Bien sûr, une personne doit être capable d'écrire du code et de bien connaître sa plateforme.

Dans le processus d'entrevue, nous avons un petit test - il y a plusieurs questions théoriques et plusieurs tâches de complexité moyenne. Nous planifions généralement un entretien Skype après le test. Les candidats viennent généralement du monde entier: bien sûr, il est possible de venir tout de suite, mais c'est difficile - beaucoup de gens devront être transportés. Par conséquent, nous avons une ou deux interviews sur skype, où les gars vérifient le codage et les connaissances de la plate-forme principale. Si tout va bien, nous aidons une personne à venir au bureau, à mieux se connaître, à communiquer avec les gars et les managers et à mener une interview approfondie sur la connaissance de la plateforme.

- Il arrive que des gens viennent au bureau et ne passent pas un entretien?

Bien sûr que oui. Il est clair que cela est insultant, mais d'un autre côté, vous êtes allé à Londres, avez regardé autour de vous, avez parlé avec l'équipe, avez beaucoup appris sur l'entreprise, ainsi que quelque chose d'autre sur les lacunes de vos connaissances. Nous sommes très heureux si les gens resserrent leurs connaissances, reviennent et passent déjà.

- Le développeur a-t-il besoin de connaître un peu la théorie qu'il rencontrera lors de l'entretien - mais pas le fait qu'il rencontrera au travail?

De temps en temps, nous avons des débats sur ce sujet, mais nous rencontrons souvent une telle théorie dans le travail. Nous avons beaucoup d'utilisateurs, et si nous commençons soudainement à utiliser la plate-forme de manière inefficace, à nouveau à utiliser de la mémoire, à utiliser des structures de données de manière incorrecte ou à envoyer trop de requêtes au serveur - et il y a beaucoup de fonctionnalités dans l'application - cela peut réduire considérablement la vitesse de l'application et augmenter la consommation les piles.

Par conséquent, il est important pour nous de bien comprendre ce que vous faites et comment tout fonctionne sous le capot.

"Recrutez-vous les joons?"

Nous recrutons, bien que selon nos normes, juin soit probablement le milieu généralement accepté. Autrement dit, une personne a une certaine expérience, une bonne compréhension de la plate-forme et peut résoudre indépendamment un problème de taille moyenne ou petite.

- Si une personne a été interrogée au bureau, reste-t-elle ou rentre-t-elle toujours chez elle?

Tout d'abord, une personne quitte son domicile et reçoit une offre par voie électronique. Ceci est nécessaire pour réémettre un visa de travail.

Mais ce n'est pas la seule option. Par exemple, l'année dernière, nous avons organisé deux événements de haut niveau, au cours desquels nous avons mené toutes les interviews en une journée et fait une offre sur place. Soit dit en passant, les 24 et 25 novembre de cette année, nous organisons un autre événement de ce type !

Nous avons supposé que certaines personnes ne voulaient pas aller pour des entretiens, car cela prend beaucoup de temps, vous devez quitter le travail, annuler et appeler plusieurs fois, nous avons donc décidé d'essayer ce format. Nous disons - les gars viennent à nous, font un petit test, passent une journée au bureau, nous parlerons et si nous nous adaptons, nous ferons une offre le même jour. Nous achetons ou remboursons nous-mêmes les billets pour Moscou, convenons à temps.

Dans ce format, l'entretien se déroule en trois étapes (une demi-heure, une heure et une autre heure, respectivement). En prévision de la prochaine étape, au déjeuner, les candidats communiquent avec l'équipe, posent des questions sur la vie à Londres, apprennent à mieux connaître notre culture, nos processus et les gens. L'année dernière, cela s'est très bien passé. Six personnes sont venues à nous en même temps.

- Et comment aidez-vous au déménagement après l'offre?

Si la personne vient de Russie, nous lui proposons de travailler immédiatement au bureau de Moscou, pendant que tous les documents sont en train d'être établis. Dans tous les cas, vous devez attendre un visa. La préparation prend un temps différent - en moyenne, de deux à trois mois. Naturellement, nous aidons à tout - à l'inscription, au remplissage des demandes. Nous travaillons avec une entreprise spécialisée dans ce domaine, pour que tout se passe bien.

Ensuite, la personne avec la famille reçoit un visa de travail. Avec elle, il peut venir à Londres, travailler avec nous dans une entreprise et son conjoint - n'importe où, sauf en tant que dentistes. Étrange et drôle, mais c'est écrit directement sur le visa.

- Avez-vous assez d'argent pour vivre à Londres? Après tout, est-ce une ville assez chère?

Avec l'argent, tout, comme toujours, est relatif. Il est clair que tout dépend du niveau professionnel, des demandes et des besoins. Je peux dire que le salaire moyen en Angleterre est plusieurs fois inférieur à ce que nous proposons. Même à Londres, où les salaires sont assez élevés, les nôtres sont parmi les 10% les plus élevés.

Certaines choses sont vraiment plus chères ici, par exemple, le logement et les services comme un vétérinaire, les réparations. Mais en même temps, le pourcentage du coût des matériaux pour la réparation, le téléphone ou l'ordinateur portable par rapport au salaire est nettement inférieur.

Plus en détail, le sujet du déménagement est divulgué dans l' article de notre employé, qui vient de nous rejoindre lors de l'événement de l'année dernière.



Le mal du pays


- Ne manquez pas la maison?

Bien sûr, nous manquons, mais il faut 4 heures pour voler à Moscou - le week-end, il est tout à fait possible de conduire. Ce n'est pas des états où 11-15 heures de vol.

Mais je ne vole pas très souvent. Tous mes camarades de classe et mes camarades de classe sont également dispersés dans le monde. Nous nous rencontrons parfois quelque part en Allemagne, en Espagne ou aux États-Unis. , — .

, . , , , .

— , , ? .

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

, . 300 . , , - , - .

. , . , , , — « ». .


Badoo

— ?

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






,


— , — , , - . Badoo , ?

. , , . , .

. ( ) — , . - .

— , ?

. , , 10-20 - .

— , , , , , «»?

-. , .

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


All Articles