Uber Mobile Developer Day

Run Loop ist ein Podcast über diejenigen, die Produkte mit ihren eigenen Händen herstellen. In den nächsten Monaten werden Entwickler Gäste sein, die auf der AppsConf-Konferenz am 8. und 9. Oktober sprechen werden.

In der ersten Ausgabe wurde Maxim Efimov zu Gast. Unter dem Strich handelt seine Geschichte von einem Interview und einer Arbeit bei Uber, von einem Umzug nach Amsterdam (Sie möchten auch dorthin gehen) und natürlich von AppsConf.



Moderatoren: Ilya Tsarev, Alexey Mileev, Roman Busygin.

Ilya Tsarev beschäftigt sich mit der iOS-Entwicklung bei der Alfa Bank und spricht auf verschiedenen Meetings und Konferenzen.

Alexey Mileev entwickelt eine Android-Version von App in the Air, leitet einen Telegrammkanal für die Android-Entwicklung und überwacht Anwendungen für Berichte auf AppsConf.

Roman Busygin - iOS-Entwickler bei Yandex, der an vielen Reden und Podcasts teilgenommen hat, ist auch Mitglied des AppsConf-Programmkomitees.

Weg Maxim Efimov . Maxim arbeitet bei Uber und beginnt mit der Bekanntschaft.

Maxim Efimov über sich


Maxim : Ich bin seit 2011 in der kommerziellen Entwicklung tätig. Ich habe Android 2013 verlassen, also vor 5 Jahren. Vor Uber war ich hauptsächlich in der Designentwicklung tätig. Ich komme aus der Stadt Nowosibirsk, wo ich bei einem Outsourcing-Unternehmen angefangen habe, dann nach Moskau gezogen bin und an ähnlichen Projekten hauptsächlich auf dem russischen Markt gearbeitet habe. Jetzt lebe ich seit fast 2 Jahren in Amsterdam und arbeite für Uber. Hier haben wir ein Entwicklungsbüro, in dem wir uns hauptsächlich um alles rund um Zahlungen kümmern. Meine Hauptaufgabe ist ein Android-Entwickler in einem Team, das sich der Unterstützung von Zahlungen in der Passagier-App widmet. Obwohl wir unser Zahlungsrahmenwerk erstellen, das im Prinzip von fast allen Anwendungen in der Uber-Infrastruktur verwendet wird. Ich spiele eine gewisse Rolle bei der Entwicklung dieses Frameworks: in dem, was wir tun, wie wir es tun, wie einige Prozesse aufgebaut sind. Dies ist mein Lieblingsprojekt in der Firma, an der ich gerade arbeite.

Warum über


Ilya : Maxim, bitte sag uns warum Uber? Wie haben Sie beschlossen, dort zu arbeiten? Wie bist du dorthin gekommen und jetzt hat sich alles gedreht?

Maxim : Ich dachte, du würdest mir die gleichen Fragen stellen, die sie mir beim Interview gestellt haben. Lange Zeit stellten wir unseren Kandidaten die Frage: „Warum Uber?“.

Ehrlich gesagt wollte ich mich in einem großen Unternehmen entwickeln, in dem ich nicht nur in der Breite wachsen konnte. Outsourcing besteht hauptsächlich darin, Dinge des gleichen Typs so schnell wie möglich zu erledigen. In Uber, ja, im Prinzip kann dies über fast jedes große Lebensmittelunternehmen gesagt werden, dies ist eine Entwicklung im Landesinneren. Das heißt, diese Dinge, die in einem Monat in kleinen Projekten erledigt werden und dann irgendwie funktionieren und sie unterstützen, können sie in solchen Unternehmen mehrere Jahre mit mehreren großen Teams erledigen.

Dies ist eine Phasenverschiebung, wenn Quantität in Qualität geht. Der Aufwand, den das Unternehmen für die Entwicklung von etwas aufbringt, führt letztendlich zu einem qualitativ anderen Produkt. Wir sprechen nicht unbedingt über das Produkt, sondern über die Anwendung. Es kann eine Art Bibliothek sein, eine Art Stack-Level in der Entwicklung oder so etwas. Es hat mich immer sehr involviert. Das heißt: wie man große Dinge macht; wie es technisch organisiert ist; wie es in Bezug auf die Verwaltung von Menschen organisiert ist; Wie viele Leute brauchen Sie, um diese Dinge zu tun?

