Doświadczenia z pracy z GIPHY. Wywiad z Dmitrym Voitekh i Sergiim Kushch
Jak to jest pracować z GIPHY, jedną z wiodących wyszukiwarek GIF-ów na świecie? Proxet, firma zajmująca się tworzeniem oprogramowania, od pięciu lat współpracuje z GIPHY, budując integracje w bezpośrednim kontakcie z klientami i przekształcając architekturę systemu. Dwóch inżynierów z Proxet dzieli się swoim doświadczeniem z pracy z GIPHY – opowiedzą oni również o typach kandydatów, których poszukują.
Spis treści
Czy możecie nam trochę opowiedzieć o swoich rolach w Proxet?
Dmitry: Dołączyłem do Proxet jako inżynier uczenia maszynowego w 2016 roku i pracowałem nad różnorodnymi projektami – od internetowych platform sprzedażowych po optymalizację nadzoru powietrznego. Jeden z naszych klientów pracował z nadzorem lotniczym w podczerwieni, wykrywając potencjalne wycieki, a naszym zadaniem była pomoc w optymalizacji logistyki i tras lotniczych poprzez rozwiązanie uogólnionego problemu komiwojażera z różnorodnymi ograniczeniami – paliwem, czasem, lotniskami itp.
Jako inżynier uczenia maszynowego czasami odgrywam również rolę doradczą, gdy Proxet przyjmuje nowego klienta, i oferuję to, co wiem – mianowicie pomagam ludziom zrozumieć, co możemy zrobić i co może być zrobione. To także wielka szansa na poszerzenie naszej wiedzy.
Sergii: Jestem inżynierem na pełnym etacie i pracuję nad projektem GIPHY od ponad czterech lat – w zasadzie pracuję nad GIPHY, odkąd dołączyłem do Proxet. Do moich obowiązków należy opracowywanie nowych funkcjonalności, analiza i wsparcie systemu oraz pisanie testów.
Oprócz pracy nad projektem GIPHY, biorę również udział w procesach przeprowadzania rozmów kwalifikacyjnych w Proxet, aby pomóc w pozyskiwaniu najlepszych talentów.
Jak to jest pracować w Proxet?
Sergii: Proxet zapewnia wsparcie, którego potrzebujemy, abyśmy mogli skupić się na naszej pracy – księgowości, raportach itd. Inną rzeczą, którą lubię, jest urlop proporcjonalny – im dłużej pracujesz, tym więcej masz dni wolnych. Nigdy wcześniej nie spotkałem się z czymś takim w innych firmach. Proxet dba o to, aby wszyscy byli wypoczęci i mogli skupić się na swojej pracy.
Dmitry: Zgadzam się z Sergiim. Podczas pandemii COVID, a teraz w trakcie wojny na Ukrainie, Proxet zadbał o to, by wszyscy byli bezpieczni i mieli wszystko, czego potrzebują. Zrobili, co mogli, żeby utrzymać nas przy zdrowych zmysłach. Zarząd rozumie, czego potrzebujemy i co jest potrzebne do niezawodnej pracy.
Jeśli chodzi o mnie, to także lubię pracę w zespole badawczo-rozwojowym, gdzie zawsze są szanse na poszukiwania, wypróbowanie nowych metod i wdrożenie nowych pomysłów. Zarząd również kontaktuje się z nami, gdy tylko pojawia się nowy projekt i potrzebuje naszej opinii. Tego rodzaju rola doradcza pomaga również poszerzyć naszą wiedzę fachową.
Sergii: To też zawsze jest interesujące. Proxet zawsze podejmuje ciekawe projekty, a deweloperzy nigdy się nie nudzą – nie ma żadnych przyziemnych zadań, zawsze coś nowego, coś wymagającego, projekty, które mogą mieć na coś wpływ.
Dmitry: Słuszna uwaga. Nasz dyrektor generalny Vlad zawsze jest zainteresowany nowymi domenami, takimi jak sztuczna inteligencja i łańcuch bloków, oraz zawsze fascynują go nowe, nieszablonowe projekty.
A czym jest GIPHY?
Dmitry: GIPHY to jeden z największych dostawców animowanych treści na świecie. GIF-y, naklejki, krótkie filmy… tego typu rzeczy. Dla wielu ludzi jest to obecnie forma komunikacji. GIPHY jest najbardziej znany z integracji z aplikacjami do przesyłania wiadomości, takimi jak Telegram, Instagram, Viber, Slack itp. W rzeczywistości te aplikacje stanowią większość naszego ruchu.
Przy okazji, wymawia się „gi·fee”. Z twardym G.
Opowiedzcie, proszę o swojej pracy w zespole klienta Proxet-GIPHY.
Dmitry: Współpracowaliśmy z GIPHY przez ostatnie pięć lat i pracowaliśmy nad rozwojem różnych części platformy, w tym rozwoju mobilnego i frontendowego. Pracuję z zespołem uczenia maszynowego. Duża część tego, co robię obecnie, obejmuje poprawę jakości wyszukiwarki i systemu rekomendującego; część mojej pracy polega również na uzyskaniu znaczących spostrzeżeń na podstawie danych dotyczących zaangażowania, które otrzymujemy od naszych użytkowników. W skrócie, nasze algorytmy i modele ML określają GIF, który otrzymujesz po wpisaniu słowa kluczowego.
Od wielu lat pracujemy nad wieloma fajnymi funkcjami. Niektóre z nich są naszymi własnymi inicjatywami, a inne są wynikiem współpracy z różnymi zespołami GIPHY.
Jedną z naszych najnowszych innowacji dla GIPHY jest taksonomia – czyli zrozumienie tonu i intencji kryjących się za wyszukiwaniem. Korzystając z uczenia maszynowego, jesteśmy w stanie rozpoznać ton żądań użytkowników – na przykład, czy szukają obraźliwych treści, czy treści NSFW.
Taksonomia pomogła nam również skategoryzować nasze zapytania, co z kolei jest ważne dla celów reklamowych. Możliwość zrozumienia, do którego obszaru należy dane zapytanie, umożliwia grupowanie zasobów i wyszukiwanie w grupach w celu przeprowadzenia analizy danych w grupach zorganizowanych.
Sergii: Jeśli chodzi o mnie, pomogliśmy opracować wiele rozszerzeń i narzędzi integracyjnych dla GIPHY. Mój zespół jest odpowiedzialny za publiczny interfejs API GIPHY, aby osoby trzecie mogły uzyskać dostęp do usług GIPHY. Zapewniamy narzędzia integracyjne dla platform takich, jak Facebook, Instagram, Slack i Twitch, a także rozszerzenia dla różnych przeglądarek. Powiedziałbym, że nasz zespół w Proxet znacznie poprawił architekturę systemu na przestrzeni lat.
Moje codzienne zadania obejmują opracowanie nowych punktów końcowych, optymalizację bieżących funkcji i pisanie testów. Teraz, wraz z zespołem, przenosimy część legacy code na nowe stosy.
Czy możecie powiedzieć coś więcej na temat ulepszeń w projekcie GIPHY na przestrzeni lat?
Dmitry: Myślę, że zarówno Sergii, jak i ja możemy się zgodzić, że znajdujemy się teraz w innym miejscu niż na początku. Oprócz taksonomii, w ubiegłym roku rozpoczęliśmy również prace nad analizą trendów, co ostatecznie doprowadziło do stworzenia nowej usługi Trending Search. Na przykład jesteśmy teraz w stanie zidentyfikować popularne trendy w ciągu ostatniej godziny, co z kolei pozwala nam wygenerować konkretny zbiór najnowszych wiadomości wewnątrz GIPHY.
Kolejną istotną zmianą jest system rekomendacji. Pracujemy nad nim od początku – najpierw był to prosty system, który mógł tylko dopasować słowa kluczowe zawarte w metadanych i wygenerować na ich podstawie rekomendacje (podobnie jak w przypadku kanału YouTube Related Feed). Obecnie nieustannie dodajemy nowe sygnały do modelowania szkoleń i eksperymentowania z nowymi architekturami w celu poprawy wskaźników, które są ważne dla produktu.
Pomagamy również twórcom treści znaleźć ich odbiorców, wprowadzając nowe funkcje skierowane na bezpośredni kontakt z klientem. Twórcy często zapominają dodać tagów i innych metadanych podczas przesyłania plików GIF, co ma ogromny wpływ na ranking wyszukiwania. Aby rozwiązać ten problem, opracowaliśmy komputerowy model wizyjny, który przewiduje odpowiednie tagi dla GIF. Automatyczne tagowanie pozwoli GIF na uzyskanie obiecujących zapytań o dużym natężeniu ruchu.
Sergii: Długa droga za nami. Proxet zdecydowanie poprawił stabilność systemu na przestrzeni lat. Jeśli chodzi o nasz zespół, w ciągu ostatnich lat znacząco zmodernizowaliśmy architekturę aplikacji. Określiliśmy strukturę, która pozwala nam na dodanie nowej funkcjonalności w krótkim czasie, wprowadziliśmy dodatkowe rodzaje testów, ponieważ w systemie początkowo mieliśmy tylko testy integracyjne, a w końcu zwiększyliśmy zakres testów o około 40 procent.
Początkowo projekt był realizowany w PHP 5. W ciągu ostatnich czterech lat przenieśliśmy się do PHP 7. Teraz jesteśmy na PHP 8 – zawsze nadążamy za najnowszymi trendami i staramy się korzystać z najnowszej technologii.
Czy podczas pracy nad projektem GIPHY mieliście jakieś większe wyzwania?
Dmitry: Przez lata praktycznie odbudowaliśmy architekturę. Do 2019 roku mieliśmy obszerną, półmonolityczną platformę, na której hostowaliśmy wszystkie nasze algorytmy i modele. Ale potem przemyśleliśmy i przeprojektowaliśmy wszystko zgodnie z podejściem mikroserwisowym. Wykonaliśmy wygodne wdrożenia i monitorowanie wszystkiego stało się o wiele łatwiejsze.
Każdego roku platforma wymaga coraz większej kreatywności, a mianowicie głębszego i bardziej złożonego podejścia, aby nadal ulepszać nasze doświadczenie użytkownika.
Sergii: Praca nad tak głośnym projektem z pewnością wiąże się z wyjątkowymi wyzwaniami, a projektu nie można nazwać rutynowym. Dziesiątki tysięcy próśb na minutę zmuszają wszystkich do spojrzenia na problem z różnych perspektyw. Mówiąc prościej, zawsze oczekujemy nieoczekiwanego i odpowiednio reagujemy.
Czy możecie opisać, jak to jest pracować z takim klientem, jak GIPHY?
Sergii: Pracujemy w bardzo przyjaznej atmosferze. GIPHY dokłada starań, aby wszyscy się znali, a czasami po prostu będziemy mieli rozmowę telefoniczną i pogawędkę – porozmawiamy o takich rzeczach jak hobby, kuchnia, a nawet wybór kolorów ścian dla Twojego domu.
Kiedy wraz z zespołem odwiedziliśmy ich biuro w Nowym Jorku, byliśmy zdumieni formatem zgromadzeń. Podczas zgromadzeń osoba mówiąca odczuwa silne wsparcie zespołu i ogólnie mówiąc firma sprawia, że każdy czuje się ważny i wyjątkowy.
Zawsze możesz polegać na swoich kolegach z pracy, którzy służą radą i wsparciem. Świadomość tego, w czym jesteś dobry, może naprawdę zwiększyć twoją pewność siebie, a praca z GIPHY pomaga Ci to zrozumieć. Nie chodzi tylko o rozwój zawodowy, ale także osobisty.
To było niezwykłe doświadczenie i okazja, aby pracować w Proxet i mieć dostęp do tych niesamowitych, wysokiej klasy, nowatorskich firm technologicznych.