Handel to gra polegająca na szybkości. Historia AlgoTradera
Giełda i finanse to dwa słowa kluczowe, które dla wielu są nadal tajemnicą. Takimi były też, gdy Andy zaczynał pracę w Swiss Intelligence Agency, w której nauczył się analizować ogromne zbiory danych. To tam dowiedział się także, na czym polega praca tradera, a później sam nim został. Stworzył też system AlgoTrader, który ułatwia dokonywanie transakcji na giełdzie. O jego historii rozmawialiśmy z CEO — Andym Flurym.
Spis treści
Możemy zacząć od Twojej historii? Jesteś przedsiębiorcą, developerem, a może traderem?
Wszystkie funkcje, które wymieniłeś, są prawdziwe. Jestem inżynierem, software developerem i traderem. Mam spore doświadczenie w startupach, AlgoTrader to mój szósty projekt. Zajmowałem się organizacją muzycznych wydarzeń, tworzyłem hardware, ale też zajmowałem się wymianą walut. Wcześniej pracowałem na stanowisku software engineera dla dużych banków w Szwajcarii, przez jakiś czas pracowałem dla Swiss Intelligence Agency. To były wczesne czasy dla big data, ale już wtedy tworzyliśmy spory system dla SIA właśnie do tego, by szybko analizować ogromne zbiory danych. W tej pracy nauczyłem się, jak przetwarzać sporo informacji naraz, dlatego też później zostałem traderem. Razem z dwoma partnerami stworzyliśmy system do giełdy walutowej. Moim zadaniem było opracowanie najlepszego modelu i zajęcie się stworzeniem go od strony programistycznej. Na początku AlgoTrader powstał na nasze potrzeby, ale po wielu spotkaniach z potencjalnymi klientami postanowiliśmy otworzyć go dla użytkowników z zewnątrz.
Czyli tylko w trzy osoby stworzyliście AlgoTradera, czy mieliście od tego dedykowany zespół?
Aż do końca ubiegłego roku było nas tylko trójka. W tym roku bardzo rozwinęliśmy się, zatrudniamy 25 osób, a to dzięki rundzie finansowania, którą otrzymaliśmy od inwestora z Doliny Krzemowej.
Dlaczego szukaliście inwestora?
Giełda walut to prawdopodobnie jedna z najtrudniejszych dziedzin w IT. Musisz być szybki, niezawodny i współpracować z wieloma zewnętrznymi serwisami naraz. A co najważniejsze: nie możesz się mylić. Skupiliśmy się na rozwoju naszego produktu, na tym, by był stabilny i gotowy na ekspansję. Dlatego postanowiliśmy otworzyć biura we Wrocławiu, ale i w Nowym Jorku.
Jakie są dzisiaj trendy na rynku giełdowym?
Największym wyzwaniem jest śledzenie bieżących danych. W skrócie oznacza to wykorzystanie analizy technicznej, takiej jak średnie kroczące, wskaźniki momentu itp. W zasadzie to, co każdy z nas próbuje zrobić, to przewidzieć cenę danego podmiotu. Drugim trendem, w który bardzo się angażujemy, są kryptowaluty. Dwa lata temu tylko nasze oprogramowanie wspierało handel przy użyciu krypto. Widzimy wiele dużych funduszy hedgingowych i handlowców zmierzających w kierunku rynku kryptowalut.
To prawda, że najlepszym rozwiązaniem dla funduszy hedgingowych jest posiadanie serwerów bliżej lokalizacji giełdy?
Handel to głównie gra polegająca na szybkości. Inaczej, gdy mówimy o kryptowalutach — ich serwery znajdziemy na całym świecie.
Domyślam się więc, że waszym dzisiejszym celem jest zbudowanie solidnego zespołu programistów, którzy rozwiną AlgoTrader. Na jakie wyzwania mogą liczyć dołączając do Was?
System handlu musi być bardzo szybki oraz wspierać wiele instrumentów, takich jak akcje, futures i kryptowaluty. Warto zaznaczyć, że każdy z tych rynków działa inaczej. System musi być także elastyczny, aby można było wspierać wszystkie typy i strategie. Logika strategii handlowych czasami przekracza 100 000 linii kodu. Niektórzy z naszych klientów składają tysiące zamówień dziennie w swoich strategiach handlowych, więc istnieje wiele kombinacji danych, które muszą być niezawodne i szybkie. Co więcej, nasz system opiera się na Javie, więc nasi klienci muszą również tworzyć strategie handlowe w Javie. W przyszłości chcielibyśmy obsługiwać coraz więcej języków, zachowując przy tym szybkość i niezawodność.
Kogo dokładnie potrzebujecie? Każdy z developerów musi znać się na handlu?
Zazwyczaj poszukujemy doświadczonych programistów Java na wyższym poziomie. Musi posiadać wiedzę dot. handlu, dobrze gdyby wcześniej pracował w banku. Naszym zdaniem trudno będzie odnaleźć się u nas osobie, która nigdy nie miała styczności z handlem.
To zwykła praca programisty czy coś więcej?
Niektórzy developerzy pracujący z nami widzieli więcej strategii handlowych, niż sami traderzy. Mamy więcej doświadczenia niż prawdopodobnie 99% wszystkich traderów.
Jakie są najbardziej pożądane cechy programistów, którzy mogliby pracować w AlgoTrader?
Korzystamy z wielu technologii open source, takich jak Spring, Hibernate, AccessMQ, Node. Dobrze więc, gdyby ktoś znał te technologie, a jeszcze lepiej gdyby znał takie pojęcia jak wielowątkowość, low latency, zarządzanie pamięcią, optymalizacja kodu.
Możesz powiedzieć więcej na temat organizacji pracy w AlgoTraderze?
Jasne, obecnie mamy dwie siedziby: w Zurychu i we Wrocławiu. Backend developerzy pracują w obydwu biurach, ale frontend developerzy tylko we Wrocławiu. Mamy zatem dwie lokacje i dwa zespoły. Jeden zajmuje się większością kluczowych funkcjonalności systemu, drugi dba o interfejs użytkownika. Programista AlgoTrader pracuje na platformie transakcyjnej, a także na strategiach handlowych realizowanych projektów. Dzięki temu dowiadują się, czego chce klient i co platforma ma do zaspokojenia ich potrzeb.
Możesz opowiedzieć więcej o tym, czym zajmują się programiści w Twoim zespole?
Oprócz standardowych ról i pozycji takich jak mid/senior backend i frontend developerzy, każdy z członków zespołu jest scrum masterem. W pewnym momencie zostaje mianowany scrum masterem całego zespołu na jeden tydzień. Mamy też testerów manualnych i automatycznych.
Testują aplikację pracując z prawdziwymi pieniędzmi, czy typowo w środowisku testowym?
Zazwyczaj mają konta demonstracyjne, choć inaczej jest w przypadku kryptowalut — tam nie mamy kont demo, ale wydajemy małe kwoty typu 100$.
Z punktu widzenia startupu AlgoTrader, jakie są Wasze największe wyzwania dzisiaj?
Największe wyzwanie dotyczy organizacji pracy. Rośniemy bardzo szybko, mamy sporo lokalizacji i pracujemy w kilku strefach czasowych. To tworzy małe, ale uciążliwe problemy komunikacyjne. Mamy zamiar otworzyć niebawem biuro w Singapurze, co sprawi, że będziemy działać na trzech kontynentach. Potrzebujemy ludzi do zarządzania zespołem, ale też projektami. Dziś mamy już 100 klientów, dla których wykonujemy poszczególne projekty. Właściwie spotykamy się jeszcze z wieloma małymi wyzwaniami związanymi z szybkim rozwojem firmy.
Jaka dzisiaj jest Twoja rola? Skupiasz się na developerach, sprzedaży czy zarządzaniem zespołem?
Mamy obecnie dwa cele: rozwinięcie platformy dodając nowe funkcje oraz zwiększenie sprzedaży, ekspansja na kolejne rynki i zdobycie większej liczby klientów. Myślę, że mamy podwaliny do realizacji tych celów, musimy się tylko na nich skupić.
Nad czym obecnie pracujesz na co dzień?
Zajmuje się sprawami operacyjnymi firmy, choć szukamy COO do zespołu, który mógłby mnie zastąpić. Coraz trudniej mi pogodzić operacje, product development, klientów, inwestorów i partnerów.
Potrafiłbyś opisać główne funkcjonalności, nad którymi teraz pracujecie?
Zasadniczo są dwa obszary, na których będziemy się skupiać. Załóżmy, że chcesz kupić bitcoiny o wartości 10 milionów dolarów. Nie możesz iść na giełdę i złożyć zamówienia, ponieważ cena ucieknie, co nazywamy poślizgiem. Dlatego pracujemy nad funkcją, która podzieli tę kolejność na mniejsze części i umieści je w inteligentny sposób na wielu giełdach. To rodzaj oprogramowania, które pomaga przedsiębiorcy wykonać duże zamówienie, bez wpływu na rynek. Jest to bardzo ważne dla handlowców kryptowalut.
Drugim obszarem, na którym się skupiamy, jest weryfikacja historyczna — strategie testowania z danymi historycznymi. Pracujemy nad tym od dłuższego czasu, dokonujemy refaktoryzacji tego obszaru w celu uzyskania pełnowartościowego interfejsu internetowego do testów historycznych, a także do obsługi innych języków programowania.
Kiedy Wasz produkt będzie na tyle skończony, że nie będziesz chciał nic do niego dodawać? Na jakim etapie jest dzisiaj AlgoTrader?
To coś, czego nie da się zmierzyć. Na pewno osiągnęliśmy poziom stabilności, wszystkie główne funkcjonalności działają, ale mamy jeszcze sporo do zrobienia. Aplikacja będzie jeszcze lepsza, gdy będzie bardziej przyjazna użytkownikowi i będzie posiadała więcej funkcji. Została też sprawdzona w prawdziwym działaniu przez ponad stu klientów, więc śmiało mogę powiedzieć, że działa. Z drugiej strony, w backlogu mamy listę liczącą 100 poprawek, większość z nich pochodzi od klientów, z którymi współpracujemy bardzo blisko.
W jaki sposób chcesz zdobyć nowe rynki? Nie masz dużego doświadczenia w tej kwestii, choć zapotrzebowanie na produkt jest spore.
Każdy mówi, że jest po to, by zdobyć ten rynek, by to miejsce stało się lepszym miejscem. To jedno z tych zdań, których staramy się unikać, ponieważ każdy je wymawia. Moim zdaniem to tylko słowa. Myślę, że jesteśmy bardziej realistyczni, nie chcemy być kolejnym Facebookiem czy Snapchatem. Chcemy być niezawodnym, solidnym oprogramowaniem dla przedsiębiorstw, z którego korzystają prawdziwi klienci, traderzy. Nie zamierzamy zmienić całej branży giełdowej, prawdziwi traderzy korzystają z AlgoTrader i ułatwia im to życie. Pod względem pieniędzy to największy rynek na świecie. Za kilka lat może być jeszcze większy ze względu na blockchain. Myślę, że niebawem zmniejszą się różnice między kryptowalutami, a tradycyjnymi walutami. Nadchodzi nowa era, a naszym zadaniem jest dostarczyć system transakcyjny dla wszystkich.
Dość realistycznie podchodzisz do tego biznesu.
Ponieważ to mój szósty startup. Nie jestem świeżym absolwentem, który chce stworzyć drugiego Facebooka. Widziałem już, co działa, a co nie. Potrafię ocenić, czy coś ma szansę na rynku, a co nie. Tak że można powiedzieć, że jestem realistą.
Czego nauczyłeś się tworząc sześć startupów?
Tego, że nie chodzi o oryginalny pomysł na biznes, ale o jego egzekucję, o właściwych ludzi we właściwym procesie. To o wiele ważniejsze niż pomysł. Ważne też, żebyś był gotowy na zmiany, gdy zobaczysz, że jest taka potrzeba. Warto też jak najwcześniej skupić się na rynku, żeby być blisko niego. Widziałem już wiele ciekawych produktów, z których nikt nie chciał korzystać.
Jakie masz podejście do ludzi? W jaki sposób opisałbyś siebie jako członka zespołu?
Jestem energetyczną i kreatywną osobą. Lubię też dyskutować o technicznych sprawach. Bardzo często członkowie zespołu przychodzą do mnie z problemami natury technicznej, ponieważ najdłużej pracuję nad AlgoTraderem. Myślę, że w startupie najważniejsza jest technologia i trzeba to zrozumieć, nawet jeśli jest się managerem. Bardzo dużo pracuję, ale wymagam też sporo od innych. Pracując nad AlgoTraderem musisz spodziewać się, że będzie sporo się działo, nigdy nie będzie nudno. Jako zespół podejmujemy decyzję, co warto zrobić w projekcie. Często prowadzimy warsztaty, podczas których definiujemy nasze następne kroki. Także będąc developerem masz realny wpływ na kształt tego, nad czym będziemy pracować.
Jakie masz spostrzeżenia dot. work-life balance?
Mamy dwa typy ludzi w firmie: jeden jest taki jak ja, nie zna pojęcia work-life balance, ponieważ większość czasu spędza właśnie na pracy, nawet podczas weekendów. Drugi typ: to osoby pracujące osiem godzin dziennie. Mamy elastyczny czas pracy, tak że każdy może przyjść o dowolnej godzinie. Z drugiej strony, nie wierzę w zespoły pracujące 10, 12 czy 15 godzin dziennie, nie wierzę, że to produktywna praca. Ja też co prawda pracuję bardzo dużo, ale staram się jeszcze efektywniej wykorzystywać swój czasu.
Teraz mieszkasz w Szwajcarii, ale przyjechałeś do Polski odwiedzić zespół.
Odwiedzam teraz trzy oddziały: w Polsce, Nowym Jorku, budujemy także osobny zespół QA w Kijowie. Otwieramy także zespół sprzedażowy w Singapurze, tak że można powiedzieć, że sporo podróżuję. Często występuję także na konferencjach o kryptowalutach. Staram się przyjeżdżać do Polski przynajmniej raz na trzy miesiące.
Jaka jest przyszłość AlgoTradera? Jak firma będzie wyglądać za kilka lat?
Widzę ogromny potencjał w rynku, nad którym pracujemy. Istnieje ponad 13 tys. funduszy hedgingowych, tak jak i profesjonalnych traderów. Mamy ponad stu klientów, tak że łatwo zauważyć, że mamy spore miejsce do rozwoju. Do końca roku chcemy zwiększyć zespół do 40-45 osób, a w ciągu najbliższych dwóch – do 100 osób. Otworzymy także kolejne oddziały na całym świecie. Zrobimy wszystko, by zdobyć kolejnych klientów, by dowieźć dla nich kolejne transakcje i wprowadzić jeszcze więcej funkcji ułatwiających im pracę. Sprawimy, że AlgoTrader będzie łatwiejszy w konfiguracji, szybszy, będzie obsługiwał więcej języków programowania, takich jak Python czy C#. Ambitnie podchodzimy do naszego produktu, dlatego jeszcze nieraz usłyszycie o nas.
AlgoTrader wraz z Ciklum organizują wydarzenie, na które serdecznie zapraszamy! Ciklum Java Meetup #2 odbędzie się 21.03.2019 we Wrocławiu.