Uber ist immer noch das teuerste und am schnellsten wachsende Startup . Dies ist ein Unternehmen, das sich einerseits bereits auf dem Markt etabliert hat, es ist eine bekannte und erkennbare Marke. Dies ist kein neues Startup, das gerade organisiert wurde. Auf der anderen Seite ist dies nach den Bewertungen, die ich gefunden habe, bevor ich dort überhaupt einen Job bekam, ein Unternehmen, in dem es immer noch einiges an Bürokratie und Unternehmenskultur gibt. In Bezug auf den Geist ist es immer noch ein Startup. Aus Sicht des Marktes ist es bereits ein großes etabliertes Unternehmen.

Außerdem mag ich Amsterdam sehr, es ist großartig, hier zu leben . Zufälligerweise entschied ich, dass dies ein sehr guter Vorschlag war und akzeptiert werden sollte.

Alexei : Sie haben erwähnt, dass sie während der Interviews einige Zeit gefragt haben: "Warum Uber?" Was war die beliebteste Antwort?

Maxim : Das ist eine schwierige Frage. Als ich mit dem Interview anfing, haben wir diese Frage fast nicht gestellt. Daher habe ich aus meiner Erfahrung keine wirklichen Fakten. Ich erinnere mich, was die anderen Jungs gesagt haben. Alle fingen an zu sagen, dass es großartig ist, in einem Technologieunternehmen zu arbeiten. Es ist alles cool und interessant. Dann wurden sie gefragt: „Gut. Warum nicht Facebook? " Und dann begann der Spaß. Die Leute sagten, dass dies in Uber ist, das nicht auf Facebook ist. Dies ist eine Frage, die meines Erachtens im Interview nicht ganz richtig ist. Es ist: "Komm schon, lobe mich, warum du zu mir gekommen bist." Ich kann mich an keine guten Antworten auf diese Frage erinnern, so dass sie einerseits ehrlich und interessant sind, darüber zu sprechen.

Interview bei Uber


Roman : Maxim, wie hat alles angefangen? Wie immer mit einem Brief auf LinkedIn oder war es irgendwie anders?

Maxim : Ja, es gab einen Brief auf LinkedIn. Das einzige, was ungewöhnlich war, war, dass ich direkt von meinem zukünftigen Führer gefunden wurde. Das heißt, dies sind keine Personalvermittler auf der Suche nach Menschen, sondern eine bestimmte Person, die später, wenn auch nur für kurze Zeit, mein direkter Chef war. Er schrieb, wir kontaktierten. Eine Runde von Interviews hat begonnen. Ich kann sagen, ob ich mich frage, wie das funktioniert.

Roman : Ja, es ist sehr interessant zu erfahren, wie der Interviewprozess organisiert wurde.

Maxim : Er ist damals und heute fast gleich arrangiert. Deshalb werde ich Ihnen das Letzte erzählen, an das ich mich erinnere. Zuerst findet jemand eine Person. Ein sehr großer Prozentsatz der Personen, die derzeit im Unternehmen arbeiten, kam auf Empfehlung. Das heißt, bereits arbeitende Firmenmitarbeiter empfehlen jemanden und er steigt in das Einstellungssystem ein. Einige Leute werden jedoch nur über LinkedIn-Profile rekrutiert.

Nachdem die Person gefunden worden war und klar wurde, dass sie zumindest irgendwie für offene Positionen relevant war, schrieben sie ihm. Als nächstes ist das anfängliche Telefonieren nur für ein gemeinsames Interesse. Der erste Anruf besteht nur darin, sich kennenzulernen, zu fragen, ob Interesse an dem Unternehmen besteht oder ob es Fragen gibt, die sofort geklärt werden müssen.

Danach haben wir ein technisches Telefon-Screening. Dies ist eine Stunde Zeit mit zwei Ingenieuren, die mit dem Kandidaten über verschiedene technische Themen im Zusammenhang mit seiner Spezialisierung kommunizieren. Dieser Teil des Interviews ist sehr unterschiedlich aufgebaut, je nachdem, auf welche Stelle sich der Kandidat bewirbt. Dies ist Backend, mobile Entwickler, Datenwissenschaftler - jeder interviewt ein bisschen anders.

