Čech Adam Surák tvoří aplikaci, kterou používají nejlepší americké startupy
Mezi startupy dnes letí všemožné technologie, které výrazně snižují loadtime, velikost načítaných souborů nebo třeba zvyšují rapidně rychlost vyhledávání. Právě s posledním problémem pomáhá už bezmála půl roku Adam Surák, který momentálně pracuje jako DevOps Engineer v Algolia. Podělil se s námi o několik zákulisních informací, které ho dovedly k práci pro klienty jako ProductHunt, CrunchBase nebo LiveStream.
Ahoj Adame, nejsem si jist, jestli tě bude hodně čtenářů znát, takže začneme jednoduše. Mohl by jsi se ve zkratce představit – říct něco o sobě, svojí práci a o tom, jak ses dostal k tomu co děláš?
Ahoj, to bych ani nečekal, že mě někdo bude znát! Web jsem objevil na základní škole, k jejímu konci pak programování a infrastrukturu. A na pomezí programování a infrastruktury jsem už zůstal. V posledním roce studia VŠ jsem vyrazil na zkušenou do Finska a už se nikdy nevrátil. Ve Finsku jsem dva roky učil sítě a pracoval na projektech pro Intel a Ericsson v oblasti, které se dnes hypově říká sítě 5G. A když mi akademická sféra přestala vonět, hledal jsem další výzvu. Momentálně mám na starosti kompletní infrastrukturu a její dostupnost.
Aktuálně pracuješ pro Algolia v Paříži. Ozvali se ti přímo sami nebo ses na svojí pozici přihlásil?
Přihlásil jsem se a měl jsem štěstí. Úplně náhodou jsem našel otevřenou pozici, která mi naprosto seděla, na páté straně výsledků na Googlu. Vlezl jsem na stránky a zkusil live chat. Tam jsme prohodili pár vět a za dva dny jsme se potkali v Paříži, týden na to jsem měl nabídku, kterou jsem přijal. Nechtěli mě přijmout hned, ale září mi naprosto vyhovovalo. Jak jsem se dozvěděl týden zpět, nakonec i září bylo hodně napřed oproti plánu, ale padli jsme si do oka od prvního okamžiku, takže nebylo co řešit.
Jak by jsi v jedné větě popsal to, co Algolia dělá a jaký může mít například pro startupy i zaběhlé firmy přínos?
Algolia ve zkratce vyhledává již při psaní a poskytuje relevantní výsledky v reálném čase. To byla ta jedna věta :) A teď trochu podrobněji. Na co se hlavně zaměřujeme je vyhledávání na základě neúplného dotazu. Typickým příkladem jsou eshopy, databáze apod. Návštěvník začne psát co hledá a web se mu snaží co nejrychleji vrátit co nejrelevantnější výsledek. V malém měřítku a s jistou mírou magie se to řeší fulltext indexy v SQL databázi, ve větším pak ElasticSearch, Solr apod. SQL databáze s fulltext vyhledáváním umírá velice rychle a relevantnost výsledků je pochybná.
ES a Solr jsou na tom lépe, ale neúplná slova jim moc nevoní. Když se k tomu přidá požadavek na podporu překlepů, SQL je ze hry úplně. Ovšem lidé dělají překlepy nebo hledají věci, které v databázi neexistují. V takovém případě většinou dostanou “Nic nebylo nalezeno”. Tohle vše se snažíme odstranit. Algolia je navíc software jako služba (SaaS), takže je vše hostováno a přístupno skrze API. Žádné restartování zaseklé Java aplikace.
Mezi vaše klienty se zařadily i profláklé projekty jako ProductHunt, LiveStream nebo CrunchBase. Viděl jsi u nich ještě před integrací nějakou slabinu, která byla díky Algolii vyškrtnutá?
Rychlost, relevance, cena za provoz. Výsledky vraceli velmi pomalu, protože jejich existující řešení neškálovala a byla neoptimální. Relevance nebyla nic moc, protože většina programátorů není zrovna odborníky na vyhledávání. A nakonec velmi praktický problém byla cena za vývoj, provoz a údržbu jejich vlastního řešení – to pak zabíjí všechno. ProductHunt řešil ještě jeden problém, a to vyhledávání v Indii, Austrálii a obou pobřežích USA, kde mají mnoho uživatelů. S tím jsme jim taky pomohli a jejich vyhledávání transparentně distribuovali blíže k uživatelům. Jejich páteřní infrastruktura ovšem zůstala na původním místě.
Dokážeš zmínit, alespoň orientačně, na jaká jste se s Algolií dostali čísla z pohledu revenues? Kolik máte zhruba platících zákazníků a jakým tempem rostete?
Revenue komentovat nemůžu, ale máme přes 500 platících zákazníků, rosteme 20% z měsíce na měsíc, servery máme na 12 místech po světě (chystáme 13.) a měsíčně zpracujeme přes 2 miliardy operací. Co se týká infrastruktury, tak březen 2015 je 3x září 2014. Z toho už se dá něco dopočítat.
Držíš vlastně ve firmě i nějaký podíl?
Příslib budoucího podílu tady je, ale hlavně mě to baví a věřím tomu, že to, co děláme dává smysl. Pro peníze jsem do toho rozhodně nešel. To jsem mohl vzít podstatně lépe placenou, méně stresovou práci s poloviční pracovní dobou někde jinde. Navíc díky mé profesní deformaci trpím, když hledám něco na webu, kde je vyhledávání implementované tak, aby mě přinutilo jít jinam. Takže se to snažím změnit :)
Jak už bylo zmíněno, momentálně pracuješ v pařížské kanceláři. Algolia má ale základnu i v San Franciscu – plánoval jsi někdy přesun tam nebo chceš raději zůstat v Evropě?
V San Franciscu jsem popravdě nikdy nebyl. Letos se tam určitě vypravím, ale vzhledem k tomu, že nemám rád horko, moc mě to tam neláká. Pravdou je, že s rostoucím týmem inženýrů v San Franciscu se tam nutně budu muset na nějakou dobu vypravit. Ovšem New York, to bych šel skoro hned. Kancelář tam zatím nemáme, ale to je spíše otázka času. Evropa má pro mě pořád něco do sebe a Paříž mě učarovala. Navíc to není daleko zpátky do Česka.
Vidíš mezi americkým a evropským trhem zásadní rozdíly mezi samotnými startupy pro které integrujete a mezi jejich zákazníky? Nebo ti to přijde skoro totožné?
Americké startupy vytvářejí zapálenou komunitu po celém světě a zákazníci jim přicházejí velmi rychle. V tom jsou rozhodně skvělé. Z technologického hlediska je to remíza, až na pružnost a vysokou dostupnost. Dostupnost v Evropě řeší málokdo a 99% se jeví jako přijatelné. Mezi americkými startupy je běžné používat Amazon Web Services a podobné platformy. Jakmile jim roste provoz, škálují s ním. Když potřebují něco zásadního otestovat, vytvoří celé prostředí znovu, za hodinu ho vypnou a zaplatí jen za to co použili. Nasazení do více zón dostupnosti je pak otázka jednoho parametru.
Většina firem dnes řeší nedostatek developerů. Věříš, že je to chyba toho, že se nechtějí upisovat na full-time a raději jdou cestou freelancingu a nebo jich je opravdu takový nedostatek a nabídka nestíhá pokrývat poptávku? Co podle tebe nesmí developerovi v této době chybět?
Developerů je hodně, ale už je podstatně méně takových, se kterými chtějí druzí pracovat a ne každý skvělý freelancer je týmový hráč – možná proto je taky freelance ;) (no offense). Startupový developer by měl mít rozhodně technologický přehled (Hacker News jako homepage je dobrý signál), neomezovat se na jednu specifickou technologii a už vůbec ne na jeden specifický framework, být připraven, že na mnoho dotazů nenajde odpověď na StackOverflow, zvládat algoritmy (jejich časové a prostorové složitosti), plynule mluvit a psát anglicky a ve finále být schopen dalšímu člověku vysvětlit jak program funguje. S takovým developerem je pak radost pracovat.