En 2000, lorsque hh.ru était très petit et surnommait affectueusement le «National Job Club», et que seulement 3% des Russes avaient accès à Internet, nous n'avions bien sûr aucun développement mobile. Les smartphones, dans leur forme actuelle, n'étaient alors qu'un rêve lointain. Les années ont passé, la technologie ne s'est pas arrêtée, HeadHunter a grandi et s'est développé. Nous avons toujours cherché à prendre les devants et à utiliser les dernières méthodes et solutions dans les processus de développement.

Aujourd'hui, hh.ru n'est pas seulement un site avec des offres d'emploi et des CV. Nous créons et utilisons des technologies de pointe, développons des projets intéressants dans le domaine de la technologie RH et faisons de notre mieux pour simplifier la vie de millions de personnes. Pour ce faire, nous avons juste besoin d'applications mobiles de haute technologie, et il y en a quatre en hh. Deux sur Android et deux sur iOS, séparément pour les employeurs et les demandeurs d'emploi. Les développeurs mobiles sont les super-héros de notre temps et la cavalerie de la technologie. Cet article explique (et montre) comment les membres de l'équipe hh Mobile vivent et travaillent.

#workday
Il est important pour nous de travailler haut. Par conséquent, nous utilisons des méthodes de gestion du développement efficaces, fournissons à chaque employé l'équipement le plus récent et créons l'espace de travail le plus pratique.
Comment travaillons-nous?
Nous sommes guidés par les principes d'Agile et de Kanban: nous n'avons pas d'échéances strictes, et le développement lui-même est présenté comme un flux continu. Cela nous a permis d'augmenter considérablement la productivité: par exemple, lorsque nous avons utilisé Scrum, les versions ont eu lieu une fois par mois et avec la transition vers un nouveau modèle - chaque semaine. Nous prêtons beaucoup d'attention à l'automatisation des processus de routine, nous n'aimons pas les mouvements corporels excessifs.
Chaque équipe consacre 30% du temps à la «taxe technique» - accélérant les processus de développement, supprimant l'ancien code et introduisant de nouvelles technologies. Chaque employé a son propre plan de développement, sa table de compétences et un soutien d'équipe continu. Chacun de nous peut partager ses impressions, ses idées et faire des commentaires. Le développement de nouvelles fonctionnalités est déjà discuté au début, et les développeurs eux-mêmes décident de ce qu'ils seront. Le cycle de vie de la fonctionnalité comprend cinq étapes: idée, planification, développement, démonstration et rétroaction. Dans le processus de développement, nous utilisons Slack comme principal moyen de communication, Jira aide à contrôler les tâches, et pour leur affichage clair, nous avons des tableaux de kanban.