Speziell für mobile Entwickler stellen wir normalerweise einige allgemeine Fragen zu Software Engineer, ein wenig Informatik. Wir bitten eine Person online, eine Lösung für ein nicht so triviales, aber nicht olympisches Problem zu schreiben, um zu sehen, wie eine Person Code live schreiben kann. Natürlich versteht jeder, dass niemand mit einer Geschwindigkeit im Editor jemals einen Code in seinem Leben geschrieben hat, außer einem Interview. Wir möchten nicht sofort ein Beispiel eines industriellen, vorgefertigten Softwareprodukts sehen, sondern sehen, wie eine Person denkt, welche Aufgaben sie sich stellt, wie sie Probleme löst und wie ihr Denkprozess funktioniert .

Alexey : Hier ist eine weitere Frage zur Rekrutierung nach der Frage. Wie oft interessieren sich Kandidaten für das, womit sie arbeiten müssen? Wie groß ist die Codebasis? Auf welchem ​​technologischen Stack basiert es? Gibt es viel Vermächtnis? Waren Sie interessiert, als Sie zu Uber gingen?

Maxim : Natürlich. Dies ist größtenteils eine Frage: "Und was muss eigentlich von Hand getan werden?" Wenn ich Sie jetzt verstehe, mit was Sie arbeiten sollen, mit welchen Tools, wie viel von dem, was unterstützt werden muss. Ich war interessiert Als ich einen Job bei der Firma bekam, war es gerade die Zeit der aktiven Phase des Schreibens unserer neuen Passagieranwendung, die im November 2016 gestartet wurde. Dann sagten sie mir in einem offenen Textinterview, dass es eine alte Bewerbung gibt. Ja, es ist ein Vermächtnis und möglicherweise nicht sehr gut geschrieben. Sie sagten aber auch, dass sie einen neuen Antrag stellen.

Die Kandidaten gehen auch ziemlich oft auf technologische Details ein. Dies wird normalerweise in der Phase eines persönlichen Gesprächs besprochen. Wenn dieses Interview gut läuft, geben wir ein paar Hausaufgaben. Dies tun nur wir mobilen Ingenieure. Weder das Backend noch Data Science tun dies. Danach haben wir eine Runde Vor-Ort-Interviews - bereits vorhanden. Fünf bis sechs Interviews an einem Tag. Wenn ein Kandidat im Büro ankommt und dort von morgens bis abends bleibt. Interviews gehen natürlich nicht hintereinander, es gibt Pausen für Ruhe und Mittagessen. Es ist Zeit für uns, den Kandidaten kennenzulernen und das Unternehmen zu erkennen. Er kommuniziert nicht nur mit Ingenieuren, die möglicherweise in seinem Team sind. Er kommuniziert mit Managern und Ingenieuren aus anderen Teams. Er kann sich ein umfassenderes Bild davon machen, welche interessanten Dinge andere Teams im Allgemeinen tun, was ihm auch gefällt.

Roman : Maxim, bitte sag uns, was für diese Phase des Interviews für alle Phasen am aufregendsten war.

Maxim : Jetzt ist mein Eindruck schon etwas verschwommen, es war doch schon ein paar Jahre her. Ich erinnere mich, dass der aufregendste Moment für mich war, als ich 2 Stunden vor dem Interview ein Glas Kaffee umwarf. Ich kann mich nicht erinnern, was mit den Interviews selbst passiert ist. Entweder Informatik oder Architektur haben mich dort beunruhigt. Aber ich erinnere mich, dass meine ganze Stimmung durch diese Angelegenheit niedergeschlagen wurde. Gott sei Dank ging alles gut. Es scheint mir, dass niemand es bemerkt oder taktvoll geschwiegen hat.

Roman : Um das fortzusetzen, erinnerst du dich daran, dass es dir geholfen hat, dieses Interview richtig zu überstehen? Welches Wissen, was sind deine Fähigkeiten? Was hat es Ihnen ermöglicht, es so klar zu bestehen, wie Sie denken?

Maxim : Hier habe ich eine Meinung, die nicht vollständig durch Fakten bestätigt wird. Ich denke, das hat mir geholfen, wie Sie sagen.

Erstens habe ich ziemlich viel Zeit bei HackerRank verbracht , um verschiedene Aufgaben an allen Standarddatenstrukturen, Algorithmen usw. zu lösen und nur meine Hand zu stopfen. Dies ist sehr nützlich, da eine solche "nackte" Informatik in der täglichen Arbeit nicht sehr verbreitet ist und es gut ist, sich auf ein Interview mit etwas anderem vorzubereiten.

