Im Jahr 2000, als hh.ru noch sehr klein war und liebevoll als „National Job Club“ bezeichnet wurde und nur 3% der Russen Zugang zum Internet hatten, hatten wir natürlich keine mobile Entwicklung. Dann waren Smartphones in ihrer jetzigen Form nur ein entfernter Traum. Jahre vergingen, Technologie stand nicht still, HeadHunter wuchs und entwickelte sich. Wir haben immer versucht, an vorderster Front zu stehen und die neuesten Methoden und Lösungen in Entwicklungsprozessen einzusetzen.

Heute ist hh.ru nicht nur ein Standort mit offenen Stellen und Lebensläufen. Wir entwickeln und nutzen Spitzentechnologien, entwickeln coole Projekte im Bereich HR-Tech und geben unser Bestes, um das Leben von Millionen von Menschen zu vereinfachen. Dazu benötigen wir nur mobile High-Tech-Anwendungen, und es gibt vier in hh. Zwei für Android und zwei für iOS, getrennt für Arbeitgeber und Arbeitssuchende. Mobile Entwickler sind die Superhelden unserer Zeit und die Kavallerie der Technologie. Dieser Artikel zeigt (und zeigt), wie hh Mobile-Teammitglieder leben und arbeiten.

#workday
Es ist wichtig für uns, hoch zu arbeiten. Daher verwenden wir effektive Entwicklungsmanagementmethoden, versorgen jeden Mitarbeiter mit den neuesten Geräten und schaffen den bequemsten Arbeitsbereich.
Wie arbeiten wir
Wir orientieren uns an den Prinzipien von Agile und Kanban: Wir haben keine festen Fristen, und die Entwicklung selbst wird als kontinuierlicher Strom dargestellt. Dadurch konnten wir die Produktivität erheblich steigern: Wenn wir beispielsweise Scrum verwendeten, erfolgten die Veröffentlichungen einmal im Monat und mit dem Übergang zu einem neuen Modell - wöchentlich. Wir legen großen Wert auf die Automatisierung von Routineprozessen, wir mögen keine übermäßigen Körperbewegungen.
Jedes Team verbringt 30% der Zeit mit „Technischen Steuern“ - Beschleunigung von Entwicklungsprozessen, Entfernen von altem Code und Einführung neuer Technologien. Jeder Mitarbeiter hat seinen eigenen Entwicklungsplan, eine eigene Fähigkeitstabelle und eine fortlaufende Teamunterstützung. Jeder von uns kann seine Eindrücke, Ideen und Kommentare teilen. Die Entwicklung neuer Funktionen wird bereits in einem frühen Stadium diskutiert, und die Entwickler selbst entscheiden, was sie sein werden. Der Lebenszyklus des Features umfasst fünf Phasen: Idee, Planung, Entwicklung, Demonstration und Feedback. Im Entwicklungsprozess verwenden wir Slack als Hauptkommunikationsmittel, Jira hilft bei der Steuerung von Aufgaben und für ihre übersichtliche Darstellung haben wir Kanban-Boards.

