Wie ist die Entwicklung bei United Traders?

Hallo allerseits!


Mein Name ist Alik Kurdyukov, ich bin CTO von United Traders . Sie können ein wenig über mich in meinem Profil herausfinden. In letzter Zeit haben wir die Rekrutierung von IT-Mitarbeitern für das Unternehmen beschleunigt und stehen vor einem Problem: Viele Menschen kennen uns als „Fin“ -Unternehmen, aber nur sehr wenige wissen, wie man „Tech“ macht. Deshalb haben wir jetzt einen Blog über Habré.


In diesem Beitrag möchte ich darüber sprechen, wie wir auf der Entwicklungsseite angeordnet sind. Und gerne beantworte ich Fragen in den Kommentaren.


Über die Firma


United Traders ist ein Fintech-Unternehmen, das digitale Produkte für den Börsenhandel (NYSE, NASDAQ, CME) und Investment (IPO, OTC und seine eigenen Anlageprodukte) entwickelt. Wir entwickeln Software für Händler, Webplattformen, mobile Anwendungen, Finanzalgorithmen und unseren Kryptowährungsaustausch.


Das IT-Team ist für den Code für die folgenden digitalen Produkte des United Traders-Ökosystems verantwortlich:


  • UTEX ist ein Kryptowährungsaustausch mit einer adaptiven Schnittstelle (Anfänger / Profis).
  • UT Investment ist eine Investment-Webplattform mit einer Präsentation exklusiver Ideen.
  • Aurora ist eine Plattform für den Handel an verschiedenen Börsen.
  • Das UT Magazine ist ein Informationsportal zu Handel und Finanzen.
  • Answr - eine Enzyklopädie mit Bezahlung für die Arbeit von Autoren in Kryptowährung.

Entwicklung


Wir arbeiten in einem dynamischen Markt. Daher werden Produktteams für einen flexiblen iterativen Ansatz „geschärft“. Scrum-Iterationszyklus und Kanban-Trittfrequenzzyklus - 1 Woche.


Entwicklung ist eng mit dem Geschäft verbunden. Entwickler sind an Produktentscheidungen beteiligt. Produktteams arbeiten im Rahmen von HADI-Zyklen. Die Hauptsache ist das Ergebnis. Daher führen wir für die gebildeten Produkte eine detaillierte Überprüfung des gesamten Codes und sogar der Layouts durch und versuchen, Zeit für Refactoring und technische Verbesserungen bereitzustellen.


Verteiltes Team


Unser Unternehmen hat eine flache Struktur, CTO ist jetzt der direkte Manager aller IT-Mitarbeiter. Das Team arbeitet remote und ist in ganz Russland und den Nachbarländern verteilt:


  • Moskau
  • Sankt Petersburg
  • Komsomolsk-on-Amur
  • Kaliningrad
  • Taganrog
  • Chisinau
  • Rjasan
  • Kolomna
  • Cherepovets
  • Murmansk
  • Tallinn
  • Vilnius
  • Minsk
  • Vitebsk
  • Istra

Die Kommunikation erfolgt mit:


  • Schlaff wie ein Unternehmenschat,
  • JIRA und Trello als Tracker.
  • Sococo als Werkzeug für Sprach- und Videokommunikation, ein virtuelles Büro.

Das Unternehmen finanziert die Entwicklung der Mitarbeiter und begrüßt Reden auf Konferenzen und Tagungen (JPoint, Joker, HighLoad, RIT ++).


Entwicklungsteams


Wir haben mehr als 30 professionelle Entwickler, Tester, OPS-Ingenieure, Designer und Layouter. Alle unsere IT-Mitarbeiter interagieren täglich in kleinen Teams miteinander:


Plattform
Entwickelt die allgemeinen Dienstleistungen des Unternehmens: Zahlungseingang, interne Buchhaltung, Partnerprogramm usw. Am häufigsten werden Java und Kotlin verwendet.


Utex
Entwickelt eine Börse für den Handel mit Kryptowährungen. An dem Produkt arbeiten 2 Teams: Team Back, Team Front. Verwendet von Kotlin, Java, Erlang, Rust, React, Redux, Apollo.


