Sarah Dayan z Algolii o tym, co wyróżnia starszego inżyniera

Opublikowany: 2022-08-19

Chociaż dobre umiejętności kodowania są zawsze doceniane, bycie personelem i inżynierem wymaga znacznie więcej niż tylko umiejętności technicznych. Co jest potrzebne, aby się tam dostać, a co ważniejsze, gdzie możesz mieć największy wpływ na swoją organizację?

Kiedy osiągniesz wyższy poziom na ścieżce inżynierskiej, oczekuje się, że będziesz optymalny w swoim twardym zestawie umiejętności. Jesteś autonomiczny, Twój kod jest nieskazitelny i doskonale rozumiesz tworzenie i dostarczanie oprogramowania. Ale wejście do personelu plus role to zupełnie inna bestia. Istnieje zarządzanie projektami, mentoring i nauczanie, podejmowanie decyzji, budowanie relacji, a wartość, którą wnosisz do firmy, nie jest już mierzona jakością linijek kodu, ale raczej rozwojem organizacji inżynierskiej.

Dzisiejszy gość właśnie przez to przeszedł. Sarah Dayan jest inżynierem personelu w Algolia, platformie „Search-as-a-Service”, która pomaga programistom w budowaniu funkcji indeksowania i wyszukiwania na ich własnych platformach za pomocą interfejsu API, oraz prowadzi dwa podcasty techniczne: Developer Experience i Entre Devs. Tworzy biblioteki front-endowe, co idealnie do niej pasuje, biorąc pod uwagę jej życiową pasję do doświadczenia użytkownika, projektowania i budowania rzeczy. W rzeczywistości Sarah ma obsesję na punkcie tworzenia stron internetowych, odkąd jej rodzice zainstalowali szerokopasmowy Internet w jej piwnicy. To była miłość od pierwszego kliknięcia. Swoje pierwsze forum phpBB założyła w wieku 15 lat, niedługo potem napisała swoją pierwszą stronę HTML i od tego czasu nie przestała tworzyć rzeczy.

Pomimo braku formalnego wykształcenia inżynierskiego, Sarah dostała pracę jako programista u francuskiego konsultanta Grand Manitou. Cztery lata temu, w 2018 roku, dostała pracę w Algolii jako inżynier oprogramowania. Pilnie wspinała się po szczeblach kariery, stając się w końcu indywidualną współpracowniczką inżyniera personelu. I nagle wszystko, na czym jej zależało przez ostatnie kilka lat – zostać lepszym inżynierem, pisać lepszy kod – ustąpiło miejsca nowym wyzwaniom. Jak miałaby zapewnić firmie właściwy kierunek techniczny? Odblokować wąskie gardła? Mentorować i pomagać innym inżynierom, tak jak inni dla niej?

W tym odcinku usiedliśmy z Sarą, aby porozmawiać o wielu niuansach, sprawności i oczekiwaniach personelu i roli inżyniera.

Oto niektóre z naszych ulubionych wniosków z rozmowy:

  • Jeśli nie chcesz zostać w tyle, ucz się dalej. Omów pomysły i uzyskaj informacje zwrotne od innych inżynierów o różnych perspektywach i pochodzeniu.
  • Jako inżynier personelu dużo energii poświęcasz na współpracę między zespołami w zakresie wizji i strategii. Gdzie będzie firma za pięć lat? Jak zamierzasz się tam dostać?
  • Posiadanie inżynierów personelu jako mentorów pozwala większej liczbie młodszych osób uzyskać jasność co do kroków, które należy podjąć, aby osiągnąć te role, a także przyspieszyć proces tworzenia liderów inżynieryjnych.
  • Wbrew powszechnemu przekonaniu inżynier sztabowy nie jest szybkim rozwiązaniem problemu strukturalnego. Przed przyjęciem nowej pracy zapytaj, czego się od ciebie oczekuje, aby uniknąć nieporozumień.
  • Inżynierowie personelu muszą rozumieć potrzeby firmy, aby mogli pomóc w osiągnięciu jej celów. Podczas wdrażania przeczytaj jak najwięcej dokumentacji i rozmawiaj z jak największą liczbą osób.

