FREE STUDY: Increase your e-commerce sales by 30%. Learn how in our exclusive study. Get Our E-book

Linguistics Search Engineer (Java+Ruby)

Luigi's Blog | January 5, 2022

Vyhľadávanie je v nemalej miere o pochopení prirodzeného jazyka, jeho nuáns a odtieňov. V Luigi’s Boxe to vieme a v rôznej úrovni kvality podporujeme hlavné svetové jazyky. Do tímu hľadáme človeka, ktorý sa bude naplno venovať rozvoju jazykovej podpory a postupne zvyšovať úroveň kvality pochopenia jednotlivých jazykov.

Dnes v tíme takéhoto človeka máme, a hľadáme mu parťáka alebo parťáčku, aby sme sa hýbali rýchlejšie. Počas posledných rokov sme sa čo-to o rozvoji jazykovej podpory naučili. Ak ešte nevieš, tak Luigi’s Box používa pre keyword-based search na pozadí Elastic Search ako fulltextový engine. Elastic Search podporuje množstvo jazykov, no ešte sme nenarazili na jazyk, pri ktorom by sme neboli z built-in podpory sklamaní. Vo výsledku tak väčšinou končíme tým, že vytvárame vlastný jazykovo špecifický analyzátor ako plugin do Elastic Searchu. Tie sú napísané v Jave a preto hľadáme človeka, ktorý vie v Jave programovať. Detaily tvorby pluginov ťa naučíme, ale očakávame, že máš aspoň základy Javy.

O vývoji jazykovej podpory ti vieme povedať asi toto:

  • Nie je to žiadna rýchlovka, celý proces trvá niekoľko týždňov, až mesiacov pre jeden jazyk.
  • Sme systematickí, máme zdieľané testy vyhľadávania pre všetky jazyky a zároveň samostatnú sadu testov pre každý jazyk. Pre predstavu, bavíme sa o tisíckach testov.
  • Na to, aby si mohol tvoriť jazykovú podporu potrebuješ daný jazyk naštudovať. Nepotrebuješ sa v ňom naučiť rozprávať, ale budeš sa potrebovať naučiť jeho základy aspoň na úrovni gramatiky. Pre každý jazyk zabezpečíme native speakera na konzultácie.
  • Významná časť práce je hrabanie sa v reportoch z offline testov, analýza výsledkov, hľadanie riešenia, konzultácie s native speakerom.
  • Na jeden jazyk môže kľudne vzniknúť viacero Java pluginov.
  • Niektoré časti majú presah aj do nášho ruby kódu mimo Elastic Searchu, napríklad POS tagging.
  • Všetok kód ohľadom spracovania jazyka je veľmi citlivý na performance a pamäť. Nemôžeme si dovoliť žiadny memory leak alebo neefektívnosť. V profileri budeš ako doma.

Čo čakáme od teba

  • Ak si lingvista programujúci high-performance kód v Jave a Ruby tak si náš človek. 🤣 🦄
  • Späť do reality: očakávame, že hovoríš nejakým cudzím jazykom, a je jedno akým.
  • Vieš programovať v Jave a ideálne aj v Ruby (ak nie, Ruby ťa naučíme).
  • Systematickosť a precíznosť.

Čo môžeš čakať od nás

  • Skúsený tím systematicky pracujúcich ľudí, ktorí o vyhľadávaní vedia viac ako si mysliš, že sa dá vedieť.
  • Mentoring a ochotu pomôcť.
  • Testy a kultúru písania testov. Nájdeš u nás tisíce testov, ktoré bežia po každom commite na CI.
  • Deploy robíme podľa potreby niekoľkokrát denne.
  • Zaujímavú škálu. Počty requestov meriame v tisíckach requestoch za sekundu.
  • Flexibilnú pracovnú dobu, ale očakávame výrazný prekryv na úrovni 9-17. Nehľadáme vlka samotára, ktorý bude robiť od 9 večera do 6 rána, ale ak budeš počas dňa potrebovať odbehnúť na 2 hodiny do obchodu, alebo po deti do školy, nech sa páči.

Ako sa prihlásiť

Ak by si chcel/a zistiť viac o tom, ako by sa ti u nás mohlo pracovať, napíš nám na career@luigisbox.com.