Zweitens ist es die Fähigkeit, seine Gedanken zu erklären . Das Lösen von Problemen aus der Informatik ist ein Interview von fünf oder sechs, das vor dem Kandidaten erscheint. Andere Interviews sind zum Beispiel ein Gespräch über Architektur, darüber, wie Systeme aufgebaut sind, welche Ansätze, Muster und Praktiken zu verwenden sind. Hier spielt die große Rolle nicht die Breite und Tiefe des Wissens, sondern die Tatsache, dass Sie dieses Wissen dem Gesprächspartner vermitteln können.

Es gibt zwei Hauptpunkte:

  • Erfahrung . Zu diesem Zeitpunkt arbeitete ich einige Zeit als Teamleiter und diskutierte ziemlich oft mit Teammitgliedern darüber, was und wie zu tun ist.
  • Englische Sprache . Wenn Sie in einem russischsprachigen Unternehmen und Team arbeiten, kann es schwierig sein, die Dinge, die Sie zu wissen scheinen, neu einzustellen und zu erklären, aber es fällt Ihnen schwer, dies auf Englisch zu sagen, um es sofort zu verstehen. Für mich war es ziemlich viel Stress, obwohl ich die Sprache zu dieser Zeit gut kannte, aber beim Interview zu sprechen war eine ziemlich große Herausforderung.

Uber privater Tag


Ilya : Maxim, du hast eine anständige Zeit bei Uber gearbeitet. Bitte teilen Sie uns Ihren normalen Arbeitstag mit. Wo fängst du an und wie beendest du den Tag? Was gibt es zum Mittagessen?

Maxim : Mein Tag beginnt ein bisschen um 10:00 Uhr morgens. Wir haben keinen festen Arbeitstag. Es gibt einige Zeit, in der normalerweise alle Sitzungen abgehalten werden. Je nach Projekt können einige Unterschiede bestehen. Aber insgesamt komme ich um diese Zeit irgendwohin. Das erste, was ich mache, ist eine Verbindung zu unserem funktionierenden VPN herzustellen, da wir alle Artefakte hinter dem VPN haben und die Änderungen, die über Nacht vorgenommen wurden, wegnehmen.

Wir haben mehrere Büros auf der ganzen Welt, daher kommt es häufig vor, dass Sie morgens kommen und die Geschichte der Commits viel mehr sehen als tagsüber, weil es in Amerika, in San Francisco, nur einen Arbeitstag dauert. in New York, wo wir auch große Büros haben. Es kommt oft vor, dass ich mich mit der Zusammenführungsauflösung befasse, wenn ich einige nicht geschlossene Zweige hatte.

Als nächstes folgt die Arbeit, je nachdem, an welchem ​​Projekt ich gerade arbeite. Ich werde nicht näher darauf eingehen, wie die Arbeit des Projektteams usw. organisiert ist. Dies wird eines der Themen in meiner Präsentation sein . In der Regel stehen wir morgens auf. Je nach Projektphase dauert es möglicherweise nicht jeden Tag, z. B. jeden zweiten Tag, 10 bis 15 Minuten. Dies ist eine kleine Verschwörung zum Thema, wer was tut, wer Probleme hat, ob wir in den von uns selbst festgelegten Zeitplan passen. Wenn plötzlich etwas getan werden muss, entscheiden wir, wer es tun wird und wann wir die Ergebnisse dieser Aktion überprüfen.

Dann kommt die Zeit zum Mittagessen. So kam es, dass es in den Niederlanden üblich ist, ziemlich früh zu speisen, und die Leute kommen meistens früh zur Arbeit. Normalerweise geht jeder um 12:00 Uhr schon zum Mittagessen.

Danach habe ich persönlich die produktivste Phase, 4-5 Stunden , in der ich mich mit aktuellen Aufgaben beschäftige. Ich gehe an die Tafel, schau, was sind die Aufgaben, obwohl ich normalerweise zu diesem Zeitpunkt bereits weiß, was zu tun ist. Ich mache einen neuen Zweig. In diesem Thread nehme ich einige Änderungen am Code vor, sammle den Build, sehe, was kaputt ist und was nicht. Dann reiche ich ein Commit zur Überprüfung ein. Er wird derzeit überprüft. Manchmal passiert es gerade jetzt. Wenn Sie eine Überprüfung durch ein Drittanbieter-Team benötigen, kann dies manchmal einen Tag dauern, da das andere Team höchstwahrscheinlich schläft, da es sich in einer anderen Zeitzone befindet. Wenn alles in Ordnung ist, wird das Commit an den Meister zurückgegeben, und alle sind glücklich. Als nächstes gehe ich mit einem neuen Problem zur nächsten Operation über.