Jeśli podoba Ci się nasza dyskusja, sprawdź więcej odcinków naszego podcastu. Możesz śledzić na iTunes, Spotify, YouTube lub pobrać kanał RSS w wybranym odtwarzaczu. Poniżej znajduje się lekko zredagowany transkrypcja odcinka.


Nigdy nie przestawaj się uczyć

Brian Scanlan: Wielkie dzięki, Sarah, za przyłączenie się do nas dzisiaj w programie. Cieszę się, że mam okazję z tobą porozmawiać. Zanim porozmawiamy o Twojej roli i pracy w Algolii, chciałbym usłyszeć o Twojej dotychczasowej podróży. Jak zaczęła się Twoja podróż do miejsca, w którym jesteś dzisiaj?

Sarah Dayan: Cóż, witam, dziękuję za przyjęcie mnie. Cóż, to właściwie zabawna historia. Obecnie mam 32 lata, a szerokopasmowy i nieograniczony dostęp do Internetu dostaliśmy w domu, gdy miałam 15 lat. Zawsze interesowało mnie budowanie różnych rzeczy i kiedy pierwszy raz zobaczyłem strony internetowe, pomyślałem: „Muszę wiedzieć, jak to zrobić”. Jedno doprowadziło do drugiego i zbudowałem swoje pierwsze forum za pomocą phpBB. PHP było naprawdę duże i nadal jest duże, ale wtedy był to naprawdę język sieci.

„Zdecydowałem, że to nie moja sprawa, że ​​może powinienem robić to, co kocham. Wróciłem więc do tego, co kochałem – budowania stron internetowych”

W tamtych czasach kariera w technologii, zwłaszcza jako inżynier oprogramowania, nie była tak fajna i gorąca jak dzisiaj. Moi rodzice uznali, że powinnam zostać dziennikarką, ponieważ byłam dobra w językach i literaturze w szkole. I to była pierwsza rzecz, którą zrobiłem. Zrobiłem pierwszy rok z dziennikarstwa, który kompletnie mi się nie powiódł, a potem zdecydowałem, że to nie moja sprawa, że ​​może powinienem robić to, co kocham. Wróciłem więc do tego, co kochałem – budowania stron internetowych. Dostałem pierwszą pracę w agencji i spędziłem tam sześć lat. Wiele mnie nauczyło o pracy, o pracy z klientami, z ludźmi, którzy wiedzą, czego chcą i ludźmi, którzy nie wiedzą, czego chcą. Następnie przeniosłem się do świata startupów. Koduję od ponad 15 lat, ale zawodowo robię to od 12. I to właśnie doprowadziło mnie do mojej obecnej roli w Algolii. Jestem tam od czterech lat i liczę.

Brian: Super. Czy masz jakieś ciekawe lekcje, których nauczyłeś się na początku, a które utkwiły w tobie?

Sarah: Nie mam klasycznej ścieżki do technologii. Nie poszedłem do szkoły inżynierskiej, a jeśli tego nie zrobisz, możesz zrobić świetną karierę w branży technologicznej. Zdecydowanie możesz być samoukiem, możesz uczyć się od innych ludzi i nie musisz mieć dyplomu. Ale brak dyplomu nie jest wymówką, by się nie uczyć. Jest świetny wpis na blogu Sarah Drasner, menedżera ds. inżynierii w Google, na temat CSS-Tricks na ten temat. Nawet jeśli możesz zrobić karierę w technologii bez dyplomu, nie zwalnia Cię to z nauki i poszukiwania wiedzy.

„Nie otrzymywałem informacji zwrotnych, nie brałem udziału w rozmowach z innymi ludźmi: z innymi inżynierami, z innymi perspektywami, z innych środowisk. I tak zostałem w tyle”

Jedną z rzeczy, których faktycznie uczysz się w szkole, jest nauka uczenia się, a to naprawdę ważna umiejętność. Na początku mojej kariery, w agencji, o której mówiłem, przez długi czas byłem jedynym pracownikiem. Byłem sam. I miałem szefa, który też kodował, ale był trochę odsunięty od tego, co robiłem. I chociaż praca w pojedynkę może być wyzwalająca – masz dużo zaufania, dużo swobody – nie uczysz się tak szybko, ponieważ nie masz żadnych informacji zwrotnych ani innych perspektyw poza własną. A jeśli nawet nie uczysz się aktywnie, zostaniesz w tyle.

