
Die Anwendung ist für die Anwendung anders: Es gibt solche, die von Zeit zu Zeit verwendet werden, und es gibt solche, die Millionen von Menschen täglich viel Zeit damit verbringen, sie als erstes auf einem neuen Smartphone zu installieren.
Die VKontakte-Anwendung ist eine der zweiten. Daher ist es interessant, nach innen zu schauen und zu verstehen, wer wie daran arbeitet. Wir haben ein kurzes Interview mit dem iOS-Entwickler Alexei Savin geführt und nach den Merkmalen von Arbeit und Leben gefragt.
- Was genau machst du?- In den letzten drei Jahren habe ich als iOS-Entwickler an VKontakte gearbeitet. Erledigt Aufgaben im Zusammenhang mit Multimedia: Video- und Online-Sendungen.
"Was haben Sie vor Beginn Ihrer IT-Karriere getan?"- Wie viele andere begann es damit, dass ich in meinem ersten Jahr versucht habe, ein bisschen freiberuflich zu arbeiten: Ich habe Seiten für Online-Shops erstellt. Dann haben meine Freunde und ich versucht, unsere eigene mobile Anwendung zu erstellen. Es wurde der 9. Mai genannt. Tatsächlich war es eine Karte der Stadt, auf der die mit dem Zweiten Weltkrieg verbundenen Punkte markiert waren, und man konnte über jeden von ihnen lesen. Dies war der erste Erfolg - die Anwendung wurde bemerkt, sie erschien in allen Arten von Fachsammlungen.
Dann wechselte ich allmählich zum kompletten Outsourcing für mobile Anwendungen. Und vor drei Jahren kam er zu VK.
- Und wie sind Sie speziell zur iOS-Entwicklung gekommen - mit dem Kauf eines iPhone?- Dann hatte ich noch nicht einmal ein iPhone. Ich war in meinem zweiten Jahr, es war die Zeit von iOS 6, ich kaufte einen Mac und ich wollte es versuchen. Es war in Mode, es wurde gemunkelt, ich fragte mich, wie es war, eine mobile Anwendung zu schreiben, und seit der Mac erschien, war die Wahl der Plattform offensichtlich. Etwa zur gleichen Zeit habe ich aber auch Android ausprobiert (im Rahmen eines Universitätskurses in Java). Aber im iOS-Vergleich hat es mir besser gefallen.
- Kürzlich haben wir iOS-Entwickler nach der Apple-Präsentation gefragt. Wir werden Sie auch fragen: Welches Telefon ist das jetzt und wollten Sie es nach der Präsentation ändern?- Jetzt iPhone X, ich habe noch nicht vor, auf ein neues zu wechseln, ich mache es normalerweise alle zwei Jahre. Nächstes Jahr werde ich wahrscheinlich das nächste nehmen.
- Was denkst du über iOS 12?- Die Tatsache, dass es bei der Veröffentlichung um Stabilität ging, ist sicherlich erfreulich. Nach dem Update scheint eine große Anzahl von nervigen kleinen Fehlern verschwunden zu sein. Das heißt, sie haben beschlossen, ein Jahr Pause zu machen, um die Stabilität zu verbessern, und es scheint großartig geworden zu sein.
- Wenden wir uns dem Thema der VK-Anwendung zu: Wie viel Arbeit hatten Sie im Zusammenhang mit der Veröffentlichung von iOS 12?- Seltsamerweise gab es in dieser Version nur wenige kleinere Fehler. Um iOS 12 zu unterstützen, mussten Sie nichts gründlich ändern. Das letzte Mal gab es viel mehr Arbeit, dort haben wir mehr als eine Woche verbracht.
- VK-Anwendungen sind bekannt, aber wer sie herstellt, ist viel weniger bekannt. Sag mir, was ist dein mobiles Team, wie viele Leute und wie ist es angeordnet?- Jetzt sind 18 Leute bei iOS-Entwicklern. Sie bestehen aus verschiedenen Produktteams: Es gibt ein Team, das sich mit Medien befasst, es gibt ein Messenger-Team, es gibt ein Infrastruktur-Team, das einige gemeinsame Lösungen implementiert, die von anderen Teams verwendet werden. Die Teams haben mobile Entwickler für beide Plattformen (jeweils 2-3 Personen), es gibt Backend-Entwickler - im Allgemeinen erhalten wir einen vollständigen Stack, der ihre eigenen Aufgaben vollständig abdeckt. Wir synchronisieren uns regelmäßig im Rahmen der Plattform zwischen Teams, um Nachrichten und Wissen auszutauschen.
- Sie haben eine große Anzahl von Benutzern. Wie wirkt sich dies auf die Entwicklung aus?- Jede Situation, die Sie für unwahrscheinlich halten und die Sie nicht berücksichtigen, wird sich mit Sicherheit sofort bei Tausenden von Benutzern manifestieren. Das Abstürzen von Zehntausenden von Menschen ist beängstigend und ungewöhnlich, entwickelt jedoch ein enormes Maß an Verantwortung.
- Woher kommen die Ideen für Funktionen und was passiert mit der Idee vom Zeitpunkt ihrer Genehmigung bis zur Veröffentlichung im App Store? Wie ist das alles entwickelt?- Jedes Produktteam hat Schlüsselindikatoren, auf die es sich konzentriert. Wenn Sie beispielsweise Live-Sendungen aufnehmen, ist dies die Anzahl der pro Monat erstellten Sendungen und die Anzahl der Aufrufe. Bei der Erörterung eines Features bestimmen wir, wie sich dies auf die für uns relevanten Metriken auswirkt. Erst danach entscheiden wir, ob wir es tun werden. Dann ist der Prozess ziemlich normal. Wir haben es in unseren Plan für die nächste Freizeit aufgenommen. Wenn dies eine coole Idee ist und Sie sie schneller machen möchten, können Sie etwas bewegen. Als nächstes bilden wir die Dokumentation: Was wird vom Design benötigt, was wird von der API benötigt. Danach fangen wir an zu tun.
- Soweit ich weiß, haben Sie einen Release-Zug. Können Sie uns mehr erzählen?- Die Anwendung wird alle zwei Wochen veröffentlicht. Jedes Team sollte zu Beginn der Woche sagen, was es zu dieser Version hinzufügen möchte. Fünf Tage vor der Veröffentlichung - Feature Freeze, wenn es nicht mehr möglich ist, etwas Neues hinzuzufügen, und wenn es jemandem nicht gelungen ist, seine Änderungen einzugeben, wird er nicht in diese Version aufgenommen.
- Und wie sieht dieser Prozess technisch aus, was ist mit Codeüberprüfung und CI?- Wir haben einen Überprüfungscode, es gibt ein CI. Und für jedes Commit bekommen wir eine Versammlung und bewerben uns bei den Mitarbeitern des Singer House - es gibt insgesamt etwa 200 von ihnen. Alle unsere Mitarbeiter sind bereits daran gewöhnt, Testbuilds der Anwendung zu verwenden. Die Idee ist, dass nichts, was getestet und nicht überprüft wurde, nicht in Baugruppen für Mitarbeiter gelangen sollte. Wenn etwas in Dev eingegossen wird, geht der Entwickler davon aus, dass die Funktion vollständig bereit ist: Sie wurde getestet und die Mitarbeiter können sie verwenden. Dies ist eine normale stabile Version.
Dank dessen erhalten wir echtes Feedback von Benutzern, die diese Baugruppe zwischen den Freigabezügen zwei Wochen lang fast rund um die Uhr verwenden. Auf diese Weise können wir ein Feedback bilden.
- Sie haben eine atypische Anwendung (nicht jeder Entwickler ist in einem großen sozialen Netzwerk tätig), und die vorhandene ist weit vom ersten Jahr entfernt. Können Sie mir sagen, wie viele Codezeilen es gibt und wie schwierig es ist, damit zu arbeiten?- Wie viele Codezeilen ich Ihnen nicht sofort sagen werde. Die Tatsache, dass das Projekt viele Jahre alt ist, hat jedoch Auswirkungen: Viele Legacy-Codes, es gibt Orte, an denen MRC noch übrig ist. Und fast alle Lösungen sind selbst geschrieben: Es gibt praktisch keine externen Abhängigkeiten. Die Anwendung hat eine ziemlich hohe Einstiegsschwelle, auch aus diesem Grund.
- Wie lange dauert der Onboarding-Prozess für neue Entwickler bei einem solchen Schwellenwert?- Alle neuen Entwickler fallen zunächst in das Infrastruktur-Team, bevor sie einem der anderen Teams beitreten. Du kannst hier bleiben. Dort verbringen sie eineinhalb bis zwei Monate - wahrscheinlich ist dies die „Anpassungsphase“, in der sie sich mit der Anwendung vertraut machen und einige kleine Aufgaben erledigen, die nichts beeinflussen.
- Sie werden mit uns über Mobius mit einem Bericht über Videosendungen auf iOS sprechen. Erzählen Sie mir von dem Projekt, dank dessen der Bericht entstand: Woher kam die Idee, wie ist das passiert?- Das Projekt wurde zu einer separaten Anwendung von
VK Live . Die Idee kam, als ich noch an der Universität war. Meine Freunde und ich haben dann oft versucht, Demo-Anwendungen zu erstellen, einige Ideen zu testen und regelmäßig modische Themen dafür auszuwählen. Eines Tages, am 1. Januar nach dem neuen Jahr, dachten wir, wir hätten vor langer Zeit nichts getan, und wir sollten ein Thema auswählen. Und dann veranstaltete VKontakte einen
VK Challenge -Wettbewerb für mobile Entwicklung. Im Rahmen dieses Wettbewerbs wurden eine Reihe von Themen vorgeschlagen und es gab Live-Übertragungen. Wir dachten, wir wüssten nichts über sie, daher wird es interessant sein, es zu versuchen. Infolgedessen haben sie in ein paar Monaten einen Prototyp hergestellt, und damit begann VK Live.
- Eine sehr interessante Geschichte: Die Teilnahme von Studenten am Wettbewerb führte dazu, dass Sie seit drei Jahren in VK sind. Ist dies ein Einzelfall oder werden Wettbewerbe systematisch durchgeführt? Haben diejenigen, die gerade Entwickler werden, die Möglichkeit, eine ähnliche Erfolgsgeschichte zu wiederholen? Haben Sie zum Beispiel eine eigene Entwicklungsschule?- Bei uns finden regelmäßig verschiedene Veranstaltungen statt, darunter Hackathons und VK Cup-Programmiermeisterschaften. Historisch gesehen gab es viele Wettbewerbe in Design und Entwicklung, und ich bin nicht die einzige Person, die auf diese Weise in die VK gekommen ist. Es gibt keine Entwicklungsschule, aber zum Beispiel hatten wir kürzlich Praktika im maschinellen Lernen. In Zukunft planen wir, solche Veranstaltungen häufiger durchzuführen.
- Rückkehr zu VK Live: Was ist der Unterschied zu Konkurrenten wie Periscope? Warum sollte der Benutzer Ihre Anwendung verwenden?- Der Hauptunterschied im sozialen Diagramm. Menschen, die mit uns Sendungen erstellen, haben bestimmte Zuschauer: ihre VK-Freunde, mit denen sie ständig kommunizieren. Sie haben dieses Diagramm an anderen Standorten nicht.
- Und in welche Richtung bewegt sich das Projekt jetzt?- In Richtung zunehmender Interaktivität. Dies ist beispielsweise eine Gelegenheit, während der Übertragung eine Umfrage hinzuzufügen. Das heißt, zusätzliche Möglichkeiten zur Interaktion mit dem Publikum.
- Wenn Sie in einem so großen Projekt wie VK arbeiten, treibt Sie dann nicht der große Arbeitsaufwand an?- Es gibt kein Problem. Die Leute, die für uns arbeiten, sind total verliebt in das, was sie tun, fühlen sich dafür verantwortlich und bekommen einen gewissen Nervenkitzel. Einschließlich mich. Ich kann leicht die ganze Nacht im Büro sitzen und es einfach nicht bemerken. Gleichzeitig ist es uns durchaus möglich, eine Work-Life-Balance aufrechtzuerhalten.
"Was machst du gerne außer Code schreiben?"- Reisen.
- Was sind die denkwürdigsten besuchten Orte?- Von letzterem - Peru. Machu Picchu ist ein magischer, sehr schöner Ort. Ungewöhnlich. Ich mochte auch den Grand Canyon.
- Was würden Sie tun, wenn Sie kein iOS-Entwickler wären?A: Ich würde mich wahrscheinlich im maschinellen Lernen versuchen - dies scheint interessant und vielversprechend zu sein und wird für die n-te Anzahl von Jahren relevant sein.
- Die letzte Frage. Durch die Tatsache, dass Sie sehen, wie sich der iOS-Entwickler in der aktuellen Realität entwickeln sollte?- Nun sind ziemlich viele Entwickler für bestimmte Frameworks „eingesperrt“. Das heißt, sie verwendeten in ihrer Arbeit nur große Bibliotheken von Facebook / Google, berührten oft keine nativen Frameworks und verstanden nicht immer, wie sie funktionieren. Und es scheint mir unter anderem wichtig zu sein, besser zu verstehen, wie die Hauptkomponenten des Systems funktionieren - zum Beispiel das gleiche UIKit.
Wenn Sie sich für die technischen Probleme von Live-Übertragungen auf iOS interessieren, wird Alexey am 8. Dezember auf der Mobius- Konferenz in Moskau ausführlich darüber sprechen .