Aussagen
Verbessert das Berichtssystem für den Handel und die Verwaltung von Handelsparametern. Wird von Kotlin und Java verwendet.


Aurora
Er arbeitet an der Entwicklung der Aurora-Client-Handelsplattform, die von Servern für verschiedene Zwecke sowie von Client- und Manager-Terminals repräsentiert wird. Wird von C # verwendet.


Operationen
Die Hauptaufgabe der OPS-Ingenieure besteht darin, DEV-Teams in folgenden Fragen zu unterstützen:
Betrieb von Test- und Kampfumgebungen,
Konfiguration und Unterstützung der Entwicklungspipeline von der Organisation der Entwicklungsumgebung bis zur Einführung.
Die Prinzipien von DevOps werden verwendet. Tools: Ansible, OpenShift, PostgreSQL, Prometheus, Docker, CentOS.


Autotest
Helfen Sie den Entwicklungsteams, ein hohes Qualitätsniveau aufrechtzuerhalten. Arbeiten Sie mit automatischen Integrationstests. Werkzeuge: Spock, Spek, Allure.


UX / UI-Designer
Erkunden Sie die Benutzereinstellungen, erstellen Sie ein Design für alle Entwicklungsprojekte in UT und arbeiten Sie an der Benutzerfreundlichkeit.


Humankapital
Sie tragen dazu bei, Menschen anzuziehen, mit denen wir dieselben Werte teilen, und tragen zur Entwicklung von Entwicklungsteams bei.


Architektur, Technologie-Stacks, Praktiken


Die Architektur unseres gesamten Ökosystems basiert auf Microservices mit all ihren Vor- und Nachteilen. Für die Interaktion von Microservices verwenden wir REST, gRPC, Kafka. Wir haben Discovery, Konfigurationsservice. Wir verwenden Leistungsschalter und andere Muster.


Unsere Entwicklungsstapel:


  • JVM - Kotlin, Java8, Spring Boot2, Hibername, PostgeSQL
  • Frontend - TypeScript, Reagieren, Redux, ReduxSaga, Apollo GraphQL
  • .NET - C # 7, .NET Framework 4.7.1, WPF, Castle Windsor
  • Rust - Tokio, Actix
  • Erlang

Ingenieurspraktiken:


  • CI / CD basiert auf Jenkins und Ansible,
  • Für alle Sprachen gibt es einen Codestil, der normalerweise automatisch überprüft wird.
  • Es gibt eine obligatorische Codeüberprüfung für alle Projekte außer schnellem MVP.

Die meisten Projekte haben 3 Ebenen von Autotests:


  • Unit-Tests für Code,
  • Integrationstests für ausgelöste Artefakte isoliert,
  • Systemtests für Gruppen von Artefakten - Tester und Entwickler arbeiten an diesen Tests.

Wir versuchen, neue Technologien einzusetzen, wenn sie uns bei der Lösung von Problemen helfen können. Es ist jedoch üblich, die neue Technologie an das Team zu „verkaufen“. Zum Beispiel haben wir im letzten Jahr angefangen, Rust, GraphQL, ClickHouse zu verwenden.


Arbeitsstil


In UT sind wir es gewohnt, nicht nur Aufgaben zu sägen, sondern auch Verbesserungen anzubieten und Fragen zu stellen. Wir haben die „Regel von 30 Minuten“: Wenn Sie auf eine Schwierigkeit stoßen, die nicht in einer halben Stunde gelöst werden kann, ist es sinnvoll, eine Frage im Slack-Chat-Team zu stellen. Jemand hilft Ihnen bei der Lösung oder sagt Ihnen, wo Sie graben sollen. Und wir sind sicher, dass diejenigen, die die Aufgabe übernommen haben, sie definitiv abschließen werden.


Im Allgemeinen haben wir ein exzellentes Team, wir werden uns freuen, wenn Sie sich eines Tages darin befinden, und ab heute werden wir Ihnen sagen, wie wir United Traders nicht nur zu einem Finanz-, sondern auch zu einem Fintech-Unternehmen machen.

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


All Articles