To jedna z rzeczy, które mi się przytrafiły. Nie otrzymywałem informacji zwrotnej, nie wdawałem się w rozmowy z innymi ludźmi: z innymi inżynierami, z innymi perspektywami, z innych środowisk. I tak zostałem w tyle. Polegałem na posiadanej wiedzy i nie miałem powodu, aby robić rzeczy inaczej, ponieważ to działało. To byłaby jedna z największych lekcji, jakie dostałem na początku mojej kariery. Zwłaszcza jeśli nie masz klasycznej podróży technologicznej, otaczanie się innymi ludźmi, którzy przynoszą ci opinie i ich perspektywy, jest nieocenione i wzmocni twoją karierę.

Brian: Myślę, że to świetna rada dla każdego, kto pełni rolę zawodową, ale wygląda na to, że naprawdę ci się udało. Czy brakuje ci czegoś o niepracowaniu z PHP w dzisiejszych czasach?

Sarah: Myślę, że PHP to świetny język. Wiele inspiracji PHP można znaleźć we współczesnym języku JavaScript. Już z nim nie pracuję, ponieważ JavaScript ewoluował do punktu, w którym możesz go używać wszędzie tam, gdzie chcesz używać PHP. Zwłaszcza jako inżynier ds. front-endu istnieje wiele zalet używania tego samego języka na froncie i zapleczu, na przykład wspólne udostępnianie. Ale myślę, że PHP to świetny język. Dostaje wiele kiepskich żartów i „Och, PHP nie żyje”, ale kiedy patrzysz na sukces czegoś takiego jak Laravel, wydaje mi się, że PHP jest dalekie od śmierci.

Kiedy dostałem się do PHP, framework, z którego korzystali poważni ludzie, nazywał się frameworkiem Zen. Właściwie wierzę, że Zen jest firmą stojącą za PHP, a przynajmniej ją odebrała. Nikt już nie używa frameworka Zen, przynajmniej nie do nowych projektów, ale wspaniale jest zobaczyć, gdzie jest teraz PHP. Wciąż kwitnie, ludzie lubią kodować w PHP i myślę, że to świetnie. To nie jest dla wszystkich, ale ty to robisz. Każdy może usiąść przy stole w języku, który lubi.

Wspinanie się po drabinie inżynierskiej

Brian: Obecnie jesteś inżynierem personelu w Algolii. Opowiedz mi trochę o tej roli i o tym, nad czym pracujesz, a przejdziemy do tego, kim jest inżynier personelu.

Sara: Oczywiście. Jestem inżynierem personelu i pracuję na froncie. Jestem w zespole o nazwie front-end experience, w skrócie FX, i pracujemy nad bibliotekami front-end dla Algolii. Algolia to wyszukiwarka, więc jest kompleksowa. Masz silnik i niektórych klientów API w wielu językach do wysyłania danych do wyszukiwania, ale masz również biblioteki front-end, ponieważ kto ma czas na zbudowanie dostępnego działającego pola wyszukiwania, listy trafień, listy doprecyzowania lub hierarchiczne menu?

Wszystkie te rzeczy są trudne do prawidłowego wdrożenia. Robimy to dla klientów i to jest zespół, nad którym pracuję. Jestem indywidualnym współpracownikiem (IC) i nie jestem na żadnej ścieżce przywództwa. Ale chodzi o to, że kiedy awansujesz na wyższe role jako IC, twoja rzeczywistość miesza się trochę z twoją rolą przywódczą. Nie mam żadnych raportów i nie zarządzam nikim, ale spędzam dużo czasu z moim menedżerem na tematach, które dotyczą bardziej wizji. Ale nadal koduję każdego dnia i jak wszyscy, wystawiam recenzje i otrzymuję recenzje. Więc nadal jest to rola IC. W Algolii możesz osiągnąć całkiem zaawansowany poziom i pozostać indywidualnym współpracownikiem, który codziennie zajmuje się kodowaniem.