Chaque matin, nous organisons des stand-up (lire: planifier des réunions), où nous analysons et discutons des sujets importants. Si nécessaire, vous pouvez prendre rendez-vous à tout moment pour partager des idées avec l'équipe, demander de l'aide pour résoudre les problèmes et obtenir de l'aide. Pendant les deux premiers mois, les nouveaux arrivants se voient attribuer un sensei, qui permet de s'habituer et de comprendre les détails des processus de travail.
Sur quoi travaillons-nous?
iOS: Pour la plateforme iOS, nous avons développé et améliorons constamment deux applications: pour les candidats et pour les employeurs, les composants communs sont alloués aux frameworks. 75% du code est écrit en Swift, 25% en Objective-C. Depuis 2016, de nouvelles fonctionnalités ont été écrites uniquement en langage Swift et en architecture VIPER. Dans la couche service, nous adhérons à l'approche SOA. Nous suivons les principes de SOLID, nous écrivons des tests unitaires. Il existe un style de code pour les deux langues, nous utilisons des analyseurs statiques et du linter dans notre travail. Des tests et vérifications sont exécutés pour chaque pool de requêtes, l'assemblage et la mise en page des applications sont automatisés via le serveur CI + fastlane. En coopération avec QA, nous écrivons des tests d'interface utilisateur à l'aide de XCUITest. Nous utilisons la génération de code, des modèles pour Xcode.
Android: Deux applications ont également été développées pour cette plateforme. Au cours des deux dernières années, le développement a été effectué dans le langage Kotlin, dans lequel plus de 70% du code est écrit. L'équipe de développement Android travaille avec une pile technologique de pointe, qui est régulièrement soumise à des améliorations forcées. Maintenant sous le capot RxJava 2, cure-dent, Moxy, Cicerone. Dans le développement d'applications, nous utilisons toujours une architecture multi-modules. Les modules sont implémentés selon les principes de l'architecture propre et SOLIDE. Par souci de commodité, nous essayons d'automatiser autant que possible les processus, d'écrire et d'utiliser des modèles, des plug-ins pour la génération de code et de les appliquer dans notre travail. Presque tous les scripts principaux sont couverts par des tests d'interface utilisateur. Pour les écrire, nous utilisons les frameworks de haut niveau Kakao, Kaspresso et DSL pour les appareils (plus de détails
ici ). Les tests sont exécutés à l'aide de Marathon sur des émulateurs dans un cluster Kubernetes. Un guide de style unique a été développé pour les applications.
Tests: Chaque équipe est interfonctionnelle et travaille sur le projet de l'idée au lancement. Nos testeurs travaillent en équipe et participent aux travaux sur les fonctionnalités depuis le tout début de leur développement jusqu'à la sortie de production. Jusqu'à présent, hélas, le processus de test n'a pas été entièrement automatisé, mais nous nous efforçons de le faire: les plans pour un avenir proche incluent une couverture complète avec des autotests.
Tout en travaillant sur des fonctionnalités ou des corrections de bugs, nous utilisons des tests exploratoires, ainsi que la quantité de régression que le testeur détermine. Selon la tâche, les spécialistes choisissent les méthodes et les outils nécessaires pour les tests. Il est également pratique de prendre des statistiques et d'analyser les incidents - les testeurs ont un accès complet aux applications et aux bases de code sur le banc de test.
Où travaillons-nous?
Le bureau hh.ru est situé à Moscou, entre les stations de métro Alekseevskaya et VDNH. Beaucoup dans l'enfance rêvaient d'entrer dans l'espace, et les rêves se sont partiellement réalisés - dans notre bureau, il y a 5 étages d'espaces ouverts zonés. L'équipe de développement mobile fait partie du département technique, qui occupe un étage entier.
Le développement est divisé en 23 équipes, dont 4 ne traitent que des applications mobiles. Il y a 25 combattants à hh Mobile aujourd'hui, et d'ici la fin de l'année, nous prévoyons d'augmenter le personnel à environ 35. Chaque équipe a un client interne - Product Owner, dont la tâche est de s'assurer que personne ne s'ennuie sans un projet. Dans le même temps, nous sommes prêts à mettre en œuvre toute idée de nos employés si cela s'avère intéressant.
Nous ne reconnaissons aucun obstacle: les équipes s'assoient ensemble - il est plus pratique de travailler et de discuter des problèmes émergents.

Le grand espace ouvert est divisé en zones de commande par des étagères et des étagères avec des livres et des plantes. Si vous le souhaitez, vous pouvez vous cacher derrière un palmier.

Nous essayons de toujours être sur la même longueur d'onde. Dans notre bungalow il y a une planche pour tout le monde.

À chaque étage, il y a un port calme avec des fruits frais, des légumes, des biscuits, du thé et du café - une cuisine. Là, vous pouvez pécher avec une machine à café, obtenir de la nourriture comme vous le souhaitez et vous faire du jus fraîchement pressé. Pendant que vous mâchez un cookie ou détruisez une banane, vous pouvez discuter avec des collègues - nous aimons parler.

Lampovo!

L'écologie est importante. Nous sommes pour l'environnement, donc nous soutenons et promouvons des initiatives utiles: nous collectons les «bons bouchons» (des bouteilles), les «bonnes choses», les vieux papiers, les appareils électriques, les piles et le plastique pour le recyclage, et nous utilisons également des gobelets en papier recyclé.

Il y a une salle de gym au rez-de-chaussée, parce que le sport, comme vous le savez, c'est la paix, et nous sommes des gars extrêmement pacifiques. Sur l'écran de chargement de DOOM, il est écrit: «Bouge continuellement, l'enfer dévore les oisifs». Nous nous déplaçons ici:

Espace de travail
La croissance est inévitable, plus de personnes = plus d'opportunités, nous essayons donc d'ajuster l'espace de travail pour tout le monde, afin que tout le monde aime travailler. Nous avons mené une enquête et les résultats ont identifié 2 groupes - les amateurs d'espace ouvert et les adeptes de la solitude. Sur la base des résultats, nous réparons tous les étages: d'une part, nous combinons les espaces, d'autre part, nous mettons des cabines pour les conversations téléphoniques, des salles de réunion avec des fauteuils pour les réunions d'équipe et pour travailler sur des tâches complexes qui nécessitent une concentration maximale dans un silence complet.
Les lieux de travail de l'équipe mobile sont minimalistes, donc tout le monde peut l'organiser à leur goût - mettez des photos ou des autocollants et faites glisser une guitare et des jouets préférés de la maison. La zone de l'espace de travail vous permet de fantasmer et d'expérimenter avec le design. Si le désordre sur la table n'est pas du tout un gâchis, c'est une expérience. Chaque membre de l'équipe a:
- MacBook Pro, moniteurs supplémentaires, charge supplémentaire pour ordinateur portable

- de superbes chaises Herman Miller Aeron, obéissantes et sensibles aux virages des assis (tout comme le Dr House!)

- Tables transformables Kinnarps et Soft effect à hauteur réglable. Avec un mouvement facile, la table de bureau se transforme en un élégant comptoir de bar.

Afin de contrôler l'efficacité des applications sur tous les appareils mobiles possibles, nous avons créé un coffre à la mode: les appareils iOS et Android les plus populaires y sont stockés, ainsi que quelques modèles obsolètes. Il s'agit d'une armoire très intelligente: chaque matin, il charge tous les smartphones et tablettes, et une fois quelques jours, il organise un exterminatus avec une lumière ultraviolette, détruisant les microbes.
Si vous avez besoin de tester une application ou une fonctionnalité individuelle, vous pouvez prendre le prodige nécessaire sur l'étagère, puis le remettre à sa place.

Combien travaillons-nous?
Dans hh.ru, il y a une journée de travail de 8 heures et une heure gratuite que tout le monde peut passer à sa guise. Nous sommes flexibles, l'essentiel pour nous est le résultat. Afin de suivre les tendances et de ne pas perdre en communication, vous devez suivre le stand-up du matin et être au bureau de 12h00 à 18h00. Dans différentes équipes, le stand-up commence à des moments différents, en moyenne de 10h30 à 12h30. Dans les cas extrêmes, vous pouvez toujours travailler à distance via un VPN.

Comment se détend-on?
Qui sait bien se détendre, ça marche parfaitement. Et nous nous reposons professionnellement: nous organisons des tournois d'entreprise de tennis de table, d'aviron, de football, nous allons regarder des films après le travail. Nous avons notre propre club de conférenciers où chacun peut pratiquer son oratoire (et ce n'est pas du tout nécessaire pour obtenir une bouchée de pierres), une salle de massage incroyable et des cours de yoga ont lieu deux fois par semaine. Nous organisons également des événements sympas. Et bien là, certains collègues volent même en vacances ensemble!
C'est ainsi que nous avons conquis Kazbek:



Comment apprend-on?
Nous sommes constamment à la recherche de nouvelles connaissances, les partageons et organisons des réunions internes où chacun peut couvrir n'importe quel sujet lié au travail.
Dans toute situation incompréhensible, nous envoyons nos développeurs à des conférences - écouter, discuter, partager des expériences. Si vous souhaitez prendre la parole, nous vous aidons à préparer, exécuter et présenter.
Et bien plus! Chaque année, nous organisons une école de programmeurs - il s'agit d'une formation de six mois sur la programmation et les sujets connexes. Nos meilleurs spécialistes y donnent des conférences, ainsi que des ateliers et des formations sur les discours pour les enseignants et les conférenciers des écoles lors de conférences.
Une partie de l'équipe, une partie du navire
Nous nous développons activement, de nouvelles équipes mobiles émergent dans notre pays, et en lien avec cela nous recherchons constamment de nouveaux combattants!
Voir les postes vacants actuels
sur le lien .
Nous sommes vraiment ravis de refroidir les spécialistes. Partagez des informations, recommandez-nous et venez vous-même.