Roman : Sicherlich machst du einige Pausen zwischen den Aufgaben, wenn du nachdenken musst oder der Gedanke nicht geht. Sicherlich gibt es Zeiten, in denen Sie nicht vor dem Monitor sitzen. Wie verbringst du diese Zeit?

Maxim : Erstens haben wir coole Tische, an denen man nicht nur sitzen, sondern auch stehen kann, manchmal hilft sogar eine so kleine Veränderung. Ehrlich gesagt mag ich keine Ablenkungen an diesem konzentrierten Arbeitstag. Morgens einen Kaffee trinken, abends sehen, wie jemand bei der FIFA auf der PlayStation spielt, ja. Aber während die Rätsel gehen, müssen Sie fig. Ich kann Wasser einschenken, vielleicht ein paar Worte mit einem Kollegen haben und fast alles. Dies ist jedoch nur meine persönliche Präferenz. Ich weiß nicht, wie ich so arbeiten soll, um zum Beispiel mitten am Tag Tischtennis zu spielen. Ich brauche Zeit zum Ausruhen, Zeit zum Arbeiten, dann wieder Zeit zum Ausruhen.

Roman : Ich verstehe. Mir ist aufgefallen, dass Sie gleich zu Beginn gesagt haben, dass Sie eine Verbindung über VPN herstellen. Das heißt, während Sie im Büro arbeiten, verwenden Sie immer noch ein VPN, um Zugriff auf das Arbeitsnetzwerk zu erhalten, oder?

Maxim : Zum Teil sind über unser Büronetzwerk bestimmte Ressourcen verfügbar, die von keinem externen Netzwerk eines Drittanbieters verfügbar sind. Einige Ressourcen sind jedoch nur für VPN verfügbar. Ich weiß nicht genau, was die Gründe für eine solche Sicherheitsrichtlinie waren. Warum es akzeptiert wurde, verstand ich ehrlich gesagt nicht. Dies ist praktisch, da ich alle Aufgaben im Büro von überall auf der Welt aus über dasselbe VPN ausführen kann.

Alexei : Schau, so ein Satz blitzte auf: "Ich gehe an die Tafel." Bedeutete ein Task-Tracker? Wenn ja, welches verwenden Sie? Oder ist es ein wirklich physischer Ort, an dem diese schönen Aufkleber aufgeklebt sind, an dem Sie Ihre nächste Aufgabe übernehmen müssen?

Maxim : Normalerweise verwenden wir den Task-Tracker. Wir benutzen Phabricator. Es gibt Teams, die physische Bretter, physische Aufkleber und Marker lieben. Wenn Sie an einem solchen Projekt arbeiten müssen, werde ich es wahrscheinlich tun. Grundsätzlich ist bei uns jedes Team auf seine Weise organisiert. Manchmal kommt es vor, dass unser Board, wenn es sich um ein sehr kleines Projekt handelt, ein Zeichen in Excel sein kann, sodass sich die Leute nicht viel mit all den Berichten und anderen Dingen beschäftigen.

Ich habe am Anfang gesagt, dass das Unternehmen noch ein kleines Startup ist. Wir sind immer noch flexibel in der Art und Weise, wie wir unsere Arbeit erledigen, je nachdem, an welcher Art von Projekt wir gerade arbeiten und was wir davon wollen.

Alexey : Die Frage betrifft den Workflow. Verfolgen Sie irgendwie die Zeit, die Sie damit verbringen, direkt zu sitzen und den Code zu schreiben? Oder machst du es zentral?