„Cokolwiek powyżej seniora i zaczynasz wkładać dużo energii w strategię – jaka jest wizja, gdzie będzie produkt za pięć lat i jak odniesiemy sukces w tych sprawach?”

Brian: Jak myślisz, ile czasu spędzasz na wysyłce w porównaniu z całą resztą pracy? Dzielenie się kontekstem, praca nad strategią, tego typu rzeczy.

Sarah: Trudno to ocenić. Powiedziałbym 50/50. Są chwile, kiedy dużo koduję i włączam recenzje do kodowania, ponieważ zużywasz tę samą energię. Ale jest też dużo czasu na opracowywanie strategii, dużo spotkań, dużo dokumentów wizji, dużo myślenia, dużo rozmów w celu zebrania opinii, takich jak praca z PM, badaczami, projektantami… wszystko to jest częścią pracy . W Algolii masz kadrę kierowniczą, dyrektora i tak dalej. Wszystko powyżej seniora i zaczynasz wkładać dużo energii w strategię – jaka jest wizja, gdzie będzie produkt za pięć lat i jak odniesiemy sukces w tych sprawach? Jak możemy się upewnić, że jeśli nam się nie powiedzie, mamy plan tworzenia kopii zapasowych? Wszystko, co możesz pomyśleć, aby zastosować do projektu, na przykład kodowanie, gdy jesteś starszym inżynierem, stosujesz to do strategii produktu. Dużo pracujesz nad produktem i to jest jedna z rzeczy, które najbardziej lubię w pracy w startupie technologicznym.

Kiedy byłem w agencji, nie robiłeś żadnej strategii, nie mówiłeś, co myślisz, i niekoniecznie oczekiwano od ciebie udzielania rad. Zrobiłeś to, co ci kazano. Ale kiedy jesteś inżynierem w startupie, szczególnie na tych poziomach, Twój głos i wizja mają duże znaczenie. Tworzymy produkty dla inżynierów. I choć musimy bardzo uważać, żeby nie budować rzeczy dla siebie – mamy przekleństwo wiedzy, znamy produkt, wiemy jak go używać i znamy wszystkie zastrzeżenia – wciąż jesteśmy wyczuleni na to, na czym zależy inżynierom o tym, czego chcą i co uczyni ich życie łatwym lub trudnym. Tak więc kładzie się ogromny nacisk na produkt, na wprowadzanie pomysłów na stół, na ambitne pomysły, na upewnienie się, że zbudujesz najlepszą rzecz, która przetrwa.

„Po latach zastanawiania się, jak zostać lepszym inżynierem, będziesz potrzebować zmiany sposobu myślenia, aby zacząć myśleć o innych rzeczach. Jak mogę pomóc innym ludziom? Jak mogę odblokować sytuacje?”

Brian: Ile czasu spędzasz pracując z innymi pracownikami i głównymi inżynierami spoza Twojej organizacji lub zespołu? Czy w Twojej firmie jest aktywna społeczność? Czy we współpracy z tym wykonujesz dużo pracy? Czy w większości pracujesz samodzielnie w swoich grupach? A może pracujesz z podzbiorem innych starszych inżynierów personelu?

Sarah: Nie tak bardzo, jak bym chciała. W każdej organizacji im wyższe poziomy, tym mniej masz ludzi. Więc to nie jest tak, że jest tona IC pięć, IC sześć, personel i dyrektor. Zatrudniamy teraz wielu starszych ludzi, więc moja odpowiedź może być inna za sześć miesięcy. Spędziłem normalną ilość czasu na rozmowach z innymi pracownikami, a nawet głównymi inżynierami, ale to nie jest tak, że istnieje jakakolwiek społeczność lub cokolwiek oficjalnego tylko dlatego, że nie jest nas zbyt wielu. Teraz spędziłem dużo czasu na dyskusjach z seniorami i starszymi, ponieważ to część mojej roli.

