Sarah Dayan din Algolia despre ceea ce diferențiază un inginer senior
Publicat: 2022-08-19Deși abilitățile bune de codificare sunt întotdeauna apreciate, a fi personal și inginer necesită mult mai mult decât priceperea ta tehnică. Ce este nevoie pentru a ajunge acolo și, mai important, unde poți avea cel mai mare impact asupra organizației tale?
Când ajungi la un nivel superior pe o pistă de inginerie, se așteaptă să fii optim în setul tău de abilități. Sunteți autonom, codul dvs. este impecabil și aveți o înțelegere profundă a software-ului de construire și livrare. Dar intrarea în personal plus roluri este o altă fiară cu totul. Există managementul proiectelor, mentorat și predare, luarea deciziilor, construirea relațiilor, iar valoarea pe care o aduci companiei nu mai este măsurată prin calitatea liniilor codului tău, ci mai degrabă prin conducerea organizației de inginerie înainte.
Oaspetele de azi a trecut prin asta. Sarah Dayan este inginer de personal la Algolia, o platformă „Search-as-a-Service” care îi ajută pe dezvoltatori să construiască indexuri și capabilități de căutare în propriile platforme printr-un API și gazda a două podcasturi tehnologice: Developer Experience și Entre Devs. Ea creează biblioteci front-end, un rol care i se potrivește perfect, având în vedere pasiunea ei de-a lungul vieții pentru experiența utilizatorului, design și construirea de lucruri. De fapt, Sarah a fost obsedată să creeze site-uri web încă de când părinții ei au instalat internetul în bandă largă în subsolul ei. A fost dragoste la primul clic. Ea a creat primul ei forum phpBB la 15 ani, a scris prima ei pagină HTML nu mult timp după aceea și nu s-a oprit să construiască lucruri de atunci.
În ciuda faptului că nu avea o educație formală în inginerie, Sarah a obținut un loc de muncă ca dezvoltator în consultantul francez Grand Manitou. Apoi, în urmă cu patru ani, în 2018, s-a angajat la Algolia ca inginer software. Ea a urcat cu sârguință în rânduri, ajungând în cele din urmă în rolul de colaborator individual al unui inginer de personal. Și dintr-o dată, tot ceea ce i-a păsat în ultimii ani – a deveni un inginer mai bun, a scrie cod mai bun – a făcut loc pentru noi provocări. Cum ar oferi ea direcția tehnică potrivită pentru companie? Deblocați blocajele? Îndrumați și ajutați alți ingineri așa cum făcuseră alții pentru ea?
În acest episod, ne-am întâlnit cu Sarah pentru a vorbi despre numeroasele nuanțe, competențe și așteptări ale unui rol de personal plus inginer.
Iată câteva dintre concluziile noastre preferate din conversație:
- Dacă nu vrei să rămâi în urmă, continuă să înveți. Discutați idei și obțineți feedback de la alți ingineri cu perspective și medii diferite.
- În calitate de inginer de personal, o mare parte a energiei tale merge în colaborarea între echipe pentru viziune și strategie. Unde va fi compania peste cinci ani? Cum ai de gând să ajung acolo?
- Având în calitate de mentori inginerii angajaților, mai mulți oameni juniori să obțină claritate cu privire la pașii de urmat pentru a atinge acele roluri și accelerați procesul de creare a liderilor de inginerie.
- Contrar credinței populare, un inginer de personal nu este o soluție rapidă pentru o problemă structurală. Înainte de a accepta un nou loc de muncă, întreabă ce se așteaptă de la tine pentru a evita neînțelegerile pe linie.
- Inginerii de personal trebuie să înțeleagă nevoile companiei, astfel încât să o poată ajuta să își atingă obiectivele. În timp ce vă înregistrați, citiți cât mai multă documentație și vorbiți cu cât mai multe persoane puteți.
Dacă îți place discuția noastră, vezi mai multe episoade din podcastul nostru. Puteți urmări pe iTunes, Spotify, YouTube sau puteți prelua fluxul RSS în playerul dorit. Ceea ce urmează este o transcriere ușor editată a episodului.
Niciodata nu inceta sa inveti
Brian Scanlan: Mulțumesc mult, Sarah, că ai fost alături de noi astăzi în emisiune. Sunt încântat să am ocazia de a vorbi cu tine. Înainte să vorbim despre rolul și munca ta la Algolia, mi-ar plăcea să aud despre călătoria ta până în acest moment. Cum a început călătoria către locul în care ești astăzi?
Sarah Dayan: Bună, mulțumesc că m-ai primit. Ei bine, asta e de fapt o poveste amuzantă. În prezent, am 32 de ani și am avut acces la internet în bandă largă și nelimitat acasă când aveam 15 ani. Întotdeauna am fost interesat de construirea de lucruri și prima dată când am văzut site-uri web, mi-am spus: „Trebuie să știu cum să fac asta”. Un lucru a dus la altul și am construit primul meu forum cu phpBB. PHP era foarte, foarte mare, și este încă mare, dar era într-adevăr limbajul pentru web pe atunci.
„Am decis că asta nu era treaba mea, că poate ar trebui să fac ceea ce îmi place. Așa că m-am întors la ceea ce îmi plăcea – construirea de site-uri web”
Pe atunci, a avea o carieră în tehnologie, în special ca inginer software, nu era atât de cool și de fierbinte ca astăzi. Părinții mei au crezut că ar trebui să mă gândesc să devin jurnalist pentru că mă pricepeam la limbi și literatură la școală. Și acesta a fost primul lucru pe care l-am făcut. Am făcut primul meu an în jurnalism, lucru pe care l-am eșuat complet, apoi am decis că asta nu era treaba mea, că poate ar trebui să fac ceea ce îmi place. Așa că m-am întors la ceea ce îmi plăcea – construirea de site-uri web. Mi-am luat primul loc de muncă la o agenție și am petrecut șase ani acolo. M-a învățat multe despre meserie, despre lucrul cu clienții, cu oameni care știu ce vor și oameni care nu știu ce vor. Apoi, m-am mutat în lumea startup-urilor. Fac codificare de peste 15 ani, dar profesional, o fac de 12. Și asta m-a condus la rolul meu actual la Algolia. Sunt acolo de patru ani și mai sunt.
Brian: Super. Aveți lecții interesante pe care le-ați învățat de la început și care v-au rămas cu tine?
Sarah: Nu am o cale clasică către tehnologie. Nu am fost la școala de inginerie și este posibil să ai o carieră grozavă în tehnologie dacă nu faci asta. Cu siguranță poți fi autodidact, poți învăța de la alți oameni și nu trebuie să ai o diplomă. Dar a nu avea o diplomă nu este o scuză pentru a nu învăța. Există o postare grozavă pe blog a lui Sarah Drasner, un manager de inginerie la Google, pe CSS-Tricks despre asta. Chiar dacă puteți avea o carieră în tehnologie fără diplomă, aceasta nu vă scutește de a învăța și de a căuta cunoștințe.
„Nu am primit feedback, nu am intrat în conversații cu alți oameni: cu alți ingineri, cu alte perspective, cu alte medii. Și așa am rămas în urmă”
Și un lucru pe care îl înveți de fapt la școală este să înveți să înveți, iar aceasta este o abilitate cu adevărat importantă. La începutul carierei mele, la agenția despre care v-am povestit, am fost multă vreme singurul angajat. Eram singur. Și l-am avut pe șeful meu, care făcea și codificare, dar era puțin îndepărtat de lucrurile pe care le făceam. Și, deși poate elibera munca de unul singur – ai multă încredere, multă libertate – nu înveți la fel de repede pentru că nu ai niciun feedback sau alte perspective în afară de a ta. Și dacă nici măcar nu faci nicio învățare activă, vei rămâne în urmă.
Acesta este unul dintre lucrurile care mi s-au întâmplat. Nu am primit feedback, nu am intrat în conversații cu alți oameni: cu alți ingineri, cu alte perspective, cu alte medii. Și așa am rămas în urmă. M-am bazat pe cunoștințele pe care le aveam și nu aveam niciun motiv să fac lucrurile diferit pentru că a funcționat. Aceasta ar fi una dintre cele mai mari lecții pe care le-am primit la începutul carierei mele. Mai ales dacă nu ai o călătorie clasică în tehnologie, înconjurându-te de alți oameni care îți aduc feedback și perspectivele lor este de neprețuit și îți va supraalimenta cariera.
Brian: Cred că este un sfat grozav pentru oricine în orice rol profesional, dar se pare că ți-a funcționat cu adevărat. Vă scapă ceva despre faptul că nu lucrați cu PHP în zilele noastre?
Sarah: Cred că PHP este un limbaj grozav. Puteți găsi multă inspirație din PHP în JavaScript modern. Nu mai lucrez cu el, deoarece JavaScript a evoluat până la un punct în care îl puteți folosi oriunde doriți să utilizați PHP. Și mai ales ca inginer front-end, există o mulțime de avantaje în utilizarea aceluiași limbaj pe front-end și pe back-end, cum ar fi co-sharing-ul. Dar cred că PHP este un limbaj grozav. Primesc multe glume proaste și „Oh, PHP a murit”, dar când te uiți la succesul ceva ca Laravel, simt că PHP este departe de a muri.
Când am intrat în PHP, cadrul pe care îl foloseau oamenii serioși se numea framework Zen. De fapt, cred că Zen este compania din spatele PHP, sau cel puțin asta a luat-o înapoi. Nimeni nu mai folosește framework-ul Zen, cel puțin nu pentru proiecte noi, dar este grozav să vezi unde este PHP acum. Este încă înfloritoare, oamenilor le place să codifice în PHP și cred că este grozav. Nu este pentru toată lumea, dar tu o faci. Fiecare poate să stea la masă cu limba care îi place.
Urcând pe scara inginerească
Brian: În prezent ești inginer de personal la Algolia. Spune-mi puțin despre acel rol și la ce lucrezi, și vom trece la ceea ce este un inginer de personal.
Sarah: Desigur. Sunt inginer de personal și lucrez la front end. Sunt într-o echipă numită experiențe front-end, pe scurt FX, și lucrăm la biblioteci front-end pentru Algolia. Algolia este un motor de căutare, deci este end-to-end. Aveți motorul și câțiva clienți API în mai multe limbi pentru a trimite datele dvs. la căutare, dar aveți și biblioteci front-end, pentru că cine are timp să construiască o casetă de căutare accesibilă, o listă de accesări, o listă de rafinare sau un meniu ierarhic?
Toate aceste lucruri sunt greu de implementat corect. Așa că facem asta pentru clienți și asta este echipa la care lucrez. Sunt un contributor individual (IC) și nu sunt pe nicio cale de conducere. Dar lucrul este că, pe măsură ce ajungi la roluri mai înalte ca CI, realitatea ta se îmbină puțin cu rolul tău de lider. Nu am niciun raport și nu conduc pe nimeni, dar petrec mult timp cu managerul meu pe subiecte care țin mai mult de viziunea lucrurilor. Dar încă codez în fiecare zi și, ca toată lumea, dau recenzii și primesc recenzii. Deci este încă un rol IC. La Algolia, poți să ajungi la un nivel destul de avansat și să rămâi un colaborator individual care ajunge să codifice în fiecare zi.
„Orice lucru mai presus de senior și începeți să turnați multă energie în strategie – care este viziunea, unde va fi produsul în cinci ani și cum vom avea succes în aceste lucruri?”
Brian: Cât timp crezi că ai petrecut transportul față de restul muncii? Împărtășirea contextului, lucrul la strategie, așa ceva.
Sarah: Este greu de evaluat. Eu as spune 50/50. Sunt momente în care codific foarte mult și includ recenzii în codificare pentru că este aceeași energie pe care o folosești. Dar există, de asemenea, mult timp pentru a elabora strategii, o mulțime de întâlniri, o mulțime de documente de viziune, multă gândire, multă conversație pentru a aduna feedback, cum ar fi lucrul cu PM, cercetători, designeri... toate acestea fac parte din muncă. . La Algolia ai personal senior, director etc. Orice lucru peste senior și începeți să turnați multă energie în strategie – care este viziunea, unde va fi produsul în cinci ani și cum vom avea succes în aceste lucruri? Cum ne putem asigura că, dacă nu avem succes, avem un plan de rezervă? Orice ți-ai putea gândi să aplici unui proiect, cum ar fi codificarea, atunci când ești inginer senior, îl aplici strategiei produsului. Lucrezi mult la produs și acesta este unul dintre lucrurile pe care le iubesc cel mai mult la lucrul la un startup de tehnologie.
Când eram într-o agenție, nu făceai nicio strategie, nu spuneai ce credeai și nu era neapărat de așteptat să dai sfaturi. Ai făcut ce ți s-a spus. Dar când ești inginer la un startup, mai ales la acele nivele, vocea și viziunea ta contează foarte mult. Construim produse pentru ingineri. Și chiar dacă trebuie să fim foarte atenți să nu construim lucruri pentru noi înșine – avem blestemul cunoștințelor, cunoaștem produsul, știm cum să-l folosim și cunoaștem toate avertismentele – suntem totuși sensibili la ceea ce le pasă inginerilor. despre, ce vor și ce le va face viața ușoară sau grea. Deci, se pune un accent mare pe produs, pe aducerea ideilor la masă, pe idei provocatoare, pe a te asigura că construiești cel mai bun lucru care va dura.
„După ce ai petrecut ani de zile gândindu-te la cum să devii un inginer mai bun, vei avea nevoie de o schimbare de mentalitate pentru a începe să te gândești la alte lucruri. Cum pot ajuta alte persoane? Cum pot debloca situațiile?”
Brian: Cât timp petreci lucrând cu alți angajați și ingineri principali dincolo de organizația sau echipa ta? Este aceasta o comunitate activă în compania dumneavoastră? Reușiți să lucrați mult în colaborare cu asta? Lucrezi în mare parte independent în grupurile tale? Sau există un subset de alți ingineri seniori cu care lucrați?
Sarah: Nu atât de mult pe cât mi-aș dori. În orice organizație, cu cât urci în niveluri, cu atât ai mai puțini oameni. Deci nu este ca și cum ar fi o mulțime de IC cinci, IC șase, personal și director. Angajăm o mulțime de oameni seniori chiar acum, așa că răspunsul meu ar putea fi diferit în șase luni. Am petrecut o perioadă normală de timp discutând cu alți angajați sau chiar cu inginerii principali, dar nu este ca și cum ar fi vreo comunitate sau ceva oficial doar pentru că nu suntem atât de mulți. Acum, am petrecut mult timp discutând cu seniori și mai sus, pentru că asta face parte din rolul meu.
O parte din rolul meu este să ajut oamenii de la nivel superior să se dezvolte și să fie promovați la nivel de personal. Ca inginer senior în multe companii, în special de dimensiunea Algolia, știi ce trebuie să faci pentru a ajunge acolo. Este mai mult o listă de verificare. După aceea, devine mai complicat pentru că sunt o mulțime de lucruri care ar putea fi de interpretare, lucruri pe care le poți face foarte diferit de o altă persoană în funcție de personalitatea ta. Dar ideea este că, atunci când ajungi la un nivel superior, ne așteptăm să fii optim în setul tău de abilități. Știm că ești bun, ești la un anumit nivel tehnic și nu ne așteptăm să crești mult mai sus decât atât, dar ți se va cere să dezvolți și alte abilități.
„Ar trebui să găsim ceea ce ești bun, ceea ce îți place să faci care te va ajuta să strălucești și să cultivăm asta. Este mult mentorat implicat”
După ce ai petrecut ani de zile gândindu-te la cum să devii un inginer mai bun, să scrii un cod mai bun, să faci recenzii mai bune sau să ai mai puține comentarii atunci când primești o recenzie, vei avea nevoie de o schimbare de mentalitate pentru a începe să te gândești la alte lucruri. Cum pot ajuta alte persoane? Cum pot debloca situațiile? Cum îmi pot crea propria sarcină de lucru? Acestea nu sunt neapărat lucruri la care trebuie să te gândești înainte de a atinge acele niveluri. Ajut oamenii să se abordeze, să înțeleagă ce înseamnă și să înțeleagă ce parte din personalitatea lor vor putea folosi pentru a ajunge acolo.
Unii oameni iubesc să fie pe scenă și să facă discuții, de exemplu. Și dacă acest lucru le place, prin toate mijloacele, ar trebui să-i ajut să obțină angajamente mai bune la conferințe și să scrie mai bine apel pentru lucrări. Dar dacă asta nu este treaba ta, nu există niciun motiv pentru care ar trebui să investim în asta. Ar trebui să găsim ceea ce ești bun, ceea ce îți place să faci, care te va ajuta să strălucești și să cultivăm asta. Este mult mentorat implicat. Aceasta este una dintre părțile mele preferate de a fi la acest nivel de vechime.
Pentru o companie, nu este chiar interesant să ai un singur personal sau un inginer senior – vrei să ai 3, 5, 8, 16. Și singurul mod în care vei putea face asta este să ai oameni care sunt deja acolo ajută oamenii care sunt cu un nivel mai jos. Nu vă puteți aștepta ca managerul dumneavoastră de inginerie să facă asta de unul singur, împreună cu întreaga echipă. Când aveți ingineri care îi ajută pe alți ingineri să facă munca pe care au făcut-o cu un an sau doi ani înainte, aveți acest efect multiplicator. Și cred că acest lucru este cu adevărat palpitant pentru oameni, deoarece aceștia învață de la alții, de la oameni care au trecut de fapt prin procesul în aceeași organizație. Există încredere că, dacă urmează acești pași, dacă ascultă, ar putea funcționa. Vreau să învăț de la inginerii principali care mă pot ajuta să înțeleg ce trebuie să fac pentru a ajunge acolo.
Este deosebit de interesant pentru persoana care predă, deoarece poate diseca ceea ce a făcut de fapt. Devine neclar după aceea, iar tu spui: „Da, tocmai am făcut puțin din asta, puțin din asta.” Nu. Ce ai făcut? Care sunt pașii concreti pe care i-ați luat? Care sunt lucrurile la care ai spus da? Care sunt lucrurile la care ai spus nu? Cred că vă ajută să vă clarificați ideile, să vă clarificați procesul și vă face mai eficient pentru următoarele.
Personalul de îmbarcare plus ingineri
Brian: Ați menționat integrarea personalului nou și a inginerilor principali într-o organizație, ceea ce poate fi destul de complicat. Este ceva cu care ai experiență?
Sarah: Nu este ceva ce am făcut multe, să fiu sincer. Avem trei sau patru ingineri principali și nu toți fac parte din echipa mea. Experiența pe care o am este în principal cu aducerea de ingineri seniori. Acum, există lucruri care sunt comune pentru toată lumea și apoi sunt lucruri care ar putea fi interesante pentru inginerii principali și încă pot încerca să încerc.
„O persoană foarte, foarte senior vă poate ajuta cu multe lucruri, dar nu va rezolva problemele structurale ale companiei sau ale unei echipe”
Claritatea este extrem de importantă și, desigur, nu vă așteptați la aceeași ținere de mână atunci când angajați un personal sau un inginer principal. Vrei să fie auto-începători. Claritatea nu înseamnă să-ți spună ce se așteaptă de la tine, toate sarcinile etc., ci mai degrabă să-ți ofere un simț al misiunii tale. Care este scopul tău aici? Ce faci aici? Și aș spune că asta începe la nivel de interviu. Recomandarea mea pentru un personal sau un inginer principal care se alătură unei companii ar fi să întreb despre asta, deoarece uneori, oamenii încearcă să angajeze roluri foarte seniori pentru a-și rezolva problemele. Ei spun: „Oh, hai să angajăm pe cineva foarte, foarte în vârstă pentru că ei știu lucruri pe care noi nu le cunoaștem.” Și asta nu este adevărat. O persoană foarte, foarte senior vă poate ajuta cu multe lucruri, dar nu va rezolva problemele structurale ale companiei sau ale unei echipe.
Și pe de altă parte, un manager de inginerie ar trebui să se întrebe de ce cred că are nevoie de acea persoană. De cele mai multe ori, nu angajezi pe cineva la acest nivel pentru a codifica măreția. Dacă ai un inginer senior în echipa ta, acesta ar fi IC patru la Algolia. Sunt deja perfect capabili de codare, sau cel puțin ar trebui să fie. Un personal sau un inginer principal are experiență în ceea ce doriți să faceți și este posibil să aveți nevoie de ele, de exemplu, atunci când știți că trebuie să ajungeți la o scară la care nimeni din echipă nu a atins-o până acum. Poate că ai putea să-ți dai seama, dar vrei un accelerator și asta va face o persoană foarte senioră în echipa ta.
A pune aceste întrebări în prealabil este o modalitate bună de a vă asigura că nu există nicio aliniere necorespunzătoare cu ceea ce este de așteptat. Dacă ești foarte senior și ți se cere să programezi sau să lucrezi la un nivel superior doar pentru că a existat o nealiniere, vei fi dezamăgit și probabil că vei pleca. Nu vrei să petreci mult timp angajând o persoană la acest nivel doar pentru a o lăsa să plece, deoarece este extrem de costisitor.
După aceea, m-aș aștepta ca cineva la acest nivel de vechime să citească mult și să poarte multe conversații. Acesta este ceva ce nu faci de obicei când ești inginer junior. Vii în organizația ta, ți se dă prima sarcină și pur și simplu curge – începi să lucrezi, începi să codezi și asta ar trebui să faci, pentru că asta te va duce la pasul următor.
„Rolul tău este să te asiguri că produsul livrat se va potrivi și se va extinde. Și nu poți face asta dacă nu discuti cu alți oameni din companie”
Dar când te afli la acele niveluri superioare, este important să înțelegi unde ești, ce se întâmplă, cine face ce. Trebuie să creați relații nu numai cu alți ingineri și oameni seniori, ci și cu mai mulți oameni juniori, manageri de produs, designeri și cercetători. Trebuie să înțelegeți modul în care funcționează compania și cum vă puteți integra în asta, ce puteți ajuta la îmbunătățirea. Dacă există vreo documentație internă scrisă, citiți-o și, când ați terminat, citiți-o din nou.
Apoi, întreabă-ți managerul de inginerie care sunt oamenii cu care ar trebui să te întâlnești. De fiecare dată când vorbești cu o persoană nouă, întreabă-l cu cine crede că ar fi interesant să vorbești. Acest lucru vă va oferi aripi pentru că veți crea relații și veți înțelege ce se întâmplă. Care sunt produsele? Care sunt luptele actuale? Unde poți ajuta? Și cum se încadrează echipa ta și produsele pe care le construiești în această schemă? Pentru că la acele nivele, cu acest accent pe produs, nu mai este vorba doar de calitatea codului. Seniorii din echipă se ocupă deja de asta și o fac perfect bine. Rolul tău este să te asiguri că produsul livrat se va potrivi și se va extinde. Și nu poți face asta dacă nu discuti cu alți oameni din companie.
Noi provocări
Brian: Pentru ascultătorii care nu știu, Algolia este un API puternic de căutare găzduit. Pare o companie destul de de succes din exterior, dar sunt sigur că sunt multe provocări și lucruri în mintea ta. Ne puteți face o idee despre unele dintre marile probleme la care vă gândiți sau la care lucrați?
„Ideea este că, indiferent de calea pe care o luați pentru a căuta acele date, a le obține și a ajunge pe pagină, veți primi datele potrivite”
Sarah: După cum ați spus, Algolia este un API de căutare găzduit. Acesta este cel mai mare API pe care îl avem și este cel mai de succes deocamdată, dar ne-am extins și puțin. În prezent, există un produs numit Algolia Recommend, care folosește același set de date pe care îl folosești pentru căutare, dar pe baza unui produs dat, îți oferă recomandări.
Scopul Algolia nu este doar de a căuta, ci de a evidenția conținutul. Ai mult conținut, dar nu tot este relevant în același timp pentru aceiași oameni. Ideea este că indiferent de calea pe care o parcurgeți pentru a căuta acele date, a le obține și a ajunge pe pagină, veți primi datele potrivite. Acesta este punctul Algolia. Există provocări cu asta. Suntem experți în căutare, dar aspectul de recomandare și de învățare automată este o tehnologie mult mai nouă, așa că învățăm cu cele mai noi lucruri. Sunt multe de învățat în comparație cu căutarea. Aceasta nu este cea mai mare provocare, dar este totuși o provocare să ne asigurăm că putem reitera același succes pe care l-am avut cu căutarea.
Acum, sunt lucruri la care Algolia nu este grozavă. Este un motor de căutare, nu o bază de date. Va fi rapid, va fi în cele din urmă consecvent, dar nu aveți garanția că veți avea toate datele, că datele sunt întotdeauna consecvente sau că toate datele vor fi acolo. Aceasta este o alegere de design în jurul motorului de căutare, ceea ce îl face foarte diferit de o bază de date. Acestea fiind spuse, multor oameni le place să folosească Algolia ca bază de date pentru că este foarte ușor să trimiți date către Algolia și este acolo și este rapid. Poate că e ceva de învățat în jurul asta. Poate că ar putea fi și o bază de date și nu spun că va fi, dar poate că ar putea. Poate că mai există ceva acolo pe care trebuie să-l înțelegem și să cercetăm.
Există multe cazuri de utilizare cu care Algolia nu poate lucra. Unul dintre ele este cazul de utilizare al rezervării. Dacă doriți să rezervați un Airbnb, atunci când îl căutați, acesta este în rezultatele dvs., adică este disponibil. Dar de îndată ce ajungi la pagină, aceasta nu mai este disponibilă, deoarece replicați datele din baza de date în Algolia. Când salvați ceva în baza de date, veți trimite acea modificare către Algolia într-un format ușor diferit. Și pentru că există acea întârziere - aceasta nu este în timp real - ceva de genul cazului de utilizare al rezervării nu poate funcționa. Când ai de-a face cu Airbnbs, ceva disponibil în acest moment s-ar putea să nu fie disponibil în 30 de secunde, dar tot s-ar putea să apară în motorul tău de căutare, deoarece atunci când ai salvat, ai nevoie de 10 secunde sau ceva de genul ăsta pentru a fi propagat către Algolia, și poate că a eșuat și trebuie să o faci din nou. Acestea sunt lucruri la nivel de motor de căutare la care ne gândim. Este ceva pe care l-am putea susține vreodată? Este exclus? Care este cazul de afaceri din spatele asta? Pentru că conduce o mulțime de lucruri.
„Ar trebui să fie invizibil; ar trebui să fie fără sudură. Faptul că acestea sunt API-uri separate nu este problema ta. Aceasta este problema noastră de rezolvat”
Acum, referitor la echipa front-end, am menționat Algolia Recommend. Când ești client, nu prea îți pasă că există produse diferite. Nu vă pasă că aveți Algolia Search cu acele caracteristici și Algolia Recommend cu acele subfuncții. Vă abonați la Algolia și vă plătiți taxa lunară sau anuală pentru un set de funcții despre care vi se spune că funcționează bine împreună. Nu doriți și nu trebuie să înțelegeți granițele artificiale pe care le-am creat intern între acest API și API-urile de date.
Există o zicală „nu trimiteți organigrama” și cred că acesta este unul dintre următoarele subiecte importante pentru noi. Cum ne putem asigura că, pe front-end, atunci când utilizați biblioteca front-end Algolia, nu trebuie să vă întrebați dacă aveți nevoie de asta sau de asta? Că nu simți acele granițe? Ar trebui să fie invizibil; ar trebui să fie fără sudură. Faptul că acestea sunt API-uri separate nu este problema ta. Asta e problema noastră de rezolvat.
Am creat biblioteci care au fost cu adevărat cuplate cu API-ul de căutare, iar acum trebuie să ne extindem la API-uri mai noi care pot funcționa împreună și, uneori, trebuie să apelați unul, apoi un apel către altul pentru a obține răspunsul final. Toate aceste lucruri în acest moment nu sunt atât de perfecte pe cât ne-am dori să fie. Este încă puțin dur la margini atunci când doriți să conectați acele API-uri împreună. Este posibil, dar trebuie să citiți tutoriale, să urmați, să faceți o mică schimbare ici și colo și să scrieți niște coduri standard. Acest lucru nu este încântător, nu este distractiv și este prea multă muncă. Dacă trebuie să vă spunem „folosește acea bibliotecă”, trebuie să facă o treabă pe care nu vrei să o faci. Nu există nicio justificare pentru a utiliza biblioteca dacă primitivele de nivel inferior sunt la fel de ușor de utilizat, nu?
În prezent, una dintre cele mai mari provocări este să ne asigurăm că creștem valoarea bibliotecilor. Ei fac deja multe lucruri pe care cei mai mulți oameni nu vor să le facă, dar la un moment dat, pentru anumiți clienți, nu este atât de perfect și de încântător cum era cândva când aveam doar căutare. Și acesta este sentimentul pe care îl urmărim. Acel sentiment de „Wow, este mult mai simplu decât credeam că va fi”.
Brian: În sfârșit, unde pot merge ascultătorii noștri pentru a ține pasul cu tine?
Sarah: Deci mă poți găsi mai ales pe Twitter, sunt frontstuff_io. Sunt dureros de conștient că acesta este cel mai prost mâner de pe Twitter. Mă puteți găsi și pe sarahdayan.com și urmăriți-mă pe GitHub dacă doriți; comit lucruri uneori. Dar da, dacă vrei să discutăm, cred că DM-urile mele sunt deschise, așa că trimite-mi orice.
Brian: Super. Sarah, mulțumesc foarte mult că mi-ai fost alături astăzi.
Sarah: Mulțumesc că m-ai primit. A fost amuzant.