
L'application est différente pour l'application: il y a celles qui sont utilisées de temps en temps, et il y a celles que des millions de personnes passent beaucoup de temps quotidiennement, à les installer sur un nouveau smartphone.
L'application VKontakte est l'une des deuxièmes, il est donc intéressant de regarder à l'intérieur et de comprendre qui y travaille et comment. Nous avons pris une courte interview du développeur iOS Alexei Savin, posant des questions sur les caractéristiques du travail et de la vie.
- Que fais-tu exactement?- Depuis trois ans, je travaille en tant que développeur iOS sur VKontakte. Engagé dans des tâches liées au multimédia: émissions vidéo et en ligne.
"Qu'avez-vous fait avant le début de votre carrière informatique?"- Comme beaucoup, cela a commencé par le fait que lors de ma première année j'ai essayé un peu de freelance: je créais des pages pour les boutiques en ligne. Ensuite, mes amis et moi avons essayé de créer notre propre application mobile. Cela s'appelait le 9 mai. En fait, c'était une carte de la ville, sur laquelle étaient marqués des points associés à la Seconde Guerre mondiale, et vous pouviez lire sur chacun d'eux. Ce fut le premier succès - l'application a été remarquée, elle est apparue dans toutes sortes de collections thématiques.
Puis je suis progressivement passé à l'externalisation complète des applications mobiles. Et il y a trois ans, il est venu à VK.
- Et comment êtes-vous venu spécifiquement au développement iOS - avec l'achat d'un iPhone?- Ensuite, je n'avais même pas d'iPhone. J'étais dans ma deuxième année, c'était l'époque d'iOS 6, j'ai acheté un Mac et je voulais l'essayer. C'était à la mode, la rumeur courait, je me demandais comment c'était d'écrire une application mobile, et depuis l'apparition du Mac, le choix de la plateforme était évident. Cependant, j'ai également essayé Android à la même époque (dans le cadre d'un cours universitaire en Java). Mais en comparaison avec iOS, je l'aimais plus.
- Récemment, nous avons interrogé les développeurs iOS sur la présentation Apple, nous vous demanderons également: de quel téléphone s'agit-il maintenant, et vouliez-vous le changer après la présentation?- Maintenant, iPhone X, je ne prévois pas de passer à un nouveau encore, je le fais généralement tous les deux ans. L'année prochaine, je prendrai probablement la prochaine.
- Que pensez-vous d'iOS 12?- Le fait que le communiqué soit sur la stabilité est certainement agréable. Après la mise à jour, il semble qu'un grand nombre de bugs mineurs ennuyeux ont disparu. Autrement dit, ils ont décidé de prendre une pause d'un an pour améliorer la stabilité, et cela semble s'être bien passé.
- Passons au sujet de l'application VK: combien de travail avez-vous eu en relation avec la sortie d'iOS 12?- Curieusement, dans cette version, il n'y avait que quelques bugs mineurs. Pour prendre en charge iOS 12, vous n'aviez pas besoin de modifier complètement quoi que ce soit. La dernière fois, il y avait beaucoup plus de travail, nous y avons passé plus d'une semaine.
- Les applications VK sont bien connues, mais qui les fait est beaucoup moins connu. Dites-moi, quelle est votre équipe mobile, combien de personnes et comment est-elle organisée?- Il y a maintenant 18 personnes sur les développeurs iOS. Ils se composent de différentes équipes de produits: il y a une équipe qui s'occupe des médias, il y a une équipe de messagers, il y a une équipe d'infrastructure qui met en œuvre des solutions communes utilisées par d'autres équipes. Les équipes ont des développeurs mobiles pour les deux plates-formes (2-3 personnes chacune), il y a des développeurs backend - en général, il s'avère que c'est une pile complète, qui couvre complètement ses propres tâches. Nous synchronisons régulièrement dans le cadre de la plateforme entre les équipes afin d'échanger actualités et connaissances.
- Vous avez un grand nombre d'utilisateurs, comment cela affecte-t-il le développement?- Toute situation que vous considérez comme improbable et que vous ne prenez pas en compte se manifestera certainement, et immédiatement sur des milliers d'utilisateurs. S'écraser sur des dizaines de milliers de personnes est effrayant et inhabituel, mais il développe un énorme niveau de responsabilité.
- D'où viennent les idées de fonctionnalités, et que se passe-t-il avec l'idée depuis son approbation jusqu'à sa sortie sur l'App Store? Comment tout cela est-il développé?- Chaque équipe produit dispose d'indicateurs clés sur lesquels elle se concentre. Par exemple, si vous prenez des diffusions en direct, il s'agit du nombre de diffusions créées par mois et du nombre de vues. Lorsque nous discutons d'une fonctionnalité, nous déterminons comment elle affectera les mesures qui nous concernent. Ce n'est qu'après cela que nous décidons si nous le ferons. Ensuite, le processus est assez standard. Nous l'avons mis dans notre plan pour le prochain temps libre. Si c'est une idée géniale et que vous voulez la rendre plus rapide, vous pouvez déplacer quelque chose. Ensuite, nous formons la documentation: ce qui est nécessaire par conception, ce qui est nécessaire par API. Après cela, nous commençons à faire.
- Si je comprends bien, vous avez un train de sortie, pouvez-vous nous en dire plus?- L'application est publiée toutes les deux semaines. Chaque équipe devrait dire au début de la semaine ce qu'elle prévoit d'ajouter à cette version. Cinq jours avant la sortie - gel des fonctionnalités, quand il n'est plus possible d'ajouter quelque chose de nouveau, et si quelqu'un n'a pas réussi à apporter ses modifications, il ne sera pas inclus dans cette version.
- Et à quoi ressemble techniquement ce processus, qu'en est-il de la révision du code et du CI?- Nous avons un code de révision, il y a un CI. Et pour chaque engagement, nous obtenons une assemblée et postulons à l'intérieur du personnel de la Maison du Chanteur - il y en a environ 200 au total. Tous nos employés sont déjà habitués à utiliser des versions de test de l'application. L'idée est que rien de testé et non vérifié ne doit entrer dans les assemblages des employés. Si quelque chose est versé dans Dev, le développeur suppose que la fonctionnalité est complètement prête: elle a été testée et les employés peuvent l'utiliser, il s'agit d'une version stable normale.
Grâce à cela, nous recevons de vrais commentaires des utilisateurs qui utilisent cet assemblage presque 24h / 24 pendant deux semaines entre les trains de sortie. De cette façon, nous pouvons former un feedback.
- Vous avez une application atypique (tous les développeurs ne sont pas engagés dans un grand réseau social), et l'existant est loin de la première année. Pouvez-vous me dire combien de lignes de code existe et combien il est difficile de travailler avec lui?- Combien de lignes de code, je ne vous le dirai pas tout de suite. Mais le fait que le projet soit vieux de plusieurs années a son effet: beaucoup de code hérité, il y a des endroits où MRC est encore laissé. Et presque toutes les solutions sont auto-écrites: il n'y a pratiquement pas de dépendances externes. L'application a un seuil d'entrée assez élevé, y compris pour cette raison.
- Avec un tel seuil, combien de temps prend le processus d'intégration pour les nouveaux développeurs?- Tous les nouveaux développeurs font d'abord partie de l'équipe d'infrastructure avant de rejoindre l'une des autres équipes. Tu peux rester ici. Là, ils passent un an et demi à deux mois - il s'agit probablement de la «période d'adaptation», au cours de laquelle ils se familiarisent avec l'application et effectuent de petites tâches qui n'affecteront pas quelque chose.
- Vous nous parlerez sur Mobius avec un reportage sur les diffusions vidéo sur iOS. Parlez-moi du projet, grâce auquel le rapport est né: d'où est venue l'idée, comment est-ce arrivé?- Le projet est ce qui est devenu une application distincte de
VK Live . L'idée est venue quand j'étais encore à l'université. Mes amis et moi avons souvent essayé de créer des applications de démonstration, de tester des idées et de choisir périodiquement des thèmes à la mode pour cela. Un jour, le 1er janvier, après le nouvel an, nous pensions qu'il y a longtemps, nous n'avions rien fait, et nous devions choisir un sujet. Et puis VKontakte a organisé un concours de développement mobile
VK Challenge , dans le cadre de ce concours, un certain nombre de sujets ont été proposés, et il y avait des émissions en direct. Nous pensions que nous ne savions rien d'eux, il sera donc intéressant d'essayer. En conséquence, ils ont fait un prototype en quelques mois, et VK Live a commencé avec ça.
- Une histoire très intéressante: la participation des étudiants au concours a abouti au fait que vous êtes en VK depuis trois ans. S'agit-il d'un cas isolé ou des concours sont-ils systématiquement organisés? Ceux qui ne font que devenir développeur ont-ils la possibilité de répéter une histoire de réussite similaire? Avez-vous, par exemple, votre propre école de développement?- Divers événements sont organisés régulièrement avec nous, y compris les hackathons et les championnats de programmation de la Coupe VK. Historiquement, il y a eu de nombreux concours de conception et de développement, et je ne suis pas la seule personne à être entrée dans le VK de cette façon. Il n'y a pas d'école de développement, mais, par exemple, nous avons récemment organisé des stages en machine learning. À l'avenir, nous prévoyons d'organiser de tels événements plus souvent.
- Revenir à VK Live: quelle différence avec des concurrents comme Periscope? Pourquoi l'utilisateur devrait-il utiliser votre application?- La principale différence dans le graphique social. Les personnes qui créent des émissions avec nous auront certains téléspectateurs: leurs amis VK, avec lesquels ils communiquent constamment. Ils n'ont pas ce graphique sur d'autres sites.
- Et dans quelle direction le projet va-t-il maintenant?- Dans le sens d'une interactivité croissante. Par exemple, c'est l'occasion d'ajouter une enquête lors de la diffusion. Autrement dit, des moyens supplémentaires d'interagir avec le public.
- Lorsque vous travaillez dans un projet de grande envergure comme VK, le volume de travail ne vous pousse-t-il pas?- Il n'y a pas de problème. Les gens qui travaillent pour nous sont follement amoureux de ce qu'ils font, se sentent responsables et en ressentent un certain frisson. Y compris moi. Je peux facilement m'asseoir au bureau toute la nuit et ne le remarque tout simplement pas. Dans le même temps, il nous est tout à fait possible de maintenir un équilibre entre vie professionnelle et vie privée.
"Qu'aimez-vous faire à part écrire du code?"- Voyage.
- Quels sont les endroits les plus mémorables visités?- De ce dernier - le Pérou. Machu Picchu est un endroit magique et très beau. Exceptionnellement. J'ai aussi aimé le Grand Canyon.
- Que feriez-vous si vous n'étiez pas développeur iOS?R: Je m'essaierais probablement en machine learning - c'est quelque chose qui semble intéressant, prometteur et qui sera pertinent pour la nième année.
- La dernière question. Par le fait que vous voyez comment le développeur iOS devrait évoluer dans les réalités actuelles?- Maintenant, beaucoup de développeurs sont «emprisonnés» pour des frameworks spécifiques. Autrement dit, dans leur travail, ils n'utilisaient que de grandes bibliothèques de Facebook / Google, souvent ne touchaient presque pas aux cadres natifs et ne comprenaient pas toujours comment ils fonctionnaient. Et il me semble, entre autres, qu’il est important d’essayer de mieux comprendre le fonctionnement des principaux composants du système - par exemple, le même UIKit.
Si vous êtes intéressé par les problèmes techniques des émissions en direct sur iOS, Alexey en parlera en détail à Moscou le 8 décembre lors de la conférence Mobius .