Częścią mojej roli jest pomaganie ludziom na wyższym szczeblu rozwoju i awansu na poziom personelu. Jako starszy inżynier w wielu firmach, zwłaszcza wielkości Algolii, wiesz, co musisz zrobić, aby się tam dostać. To bardziej lista kontrolna. Potem sprawa staje się bardziej skomplikowana, ponieważ jest wiele rzeczy, które mogą zależeć od interpretacji, rzeczy, które możesz zrobić zupełnie inaczej niż inna osoba w oparciu o twoją osobowość. Ale chodzi o to, że kiedy osiągniesz najwyższy poziom, oczekujemy, że będziesz optymalny w swoim zestawie twardych umiejętności. Wiemy, że jesteś dobry, jesteś na pewnym poziomie technicznym i nie oczekujemy, że rozwiniesz się znacznie wyżej, ale zostaniesz poproszony o rozwijanie innych rodzajów umiejętności.

„Powinniśmy znaleźć to, w czym jesteś dobry, co lubisz robić, co pomoże ci błyszczeć i to pielęgnować. W grę wchodzi dużo mentoringu”

Po wielu latach zastanawiania się, jak zostać lepszym inżynierem, napisać lepszy kod, tworzyć lepsze recenzje lub mieć mniej komentarzy po otrzymaniu recenzji, będziesz potrzebować zmiany sposobu myślenia, aby zacząć myśleć o innych rzeczach. Jak mogę pomóc innym ludziom? Jak mogę odblokować sytuacje? Jak mogę stworzyć własne obciążenie? Niekoniecznie są to rzeczy, o których musisz pomyśleć przed osiągnięciem tych poziomów. Pomagam ludziom podejść do tego, zrozumieć, co mają na myśli i zrozumieć, jaką część swojej osobowości będą mogli wykorzystać, aby się tam dostać.

Niektórzy ludzie uwielbiają na przykład być na scenie i prowadzić rozmowy. A jeśli to jest coś, co im się podoba, to powinienem pomóc im w uzyskaniu lepszych zobowiązań konferencyjnych i napisać lepsze wezwanie do referatów. Ale jeśli to nie twoja sprawa, nie ma powodu, dla którego powinniśmy w to inwestować. Powinniśmy znaleźć to, w czym jesteś dobry, co lubisz robić, co pomoże ci błyszczeć i to pielęgnować. W grę wchodzi dużo mentoringu. To jedna z moich ulubionych części bycia na tym poziomie stażu.

Dla firmy posiadanie jednego personelu lub jednego starszego inżyniera nie jest zbyt interesujące – chcesz mieć 3, 5, 8, 16 osób. już tam pomagają ludziom, którzy są o jeden poziom niżej. Nie możesz oczekiwać, że kierownik ds. inżynierii zrobi to sam z całym zespołem. Kiedy inżynierowie pomagają innym inżynierom wykonać pracę, którą wykonali rok lub dwa lata wcześniej, mamy efekt mnożnikowy. I myślę, że to jest naprawdę ekscytujące dla ludzi, ponieważ uczą się od innych, od ludzi, którzy faktycznie przeszli przez ten proces w tej samej organizacji. Jest pewność, że jeśli podążą za tymi krokami, jeśli będą słuchać, to może zadziałać. Chcę uczyć się od głównych inżynierów, którzy pomogą mi zrozumieć, co muszę zrobić, aby się tam dostać.

Jest to szczególnie interesujące dla osoby nauczającej, ponieważ może przeanalizować to, co faktycznie zrobiła. Potem robi się rozmyty, a ty myślisz: „Tak, zrobiłem tylko trochę tego, trochę tamtego”. Nie. Co zrobiłeś? Jakie konkretne kroki podjąłeś? Na jakie rzeczy się zgodziłeś? Jakie są rzeczy, którym odmówiłeś? Myślę, że pomaga ci to wyjaśnić twoje pomysły, wyjaśnić twój proces i sprawi, że będziesz bardziej wydajny w następnych.

Personel wprowadzający plus inżynierowie

Brian: Wspomniałeś o włączeniu nowych pracowników i głównych inżynierów do organizacji, co może być dość trudne. Czy to jest coś, z czym masz już doświadczenie?

Sarah: Szczerze mówiąc, nie zrobiliśmy tego wiele. Mamy trzech lub czterech głównych inżynierów i nie wszyscy są w moim zespole. Doświadczenie, które mam, dotyczy głównie sprowadzania starszych inżynierów. Są rzeczy, które są wspólne dla wszystkich, a są też rzeczy, które mogą być interesujące dla głównych inżynierów, a ja wciąż mogę spróbować się temu zająć.