Maxim : Wir verfolgen die Zeit für Aufgaben nicht speziell. Wir sehen uns den Fortschritt des Projekts an. Es hängt bereits davon ab, wer dieses Projekt verwaltet. Wenn ich als Projektleiter tätig bin, ist es für mich normalerweise bequemer, die Ergebnisse der Woche zu betrachten. Zu Beginn der Woche sagen wir, dass wir nächsten Freitag machen wollen, dass wir zeigen und demonstrieren wollen. Dann schauen wir, es stellte sich heraus oder nicht, wir analysieren, was schief gelaufen ist, warum wir es geschafft haben. Wenn sie in dem Sinne überarbeitet werden, dass wir mehr tun als geplant, dann finden wir auch heraus, warum. Ich habe von keinem der Teams über die Zeiterfassung in Stunden gehört, wie viel der Entwickler ist und was er an einem bestimmten Tag speziell getan hat. Es scheint mir, dass niemand dies mit uns macht.

Die Werkzeuge


Roman : Dies ist nicht das erste Mal, dass ich höre, dass Uber Facebook-Tools verwendet, sei es Phabricator oder Buck. Was ist der Grund dafür?

Maxim : Ich kann nichts über globale Politik sagen. Ich bin mir nicht mal sicher, ob es so ist, dass wir die Tools von Facebook verwenden. Buck passt zu uns nach bestimmten Kriterien. Es gibt ein großes Projekt, Bauzeit und all das. Mit Phabricator weiß ich es nicht. Dies geschah, bevor ich zur Firma kam. Ich weiß, dass einige Teams versuchen, einige ihrer kleinen Jira-Instanzen zu erstellen, aber dies ist immer noch im Geiste des Experiments. Das Team verwendet diese Tools unterschiedlich. Wir haben keine globale Richtlinie, mit der wir alles nutzen können, was Facebook tut.

Weg zur und von der Arbeit


Alexei : Sag mir weiter, was passiert, wenn dein Arbeitstag endet. Übrigens, wann? Ist es irgendwie rechtzeitig festgelegt?

Maxim : Normalerweise gehe ich um 7 mit etwas weg. Dies ist speziell mein Zeitplan. Ich denke, dass er sich nach einer Weile in Richtung einer früheren An- und Abreise ändern kann. Viele Leute kommen um 8 und gehen um 5.

Alexei : Wie kommst du zur Arbeit? Fährst du Fahrrad wie ein echter Holländer?

Maxim : Ich fahre wie ein echter Holländer mit dem Fahrrad zur U-Bahn und dann mit der U-Bahn zur Arbeit. Jetzt befindet sich unser Büro neben einem sehr großen Verkehrsknotenpunkt, und dort wird ein Fahrrad einfach nicht benötigt. Zuvor bin ich jeden Tag mit dem Fahrrad 12 km in eine Richtung durch den wunderschönen Amsterdamer Wald gefahren . Es war unglaublich. Ich vermisse dieses Büro wirklich wegen dieser Straße.

Ilya : Wie viel Zeit hast du zur Arbeit?

Maxim : 30-40 Minuten.

Über Amsterdam


Alexei : Was hat dir während der ganzen Zeit, die du in Amsterdam gelebt hast, am besten gefallen? Warum ist diese Stadt Ihrer Meinung nach? Was ist das coolste?

Maxim : Das Coolste in Amsterdam ist die Nachbarstadt Haarlem , in der ich ein Jahr lang gelebt habe. Dies ist eine wundervolle kleine Stadt, die wie Amsterdam nur sehr wenige Touristen hat. Er ist aus kultureller Sicht sehr cool. Trotz der Tatsache, dass er klein ist, gibt es Kinos, Theater, verschiedene Aktivitäten, jemand tritt jedes Wochenende auf. Ich mag den lokalen Stil und Rhythmus des Lebens in dem Sinne, wie Menschen sich auf ihre Arbeit beziehen, wie sie sich auf ihre Familie beziehen. Die berühmte Life Work Balance . Es ist nicht sehr üblich, zu "pflügen". Die Karrieren der meisten Menschen stehen nicht an erster Stelle. , , - , , , , 3 . , , , . - , , , , . , .

AppsConf


: . , AppsConf. , , , .

: , , , . , -, , , , .

, . , Android , iOS . - , .

, , Uber Quality assurance . . , , , . , . , , , Uber, , . , , Uber . .

AppsConf


: , ? , , . ? ?

: , . , . , , , , , . . , , , -, - , , . , , .

, , , -, , - . quality assurance, . , Uber, Uber , , - . , , . , - , - in-house. - , backend, . , .

Uber


Uber, , . Uber . , . , , . , , -. . , .

: . , . . , AppsConf , 8-9 . Appsconf.ru , . , , .

, , .

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


All Articles