Jeden Morgen halten wir Stand-Ups (sprich: Planungsmeetings) ab, bei denen wir wichtige Themen analysieren und diskutieren. Bei Bedarf können Sie jederzeit einen Termin vereinbaren, um Ideen mit dem Team auszutauschen, um Hilfe bei der Lösung von Problemen zu bitten und Unterstützung zu erhalten. In den ersten Monaten wird Neuankömmlingen ein Sensei zugewiesen, der ihnen hilft, sich an die Details der Arbeitsprozesse zu gewöhnen und diese zu verstehen.
Woran arbeiten wir?
iOS: Für die iOS-Plattform haben wir zwei Anwendungen entwickelt und verbessern diese ständig: Für Antragsteller und für Arbeitgeber werden die gemeinsamen Komponenten den Frameworks zugewiesen. 75% des Codes sind in Swift geschrieben, 25% in Objective-C. Seit 2016 wurden neue Funktionen nur in Swift-Sprache und VIPER-Architektur geschrieben. In der Service-Schicht halten wir uns an den SOA-Ansatz. Wir folgen den Prinzipien von SOLID, wir schreiben Unit-Tests. Es gibt Code Style für beide Sprachen, wir verwenden statische Analysatoren und Linter in unserer Arbeit. Für jeden Anforderungspool werden Tests und Überprüfungen ausgeführt. Die Zusammenstellung und das Layout von Anwendungen werden über den CI-Server + Fastlane automatisiert. In Zusammenarbeit mit QA schreiben wir UI-Tests mit XCUITest. Wir verwenden Codegenerierung, Vorlagen für Xcode.
Android: Für diese Plattform wurden ebenfalls zwei Anwendungen entwickelt. In den letzten zwei Jahren wurde die Entwicklung in der Kotlin-Sprache durchgeführt, in der mehr als 70% des Codes geschrieben sind. Das Android-Entwicklungsteam arbeitet mit einem hochmodernen Technologie-Stack, der regelmäßig erzwungenen Verbesserungen unterzogen wird. Jetzt unter der Haube RxJava 2, Zahnstocher, Moxy, Cicerone. In der Anwendungsentwicklung verwenden wir immer eine Architektur mit mehreren Modulen. Die Module werden nach den Prinzipien von Clean Architecture und SOLID implementiert. Aus Bequemlichkeitsgründen versuchen wir daher, Prozesse so weit wie möglich zu automatisieren, Vorlagen zu schreiben und zu verwenden, Plug-Ins für die Codegenerierung zu verwenden und in unserer Arbeit anzuwenden. Fast alle Hauptskripte werden durch UI-Tests abgedeckt. Beim Schreiben verwenden wir die High-Level-Frameworks Kakao, Kaspresso und DSL für Fixtures (weitere Details
hier ). Tests werden mit Marathon auf Emulatoren in einem Kubernetes-Cluster ausgeführt. Für Anwendungen wurde ein einzigartiger Styleguide entwickelt.
Testen: Jedes Team ist funktionsübergreifend und arbeitet von der Idee bis zum Start am Projekt. Unsere Tester arbeiten in Teams und beteiligen sich von Beginn ihrer Entwicklung bis zur Freigabe der Produktion an der Arbeit an Features. Leider wurde bisher nicht der gesamte Testprozess automatisiert, aber wir streben dies an: Pläne für die nahe Zukunft sehen eine vollständige Abdeckung mit Autotests vor.
Bei der Arbeit an Funktionen oder Fehlerkorrekturen verwenden wir explorative Tests sowie den vom Tester ermittelten Grad an Regression. Je nach Aufgabe wählen Spezialisten die zum Testen erforderlichen Methoden und Werkzeuge aus. Es ist auch praktisch, Statistiken zu erstellen und Vorfälle zu analysieren - Tester erhalten vollen Zugriff auf Anwendungen und Codebasen auf dem Prüfstand.
Wo arbeiten wir
Das Büro von hh.ru befindet sich in Moskau zwischen den U-Bahn-Stationen Alekseevskaya und VDNH. Viele in ihrer Kindheit träumten davon, in den Weltraum zu gelangen, und Träume wurden teilweise wahr - in unserem Büro gibt es 5 Stockwerke mit offenen Zonen. Das mobile Entwicklungsteam ist Teil der technischen Abteilung, die eine ganze Etage einnimmt.
Die Entwicklung ist in 23 Teams unterteilt, von denen sich 4 nur mit mobilen Anwendungen befassen. Es gibt heute 25 Kämpfer bei hh Mobile, und bis Ende des Jahres planen wir, die Belegschaft auf rund 35 zu erweitern. Jedes Team hat einen internen Kunden - Product Owner, dessen Aufgabe es ist, sicherzustellen, dass sich niemand ohne Projekt langweilt. Gleichzeitig sind wir bereit, jede Idee unserer Mitarbeiter umzusetzen, wenn sie sich als interessant herausstellt.
Wir erkennen keine Hindernisse: Teams sitzen zusammen - es ist bequemer, zu arbeiten und aufkommende Probleme zu diskutieren.

Große Freiflächen sind durch Regale und Regale mit Büchern und Pflanzen in Kommandobereiche unterteilt. Wenn Sie möchten, können Sie sich hinter einer Palme verstecken.

Wir versuchen immer auf der gleichen Wellenlänge zu sein. In unserem Bungalow gibt es ein Brett für alle.

Auf jeder Etage gibt es einen ruhigen Hafen mit frischem Obst, Gemüse, Keksen, Tee und Kaffee - eine Küche. Dort können Sie mit einer Kaffeemaschine sündigen, Essen nach Belieben holen und sich frisch gepressten Saft machen. Während Sie einen Keks kauen oder eine Banane zerstören, können Sie sich mit Kollegen unterhalten - wir unterhalten uns gerne.

Lampovo!

Ökologie ist wichtig. Wir sind für die Umwelt, deshalb unterstützen und fördern wir nützliche Initiativen: Wir sammeln „gute Verschlüsse“ (aus Flaschen), „gute Dinge“, Altpapier, Elektrogeräte, Batterien und Kunststoff für das Recycling und verwenden auch recycelte Pappbecher.

Im Erdgeschoss gibt es ein Fitnessstudio, denn Sport ist, wie Sie wissen, Frieden, und wir sind äußerst friedliche Leute. Auf dem Ladebildschirm in DOOM heißt es: „Kontinuierlich bewegen, die Hölle verschlingt müßige“. Wir ziehen hierher:

Arbeitsbereich
Wachstum ist unvermeidlich, mehr Menschen = mehr Möglichkeiten. Deshalb versuchen wir, den Arbeitsbereich für alle so anzupassen, dass er für alle angenehm ist. Wir haben eine Umfrage durchgeführt und die Ergebnisse identifizierten 2 Gruppen - Fans von Freiflächen und Anhänger der Einsamkeit. Basierend auf den Ergebnissen reparieren wir alle Stockwerke: Einerseits kombinieren wir die Räume, andererseits stellen wir Kabinen für Telefongespräche, Besprechungsräume mit weichen Stühlen für Teambesprechungen und für die Arbeit an komplexen Aufgaben auf, die maximale Konzentration in völliger Stille erfordern.
Die Arbeitsplätze des mobilen Teams sind minimalistisch, sodass jeder sie nach seinem Geschmack gestalten kann - hängen Sie Fotos oder Aufkleber auf und ziehen Sie eine Gitarre und Lieblingsspielzeug von zu Hause mit. Der Bereich des Arbeitsraums ermöglicht es Ihnen, mit Design zu phantasieren und zu experimentieren. Wenn das Chaos auf dem Tisch überhaupt kein Chaos ist, ist dies ein Experiment. Jedes Teammitglied hat:
- MacBook Pro, zusätzliche Monitore, zusätzliches Aufladen des Laptops

- atemberaubende Herman Miller Aeron Stühle, gehorsam und reaktionsschnell auf die Biegungen der Sitzenden (genau wie Dr. House!)

- Kinnarps- und Soft-Effekt-Transformationstische mit einstellbarer Höhe. Mit einer einfachen Bewegung verwandelt sich der Bürotisch in eine elegante Bartheke.

Um die Effektivität von Anwendungen auf allen möglichen Mobilgeräten zu kontrollieren, haben wir eine modische Schatztruhe geschaffen: Dort werden die beliebtesten iOS- und Android-Geräte sowie einige veraltete Modelle gespeichert. Dies ist ein sehr intelligenter Schrank: Jeden Morgen lädt er alle Smartphones und Tablets auf und arrangiert einmal am Tag einen Exterminatus mit ultraviolettem Licht, wodurch Mikroben zerstört werden.
Wenn Sie eine Anwendung oder eine einzelne Funktion testen müssen, können Sie das erforderliche Wunderkind aus dem Regal nehmen und an seinen Platz zurückbringen.

Wie viel arbeiten wir?
In hh.ru gibt es einen 8-Stunden-Arbeitstag und eine freie Stunde, die jeder nach Belieben verbringen kann. Wir sind flexibel, Hauptsache für uns ist das Ergebnis. Um mit den Trends Schritt zu halten und nicht an Kommunikation zu verlieren, müssen Sie mit dem morgendlichen Aufstehen Schritt halten und von 12:00 bis 18:00 Uhr im Büro sein. In verschiedenen Teams beginnt der Stand-up zu unterschiedlichen Zeiten, durchschnittlich von 10:30 bis 12:30 Uhr. In extremen Fällen können Sie jederzeit über ein VPN remote arbeiten.

Wie entspannen wir uns?
Wer weiß, wie man sich gut entspannt, das funktioniert perfekt. Und wir ruhen uns professionell aus: Wir veranstalten Firmen-Turniere in Tischtennis, Rudern, Fußball, wir werden nach der Arbeit Filme schauen. Wir haben einen eigenen Rednerclub, in dem jeder sein Oratorium üben kann (und es ist überhaupt nicht notwendig, einen Schluck Steine zu bekommen), einen fantastischen Massageraum und zweimal pro Woche Yoga-Kurse. Wir organisieren auch coole Events. Nun, einige Kollegen fliegen sogar zusammen in den Urlaub!
So haben wir Kasbek erobert:



Wie lernen wir?
Wir sind ständig auf der Suche nach neuem Wissen, teilen es miteinander und organisieren interne Besprechungen, bei denen jeder jedes arbeitsbezogene Thema behandeln kann.
In jeder unverständlichen Situation schicken wir unsere Entwickler zu Konferenzen - hören Sie zu, chatten Sie, tauschen Sie Erfahrungen aus. Wenn Sie sprechen möchten, helfen wir Ihnen bei der Vorbereitung, Durchführung und Präsentation.
Und mehr! Jedes Jahr veranstalten wir eine Schule für Programmierer - dies ist eine sechsmonatige Schulung in Programmierung und verwandten Themen. Unsere Top-Spezialisten halten dort Vorträge und führen Workshops und Schulungen zu Reden für Schuldozenten und Referenten auf Konferenzen durch.
Ein Teil des Teams, ein Teil des Schiffes
Wir entwickeln uns aktiv weiter, neue mobile Teams entstehen in unserem Land und in diesem Zusammenhang suchen wir ständig nach neuen Kämpfern!
Aktuelle Stellenangebote finden Sie
unter dem Link .
Wir freuen uns sehr über coole Spezialisten. Teilen Sie Informationen, empfehlen Sie uns und kommen Sie selbst.