„Bardzo, bardzo starsza osoba może Ci pomóc w wielu rzeczach, ale nie naprawi problemów strukturalnych firmy ani zespołu”

Przejrzystość jest niezwykle ważna i oczywiście nie oczekujesz tego samego trzymania się za rękę, gdy zatrudniasz personel lub głównego inżyniera. Chcesz, żeby sami zaczynali. Przejrzystość nie polega na tym, by powiedzieć ci, czego się od ciebie oczekuje, o wszystkich zadaniach itp., ale raczej na tym, by dać ci poczucie swojej misji. Jaki jest twój cel tutaj? Co Ty tutaj robisz? Powiedziałbym, że zaczyna się to na poziomie rozmowy kwalifikacyjnej. Moim zaleceniem dla personelu lub głównego inżyniera dołączającego do firmy byłoby zapytać o to, ponieważ czasami ludzie próbują zatrudnić bardzo wysokie stanowiska, aby rozwiązać swoje problemy. Mówią: „Och, po prostu zatrudnijmy kogoś bardzo, bardzo starszego, ponieważ wie, czego my nie wiemy”. A to nieprawda. Bardzo, bardzo starsza osoba może Ci pomóc w wielu rzeczach, ale nie naprawi problemów strukturalnych firmy czy zespołu.

Z drugiej strony menedżer ds. inżynierii powinien się zastanawiać, dlaczego myślą, że potrzebuje tej osoby. Przez większość czasu nie zatrudniasz kogoś na tym poziomie za świetność kodowania. Jeśli masz starszego inżyniera w swoim zespole, będzie to IC 4 w Algolii. Są już doskonale zdolni do kodowania, a przynajmniej powinni. Personel lub główny inżynier ma doświadczenie w czymś, co chcesz zrobić, i możesz ich potrzebować, na przykład, gdy wiesz, że musisz osiągnąć skalę, której nikt w zespole wcześniej nie osiągnął. Może mógłbyś to rozgryźć, ale potrzebujesz akceleratora, a to właśnie zrobi bardzo starsza osoba w twoim zespole.

Zadawanie tych pytań z wyprzedzeniem jest dobrym sposobem na upewnienie się, że nie ma rozbieżności w stosunku do oczekiwań. Jeśli jesteś bardzo starszy i zostaniesz poproszony o kodowanie lub pracę na wyższym poziomie tylko dlatego, że wystąpiła niewspółosiowość, będziesz rozczarowany i prawdopodobnie odejdziesz. Nie chcesz spędzać dużo czasu na zatrudnianiu osoby na tym poziomie tylko po to, aby odeszła, ponieważ jest to niezwykle kosztowne.

Po tym oczekiwałbym, że ktoś na tym poziomie stażu będzie dużo czytał i dużo rozmawiał. To jest coś, czego zwykle nie robisz, gdy jesteś młodszym inżynierem. Przychodzisz do swojej organizacji, dostajesz pierwsze zadanie, które po prostu płynie – zaczynasz pracę, zaczynasz kodować i to właśnie powinieneś robić, bo to doprowadzi Cię do następnego kroku.

„Twoja rola polega na upewnieniu się, że dostarczony produkt będzie pasował i będzie się skalował. I nie możesz tego zrobić, jeśli nie porozmawiasz o tym z innymi osobami w firmie”

Ale kiedy jesteś na tych wyższych poziomach, ważne jest, abyś rozumiał, gdzie jesteś, co się dzieje, kto co robi. Musisz tworzyć relacje nie tylko z innymi inżynierami i starszymi osobami, ale także z większą liczbą młodych ludzi, menedżerów produktu, projektantów i badaczy. Musisz zrozumieć, w jaki sposób działa firma i jak możesz się do tego dopasować, co możesz poprawić. Jeśli istnieje jakakolwiek pisemna dokumentacja wewnętrzna, przeczytaj ją, a kiedy skończysz, przeczytaj ją ponownie.

Następnie zapytaj swojego kierownika ds. inżynierii, z kim powinieneś się spotkać. Za każdym razem, gdy rozmawiasz z nową osobą, zapytaj ją, z kim według nich byłoby dla ciebie interesujące. To doda ci skrzydeł, ponieważ stworzysz relacje i zrozumiesz, co się dzieje. Jakie są produkty? Jakie są obecne zmagania? Gdzie możesz pomóc? A jak Twój zespół i tworzone przez Ciebie produkty pasują do tego schematu? Ponieważ na tych poziomach, skupiając się na produkcie, nie chodzi już tylko o jakość kodu. Seniorzy z drużyny już się tym zajmują i robią to doskonale. Twoja rola polega na upewnieniu się, że dostarczony produkt będzie pasował i będzie się skalował. I nie możesz tego zrobić, jeśli nie omówisz tego z innymi osobami w firmie.

Nowe wyzwania

Brian: Dla słuchaczy, którzy nie wiedzą, Algolia to potężny hostowany interfejs API wyszukiwania. Wygląda na całkiem udaną firmę z zewnątrz, ale jestem pewien, że jest wiele wyzwań i rzeczy na głowie. Czy możesz dać nam wyobrażenie o niektórych z wielkich problemów, o których myślisz lub nad którymi pracujesz?

„Pomysł polega na tym, że bez względu na to, jaką ścieżkę wybierzesz, aby wyszukać te dane, uzyskać je i trafić na stronę, otrzymasz odpowiednie dane”

Sarah: Jak powiedziałeś, Algolia jest hostowanym interfejsem wyszukiwania. To największy interfejs API, jaki mamy, i jak na razie najbardziej udany, ale trochę się rozszerzyliśmy. Obecnie istnieje produkt o nazwie Algolia Recommend, który wykorzystuje ten sam zestaw danych, którego używasz do wyszukiwania, ale na podstawie danego produktu daje Ci rekomendacje.

Celem Algolii jest nie tylko wyszukiwanie, ale także wydobycie treści. Masz dużo treści, ale nie wszystkie są istotne w tym samym czasie dla tych samych osób. Chodzi o to, że bez względu na to, jaką ścieżkę wybierzesz, aby wyszukać te dane, uzyskać je i trafić na stronę, otrzymasz odpowiednie dane. To jest punkt Algolii. Są z tym wyzwania. Jesteśmy ekspertami od wyszukiwania, ale rekomendacje i aspekt uczenia maszynowego to znacznie nowsza technologia, więc uczymy się, korzystając z najnowszych rzeczy. Jest wiele do nauczenia się w porównaniu z wyszukiwaniem. To nie jest największe wyzwanie, ale nadal jest to wyzwanie, aby upewnić się, że możemy powtórzyć ten sam sukces, który odnieśliśmy w wyszukiwarce.

Są rzeczy, w których Algolia nie jest świetna. To wyszukiwarka, a nie baza danych. Będzie szybko, w końcu będzie spójny, ale nie masz gwarancji, że będziesz mieć wszystkie swoje dane, że Twoje dane są zawsze spójne lub że wszystkie Twoje dane będą tam. Jest to wybór projektu dotyczący wyszukiwarki, co bardzo różni się od bazy danych. Mając to na uwadze, wiele osób lubi używać Algolii jako bazy danych, ponieważ bardzo łatwo jest wysyłać dane do Algolii, jest tam i jest szybka. Może można się czegoś wokół tego nauczyć. Może mogłaby to być również baza danych, i nie mówię, że tak będzie, ale może mogłaby. Może jest coś jeszcze, co musimy zrozumieć i zbadać.

Istnieje wiele przypadków użycia, z którymi Algolia nie może pracować. Jednym z nich jest przypadek użycia rezerwacji. Jeśli chcesz zarezerwować Airbnb, kiedy go szukasz, jest to widoczne w wynikach, co oznacza, że ​​jest dostępne. Ale gdy tylko dotrzesz do strony, nie jest ona już dostępna, ponieważ replikujesz swoje dane z bazy danych do Algolii. Gdy zapiszesz coś w swojej bazie danych, wyślesz tę zmianę do Algolii w nieco innym formacie. A ponieważ jest to opóźnienie – nie jest to czas rzeczywisty – coś takiego jak przypadek użycia rezerwacji nie może działać. Kiedy masz do czynienia z Airbnbs, coś, co jest dostępne w tej chwili, może nie być dostępne w ciągu 30 sekund, ale nadal może pojawić się w Twojej wyszukiwarce, ponieważ po zapisaniu potrzebujesz może 10 sekund lub czegoś podobnego, aby to zostało rozpowszechnione Algolia, a może się nie udało i trzeba to powtórzyć. To są rzeczy na poziomie wyszukiwarki, o których myślimy. Czy jest to coś, co moglibyśmy kiedykolwiek wesprzeć? Czy to wykluczone? Jaki jest uzasadnienie biznesowe? Ponieważ napędza wiele rzeczy.

„Powinno być niewidoczne; powinien być płynny. To, że są to osobne API, nie jest Twoim problemem. To jest nasz problem do rozwiązania”

Teraz, jeśli chodzi o zespół front-endowy, wspomniałem o Algolii Recommend. Kiedy jesteś klientem, nie przejmujesz się tym, że istnieją różne produkty. Nie obchodzi cię, że masz Algolia Search z tymi funkcjami i Algolia Recommend z tymi podfunkcjami. Subskrybujesz Algolię i płacisz miesięczną lub roczną opłatę za zestaw funkcji, które według Ciebie dobrze ze sobą współpracują. Nie chcesz i nie musisz rozumieć sztucznych granic, które stworzyliśmy wewnętrznie między tym interfejsem API a interfejsami API danych.

Jest takie powiedzenie „nie wysyłaj schematu organizacyjnego” i myślę, że jest to dla nas jeden z kolejnych ważnych tematów. Jak możemy upewnić się, że na stronie front-end, kiedy używasz biblioteki front-end Algolia, nie musisz się zastanawiać, czy potrzebujesz tego czy tamtego? Że nie czujesz tych granic? Powinien być niewidoczny; powinien być płynny. To, że są to osobne API, nie jest Twoim problemem. To jest nasz problem do rozwiązania.

Stworzyliśmy biblioteki, które były naprawdę silnie powiązane z interfejsem API wyszukiwania, a teraz musimy rozszerzyć do nowszych interfejsów API, które mogą ze sobą współpracować, a czasami trzeba wykonać wywołanie jednego, a następnie wywołanie drugiego, aby uzyskać ostateczną odpowiedź. Wszystkie te rzeczy w tej chwili nie są tak płynne, jak byśmy chcieli. Jeśli chcesz połączyć te interfejsy API, nadal jest to trochę szorstkie. Jest to możliwe, ale musisz przeczytać samouczki, śledzić je, dokonać małych zmian tu i tam i napisać jakiś szablonowy kod. To nie jest zachwycające, to nie jest zabawne i to za dużo pracy. Jeśli mamy ci powiedzieć „korzystaj z tej biblioteki”, musi ona wykonywać pracę, której nie chcesz wykonywać. Nie ma uzasadnienia dla korzystania z biblioteki, jeśli prymitywy niższego poziomu są równie łatwe w użyciu, prawda?

Obecnie jednym z największych wyzwań jest podnoszenie wartości bibliotek. Robią już wiele rzeczy, których większość ludzi nie chce robić, ale w pewnym momencie, dla niektórych klientów, nie jest to tak płynne i przyjemne, jak kiedyś, gdy mieliśmy tylko wyszukiwanie. I to jest uczucie, którego szukamy. To uczucie: „Wow, to o wiele prostsze, niż myślałem, że będzie”.

Brian: Na koniec, gdzie nasi słuchacze mogą się udać, aby nadążyć za tobą?

Sarah: Możesz mnie znaleźć głównie na Twitterze, jestem frontstuff_io. Boleśnie zdaję sobie sprawę, że to najgorszy chwyt na Twitterze. Możesz również znaleźć mnie na sarahdayan.com i śledzić mnie na GitHub, jeśli chcesz; Czasami coś popełniam. Ale tak, jeśli chcesz porozmawiać, wierzę, że moje wiadomości są otwarte, więc wyślij mi cokolwiek.

Brian: Super. Sarah, bardzo dziękuję za przybycie do mnie dzisiaj.

Sarah: Dziękuję, że mnie masz. To było zabawne.

Kariera CTA - Inżynieria (poziomo)