Sarah Dayan von Algolia darüber, was einen leitenden Ingenieur auszeichnet
Veröffentlicht: 2022-08-19Während gute Programmierkenntnisse immer geschätzt werden, erfordert die Arbeit als Mitarbeiter und Ingenieur viel mehr als nur Ihre technischen Fähigkeiten. Was braucht es, um dorthin zu gelangen, und was noch wichtiger ist, wo können Sie den größten Einfluss auf Ihr Unternehmen haben?
Wenn Sie in einem technischen Studiengang das Senior-Level erreichen, wird von Ihnen erwartet, dass Sie in Ihren Hard Skills optimal sind. Sie sind autonom, Ihr Code ist makellos und Sie haben ein tiefes Verständnis für das Erstellen und Versenden von Software. Aber in Staff-Plus-Rollen zu gehen, ist ein ganz anderes Biest. Es gibt Projektmanagement, Mentoring und Lehre, Entscheidungsfindung, Aufbau von Beziehungen, und der Wert, den Sie dem Unternehmen bringen, wird nicht mehr an der Qualität Ihrer Codezeilen gemessen, sondern daran, die Engineering-Organisation voranzutreiben.
Der heutige Gast hat genau das durchgemacht. Sarah Dayan ist Staff Engineer bei Algolia, einer „Search-as-a-Service“-Plattform, die Entwicklern hilft, Index- und Suchfunktionen über eine API in ihre eigenen Plattformen einzubauen, und Host von zwei Tech-Podcasts: Developer Experience und Entre Devs. Sie erstellt Front-End-Bibliotheken, eine Rolle, die aufgrund ihrer lebenslangen Leidenschaft für Benutzererfahrung, Design und das Erstellen von Dingen perfekt zu ihr passt. Tatsächlich ist Sarah davon besessen, Websites zu erstellen, seit ihre Eltern in ihrem Keller Breitband-Internet installiert haben. Es war Liebe auf den ersten Klick. Mit 15 stellte sie ihr erstes phpBB-Forum zusammen, schrieb nicht lange danach ihre erste HTML-Seite und hat seitdem nicht aufgehört, Dinge zu bauen.
Obwohl sie keine formelle Ingenieurausbildung hatte, bekam Sarah einen Job als Entwicklerin beim französischen Beratungsunternehmen Grand Manitou. Dann, vor vier Jahren, im Jahr 2018, bekam sie eine Stelle als Software-Ingenieurin bei Algolia. Sie stieg fleißig durch die Reihen auf und wuchs schließlich in die individuelle Mitwirkendenrolle eines Stabsingenieurs hinein. Und plötzlich machte alles, was sie in den letzten Jahren interessiert hatte – eine bessere Ingenieurin zu werden, besseren Code zu schreiben – neuen Herausforderungen Platz. Wie würde sie dem Unternehmen die richtige technische Richtung geben? Engpässe entsperren? Andere Ingenieure zu betreuen und ihnen zu helfen, wie es andere für sie getan hatten?
In dieser Folge haben wir uns mit Sarah zusammengesetzt, um über die vielen Nuancen, Fähigkeiten und Erwartungen einer Mitarbeiter- und Technikerrolle zu sprechen.
Hier sind einige unserer Lieblingsmitnahmen aus dem Gespräch:
- Wenn Sie nicht zurückfallen wollen, lernen Sie weiter. Diskutieren Sie Ideen und erhalten Sie Feedback von anderen Ingenieuren mit unterschiedlichen Perspektiven und Hintergründen.
- Als Staff Engineer fließt viel Energie in die teamübergreifende Zusammenarbeit für die Vision und Strategie. Wo steht das Unternehmen in fünf Jahren? Wie kommst du dorthin?
- Personalingenieure als Mentoren zu haben, ermöglicht es mehr Nachwuchskräften, Klarheit darüber zu bekommen, welche Schritte zu unternehmen sind, um diese Rollen zu erreichen, und Sie beschleunigen den Prozess der Schaffung von technischen Führungskräften.
- Entgegen der landläufigen Meinung ist ein Stabsingenieur keine schnelle Lösung für ein strukturelles Problem. Bevor Sie eine neue Stelle annehmen, fragen Sie, was von Ihnen erwartet wird, um spätere Missverständnisse zu vermeiden.
- Personalingenieure müssen die Bedürfnisse des Unternehmens verstehen, damit sie ihm helfen können, seine Ziele zu erreichen. Lesen Sie während des Onboardings so viel Dokumentation und sprechen Sie mit so vielen Menschen wie möglich.
Wenn Ihnen unsere Diskussion gefällt, sehen Sie sich weitere Folgen unseres Podcasts an. Sie können auf iTunes, Spotify, YouTube folgen oder den RSS-Feed in Ihrem bevorzugten Player herunterladen. Was folgt, ist eine leicht bearbeitete Abschrift der Episode.
Niemals aufhören zu lernen
Brian Scanlan: Vielen Dank, Sarah, dass du heute bei der Show dabei bist. Ich freue mich über die Gelegenheit, mit Ihnen zu sprechen. Bevor wir über Ihre Rolle und Arbeit bei Algolia sprechen, würde ich gerne etwas über Ihre bisherige Reise erfahren. Wie hat Ihre Reise dorthin begonnen, wo Sie heute sind?
Sarah Dayan: Nun, hallo, danke, dass Sie mich haben. Nun, das ist eigentlich eine lustige Geschichte. Ich bin derzeit 32, und wir bekamen Breitband und unbegrenztes Internet zu Hause, als ich 15 war. Ich habe immer Dinge gebaut, und als ich das erste Mal Websites sah, dachte ich: „Ich muss wissen, wie das geht.“ Eins führte zum anderen, und ich baute mein erstes Forum mit phpBB auf. PHP war wirklich, wirklich groß und ist immer noch groß, aber damals war es wirklich die Sprache für das Web.
„Ich habe entschieden, dass das nicht mein Ding ist, dass ich vielleicht das tun sollte, was ich liebe. Also kehrte ich zu dem zurück, was ich liebte – dem Erstellen von Websites.“
Damals war eine Karriere in der Technik, insbesondere als Softwareentwickler, nicht so cool und heiß wie heute. Meine Eltern meinten, ich solle Journalistin werden, weil ich in der Schule gut in Sprachen und Literatur war. Und das war das erste, was ich tat. Ich habe mein erstes Jahr im Journalismus gemacht, in dem ich komplett durchgefallen bin, und dann habe ich entschieden, dass das nicht mein Ding ist, dass ich vielleicht das tun sollte, was ich liebe. Also kehrte ich zu dem zurück, was ich liebte – dem Erstellen von Websites. Ich bekam meinen ersten Job in einer Agentur und verbrachte dort sechs Jahre. Ich habe viel über den Job gelernt, über die Arbeit mit Kunden, mit Menschen, die wissen, was sie wollen, und Menschen, die nicht wissen, was sie wollen. Dann wechselte ich in die Startup-Welt. Ich programmiere seit über 15 Jahren, aber beruflich mache ich das seit 12 Jahren. Und das hat mich zu meiner jetzigen Rolle bei Algolia geführt. Ich bin seit vier Jahren dort und zähle.
Brian: Super. Gibt es irgendwelche interessanten Lektionen, die Sie früh gelernt haben und die Ihnen im Gedächtnis geblieben sind?
Sarah: Ich habe keinen klassischen Weg zur Technik. Ich habe keine Ingenieurschule besucht, und es ist möglich, eine großartige Karriere in der Technik zu haben, wenn Sie das nicht tun. Du kannst auf jeden Fall Autodidakt sein, du kannst von anderen Leuten lernen, und du musst keinen Abschluss haben. Aber kein Abschluss ist keine Entschuldigung dafür, nicht zu lernen. Dazu gibt es einen tollen Blogbeitrag von Sarah Drasner, Engineering Manager bei Google, auf CSS-Tricks. Auch wenn Sie ohne Abschluss eine Karriere in der Technik machen können, befreit Sie dies nicht vom Lernen und der Suche nach Wissen.
„Ich habe kein Feedback bekommen, ich bin nicht mit anderen Leuten ins Gespräch gekommen: mit anderen Ingenieuren, mit anderen Perspektiven, anderen Hintergründen. Und so bin ich zurückgefallen“
Und eine Sache, die man tatsächlich in der Schule lernt, ist das Lernen zu lernen, und das ist eine wirklich wichtige Fähigkeit. Zu Beginn meiner Karriere war ich in der Agentur, von der ich Ihnen erzählt habe, lange Zeit der einzige Mitarbeiter. Ich war ganz allein. Und ich hatte meinen Chef, der auch programmierte, aber ein bisschen von den Dingen entfernt war, die ich tat. Und obwohl es befreiend sein kann, alleine zu arbeiten – man hat viel Vertrauen, viel Freiheit –, lernt man nicht so schnell, weil man kein Feedback oder andere Perspektiven außer der eigenen hat. Und wenn Sie nicht einmal aktiv lernen, werden Sie ins Hintertreffen geraten.
Das ist eines der Dinge, die mir passiert sind. Ich habe kein Feedback bekommen, ich bin nicht mit anderen Menschen ins Gespräch gekommen: mit anderen Ingenieuren, mit anderen Perspektiven, anderen Hintergründen. Und so bin ich zurückgefallen. Ich verließ mich auf mein Wissen und hatte keinen Grund, Dinge anders zu machen, weil es funktionierte. Das war eine der größten Lektionen, die ich früh in meiner Karriere bekommen habe. Besonders wenn Sie keine klassische Reise in die Technik hinter sich haben, ist es von unschätzbarem Wert, sich mit anderen Menschen zu umgeben, die Ihnen Feedback und ihre Perspektiven geben, und es wird Ihrer Karriere einen Schub geben.
Brian: Ich denke, es ist ein großartiger Ratschlag für jeden in jeder beruflichen Rolle, aber es hört sich so an, als hätte es für Sie wirklich funktioniert. Vermissen Sie etwas daran, heutzutage nicht mehr mit PHP zu arbeiten?
Sarah: Ich denke, PHP ist eine großartige Sprache. In modernem JavaScript finden Sie viele Inspirationen von PHP. Ich arbeite nicht mehr damit, weil sich JavaScript so weit entwickelt hat, dass Sie es überall dort verwenden können, wo Sie PHP verwenden möchten. Und gerade als Front-End-Ingenieur hat es viele Vorteile, die gleiche Sprache im Front-End und im Back-End zu verwenden, wie z. B. Co-Sharing. Aber ich denke, PHP ist eine großartige Sprache. Es gibt viele schlechte Witze und das „Oh, PHP ist tot“, aber wenn man sich den Erfolg von etwas wie Laravel ansieht, habe ich das Gefühl, dass PHP noch lange nicht tot ist.
Als ich zu PHP kam, hieß das Framework, das ernsthafte Leute benutzten, Zen-Framework. Eigentlich glaube ich, dass Zen das Unternehmen hinter PHP ist, oder zumindest das hat es zurückgenommen. Niemand verwendet das Zen-Framework mehr, zumindest nicht für neue Projekte, aber es ist großartig zu sehen, wo PHP gerade steht. Es floriert immer noch, die Leute haben Spaß am Programmieren in PHP, und ich denke, das ist großartig. Es ist nicht jedermanns Sache, aber Sie tun es. Jeder kann mit der Sprache, die ihm gefällt, am Tisch Platz nehmen.
Erklimmen der Ingenieursleiter
Brian: Du bist derzeit Staff Engineer bei Algolia. Erzählen Sie mir ein bisschen über diese Rolle und woran Sie arbeiten, und wir werden weitermachen, was ein Staff Engineer ist.
Sarah: Natürlich. Ich bin ein Staff Engineer und arbeite am Frontend. Ich bin in einem Team namens Front-End Experiences, kurz FX, und wir arbeiten an Front-End-Bibliotheken für Algolia. Algolia ist eine Suchmaschine, also End-to-End. Sie haben die Engine und einige API-Clients in mehreren Sprachen, um Ihre Daten an die Suche zu senden, aber Sie haben auch Frontend-Bibliotheken, denn wer hat Zeit, ein zugängliches funktionierendes Suchfeld, eine Trefferliste, eine Verfeinerungsliste oder eine hierarchisches Menü?
All diese Dinge sind schwer richtig umzusetzen. Also machen wir das für Kunden, und das ist das Team, in dem ich arbeite. Ich bin ein individueller Mitwirkender (IC) und befinde mich auf keiner Führungsebene. Aber die Sache ist die, dass sich Ihre Realität ein wenig mit Ihrer Führungsrolle vermischt, wenn Sie als IC zu höheren Rollen heranwachsen. Ich habe keine Berichte und leite niemanden, aber ich verbringe viel Zeit mit meinem Vorgesetzten bei Themen, die eher den Visionsaspekt der Dinge betreffen. Aber ich programmiere immer noch jeden Tag, und wie jeder gebe ich Reviews ab und bekomme Reviews. Es ist also immer noch eine IC-Rolle. Bei Algolia können Sie sich zu einem ziemlich fortgeschrittenen Niveau entwickeln und ein individueller Mitwirkender bleiben, der jeden Tag programmieren muss.
„Alles über Senior und Sie fangen an, viel Energie in die Strategie zu stecken – was ist die Vision, wo wird das Produkt in fünf Jahren stehen und wie werden wir in diesen Dingen erfolgreich sein?“
Brian: Was denkst du, wie viel Zeit verbringst du mit dem Versand im Vergleich zum Rest der Arbeit? Kontext teilen, an einer Strategie arbeiten, so etwas.
Sarah: Das ist schwer einzuschätzen. Ich würde sagen 50/50. Es gibt Zeiten, in denen ich viel codiere, und ich füge Rezensionen in die Codierung ein, weil es die gleiche Energie ist, die Sie verwenden. Aber es gibt auch viel Zeit für die Strategieentwicklung, viele Meetings, viele Visionsdokumente, viel Nachdenken, viele Gespräche, um Feedback zu sammeln, wie die Arbeit mit PMs, Forschern, Designern … all das ist Teil des Jobs . Bei Algolia gibt es leitende Angestellte, Direktoren usw. Alles über Senior und Sie fangen an, viel Energie in die Strategie zu stecken – was ist die Vision, wo wird das Produkt in fünf Jahren stehen und wie werden wir in diesen Dingen erfolgreich sein? Wie können wir sicherstellen, dass wir einen Backup-Plan haben, wenn wir nicht erfolgreich sind? Alles, was Sie sich als leitender Ingenieur für ein Projekt wie Codierung vorstellen können, wenden Sie auf die Strategie des Produkts an. Man arbeitet viel am Produkt, und das ist eines der Dinge, die ich an der Arbeit in einem Technologie-Startup am meisten liebe.
Als ich in einer Agentur war, hat man keine Strategie entwickelt, man hat nicht gesagt, was man dachte, und es wurde nicht unbedingt erwartet, dass man Ratschläge gibt. Du hast getan, was dir gesagt wurde. Aber wenn Sie Ingenieur bei einem Startup sind, besonders auf diesen Ebenen, sind Ihre Stimme und Ihre Vision sehr wichtig. Wir bauen Produkte für Ingenieure. Und obwohl wir sehr vorsichtig sein müssen, Dinge nicht für uns selbst zu bauen – wir haben den Fluch des Wissens, wir kennen das Produkt, wir wissen, wie man es benutzt, und wir kennen alle Vorbehalte –, sind wir dennoch sensibel dafür, was Ingenieure interessieren darüber, was sie wollen und was ihnen das Leben leicht oder schwer macht. Es gibt also einen großen Schwerpunkt auf dem Produkt, darauf, Ideen auf den Tisch zu bringen, Ideen herauszufordern und sicherzustellen, dass Sie das Beste bauen, das von Dauer ist.
„Nachdem Sie jahrelang darüber nachgedacht haben, wie Sie ein besserer Ingenieur werden können, müssen Sie Ihre Denkweise ändern, um über andere Dinge nachzudenken. Wie kann ich anderen Menschen helfen? Wie kann ich Situationen entsperren?“
Brian: Wie viel Zeit verbringen Sie damit, mit anderen Mitarbeitern und leitenden Ingenieuren außerhalb Ihrer Organisation oder Ihres Teams zu arbeiten? Ist das eine aktive Community in Ihrem Unternehmen? Können Sie damit viel zusammenarbeiten? Arbeiten Sie in Ihren Gruppen weitgehend selbstständig? Oder gibt es eine Untergruppe von anderen hochrangigen Ingenieuren, mit denen Sie zusammenarbeiten?
Sarah: Nicht so viel, wie ich möchte. In jeder Organisation gilt: Je höher man aufsteigt, desto weniger Leute hat man. Es ist also nicht so, dass es eine Menge IC fünf, IC sechs, Mitarbeiter und Schulleiter gibt. Wir stellen gerade viele Senioren ein, daher könnte meine Antwort in sechs Monaten anders ausfallen. Ich habe normal viel Zeit damit verbracht, mit anderen Mitarbeitern oder sogar leitenden Ingenieuren zu sprechen, aber es ist nicht so, dass es eine Community oder irgendetwas Offizielles gibt, nur weil wir nicht so viele sind. Jetzt habe ich viel Zeit damit verbracht, mit Senioren und höher zu diskutieren, weil das Teil meiner Rolle ist.
Ein Teil meiner Rolle besteht darin, Menschen auf der Führungsebene dabei zu helfen, sich weiterzuentwickeln und auf Mitarbeiterebene aufzusteigen. Als leitender Ingenieur in vielen Unternehmen, insbesondere in der Größe von Algolia, wissen Sie, was Sie tun müssen, um dorthin zu gelangen. Es ist eher eine Checkliste. Danach wird es komplizierter, weil es viele Dinge gibt, die der Interpretation unterliegen könnten, Dinge, die Sie aufgrund Ihrer Persönlichkeit ganz anders machen können als eine andere Person. Aber die Idee ist, dass wir erwarten, dass Sie, wenn Sie das Senior-Level erreichen, in Ihren Hard Skills optimal sind. Wir wissen, dass Sie gut sind, Sie haben ein gewisses technisches Niveau, und wir erwarten nicht, dass Sie viel höher werden, aber Sie werden gebeten, andere Arten von Fähigkeiten zu entwickeln.
„Wir sollten herausfinden, worin Sie gut sind, was Sie gerne tun, was Ihnen hilft, zu glänzen, und das kultivieren. Es ist viel Mentoring involviert.“
Nachdem Sie jahrelang darüber nachgedacht haben, wie Sie ein besserer Ingenieur werden, besseren Code schreiben, bessere Reviews abgeben oder weniger Kommentare abgeben können, wenn Sie eine Review erhalten, müssen Sie Ihre Denkweise ändern, um über andere Dinge nachzudenken. Wie kann ich anderen Menschen helfen? Wie kann ich Situationen entsperren? Wie kann ich meine eigene Workload erstellen? Dies sind nicht unbedingt Dinge, über die Sie nachdenken müssen, bevor Sie diese Ebenen erreichen. Ich helfe Menschen, sich dem zu nähern, zu verstehen, was sie meinen, und zu verstehen, welchen Teil ihrer Persönlichkeit sie nutzen können, um dorthin zu gelangen.
Manche Menschen lieben es, auf der Bühne zu stehen und zum Beispiel Vorträge zu halten. Und wenn ihnen das auf jeden Fall gefällt, sollte ich ihnen helfen, bessere Konferenzengagements zu bekommen und bessere Call for Papers zu schreiben. Aber wenn das nicht Ihr Ding ist, gibt es keinen Grund, warum wir darin investieren sollten. Wir sollten herausfinden, worin Sie gut sind, was Sie gerne tun, was Ihnen hilft, zu glänzen, und das kultivieren. Es gehört viel Mentoring dazu. Das ist einer meiner Lieblingsaspekte auf dieser Senioritätsebene.
Für ein Unternehmen ist es nicht wirklich interessant, einen Mitarbeiter oder einen leitenden Ingenieur zu haben – Sie möchten 3, 5, 8, 16 haben. Und die einzige Möglichkeit, dies zu erreichen, besteht darin, die Leute zu haben, die es sind bereits da helfen die Menschen, die eine Ebene tiefer sind. Sie können nicht erwarten, dass Ihr technischer Leiter das mit dem gesamten Team alleine macht. Wenn Sie Ingenieure haben, die anderen Ingenieuren bei der Arbeit helfen, die sie ein oder zwei Jahre zuvor erledigt haben, haben Sie diesen Multiplikatoreffekt. Und ich denke, das ist wirklich aufregend für die Leute, weil sie von anderen lernen können, von Leuten, die den Prozess tatsächlich in derselben Organisation durchlaufen haben. Es besteht die Zuversicht, dass es funktionieren könnte, wenn sie diesen Schritten folgen und zuhören. Ich möchte von leitenden Ingenieuren lernen, die mir helfen können zu verstehen, was ich tun muss, um dorthin zu gelangen.
Es ist besonders interessant für die Person, die unterrichtet, weil sie analysieren kann, was sie tatsächlich getan hat. Danach wird es unscharf und du sagst: „Ja, ich habe nur ein bisschen davon und ein bisschen davon gemacht.“ Nein. Was hast du getan? Welche konkreten Schritte haben Sie unternommen? Zu welchen Dingen hast du Ja gesagt? Zu welchen Dingen hast du nein gesagt? Ich denke, es hilft Ihnen, Ihre Ideen zu klären, Ihren Prozess zu klären, und es macht Sie effizienter für die nächsten.
Onboarding-Mitarbeiter plus Ingenieure
Brian: Sie haben erwähnt, dass neue Mitarbeiter und leitende Ingenieure in eine Organisation aufgenommen werden können, was ziemlich schwierig sein kann. Ist das etwas, womit Sie Erfahrung haben?
Sarah: Um ehrlich zu sein, haben wir das nicht oft gemacht. Wir haben drei oder vier Hauptingenieure, und sie alle sind nicht in meinem Team. Die Erfahrung, die ich habe, besteht hauptsächlich darin, leitende Ingenieure mitzubringen. Nun, es gibt Dinge, die allen gemeinsam sind, und dann gibt es Dinge, die für leitende Ingenieure interessant sein könnten, und ich kann immer noch versuchen, es zu versuchen.
„Eine sehr, sehr erfahrene Person kann Ihnen bei vielen Dingen helfen, aber sie wird keine strukturellen Probleme des Unternehmens oder eines Teams lösen.“
Klarheit ist äußerst wichtig, und natürlich erwarten Sie nicht die gleiche Handhaltung, wenn Sie einen Mitarbeiter oder einen leitenden Ingenieur einstellen. Sie wollen, dass sie Selbststarter sind. Bei Klarheit geht es nicht darum, Ihnen zu sagen, was von Ihnen erwartet wird, alle Aufgaben usw., sondern Ihnen ein Gefühl für Ihre Mission zu geben. Was ist Ihr Ziel hier? Was machst du hier? Und ich würde sagen, das beginnt auf der Interviewebene. Meine Empfehlung für Mitarbeiter oder leitende Ingenieure, die in ein Unternehmen eintreten, wäre, danach zu fragen, da Menschen manchmal versuchen, sehr hochrangige Positionen einzustellen, um ihre Probleme zu lösen. Sie sagen: „Oh, stellen wir einfach jemanden mit sehr, sehr viel Erfahrung ein, weil er Dinge weiß, die wir nicht wissen.“ Und das stimmt nicht. Eine sehr, sehr erfahrene Person kann Ihnen bei vielen Dingen helfen, aber sie wird keine strukturellen Probleme des Unternehmens oder eines Teams lösen.
Und auf der anderen Seite sollte sich ein Engineering Manager fragen, warum er glaubt, diese Person zu brauchen. Meistens stellt man niemanden auf diesem Niveau ein, um großartig zu programmieren. Wenn Sie einen leitenden Ingenieur in Ihrem Team haben, wäre das IC 4 bei Algolia. Sie sind bereits vollkommen in der Lage, was das Codieren betrifft, oder sollten es zumindest sein. Ein Mitarbeiter oder leitender Ingenieur bringt Erfahrung mit etwas mit, das Sie tun möchten, und Sie benötigen ihn möglicherweise, wenn Sie beispielsweise wissen, dass Sie eine Größenordnung erreichen müssen, die noch niemand im Team erreicht hat. Vielleicht könnten Sie es herausfinden, aber Sie wollen einen Beschleuniger, und das wird eine sehr erfahrene Person in Ihrem Team tun.
Diese Fragen im Voraus zu stellen, ist eine gute Möglichkeit, um sicherzustellen, dass es keine Fehlausrichtung gegenüber dem gibt, was erwartet wird. Wenn Sie sehr erfahren sind und gebeten werden, auf einer höheren Ebene zu programmieren oder zu arbeiten, nur weil es eine Fehlausrichtung gab, werden Sie enttäuscht sein und wahrscheinlich gehen. Sie möchten nicht viel Zeit damit verbringen, eine Person auf dieser Ebene einzustellen, nur um sie gehen zu lassen, da dies äußerst kostspielig ist.
Danach würde ich von jemandem auf dieser Senioritätsstufe erwarten, dass er viel liest und viele Gespräche führt. Dies ist etwas, was Sie normalerweise nicht tun, wenn Sie ein Junior-Ingenieur sind. Sie kommen in Ihre Organisation, Sie erhalten Ihre erste Aufgabe und es fließt einfach – Sie fangen an zu arbeiten, Sie fangen an zu programmieren, und das sollten Sie tun, denn das bringt Sie zum nächsten Schritt.
„Ihre Rolle besteht darin, sicherzustellen, dass das gelieferte Produkt passt und skalierbar ist. Und das geht nicht, wenn man es nicht mit anderen Leuten im Unternehmen bespricht.“
Aber wenn Sie auf diesen höheren Ebenen sind, ist es wichtig, dass Sie verstehen, wo Sie stehen, was vor sich geht, wer was tut. Sie müssen nicht nur Beziehungen zu anderen Ingenieuren und leitenden Mitarbeitern aufbauen, sondern auch zu jüngeren Mitarbeitern, Produktmanagern, Designern und Forschern. Sie müssen verstehen, wie das Unternehmen funktioniert und wie Sie sich darin einfügen können, was Sie verbessern können. Wenn es eine schriftliche interne Dokumentation gibt, lesen Sie sie, und wenn Sie fertig sind, lesen Sie sie erneut.
Fragen Sie dann Ihren technischen Leiter, mit wem Sie sich treffen sollten. Jedes Mal, wenn du mit einer neuen Person sprichst, frage sie, mit wem sie ihrer Meinung nach einen interessanten Gesprächspartner finden könnte. Das wird dir Flügel verleihen, weil du Beziehungen aufbaust und begreifst, was vor sich geht. Was sind die Produkte? Was sind die aktuellen Kämpfe? Wo können Sie helfen? Und wie passen Ihr Team und die Produkte, die Sie bauen, in dieses Schema? Denn auf diesen Ebenen geht es bei dieser Fokussierung auf das Produkt nicht mehr nur um die Qualität des Codes. Die Senioren im Team kümmern sich bereits darum, und sie machen das sehr gut. Ihre Rolle besteht darin, sicherzustellen, dass das gelieferte Produkt passt und skalierbar ist. Und das geht nicht, wenn man das nicht mit anderen Leuten im Unternehmen bespricht.
Neue Herausforderungen
Brian: Für Zuhörer, die es nicht wissen, Algolia ist eine leistungsstarke gehostete Such-API. Von außen sieht es nach einem ziemlich erfolgreichen Unternehmen aus, aber ich bin mir sicher, dass Sie viele Herausforderungen und Dinge im Kopf haben. Können Sie uns eine Vorstellung von einigen der großen Probleme geben, über die Sie nachdenken oder an denen Sie arbeiten?
„Die Idee ist, dass Sie unabhängig davon, welchen Weg Sie einschlagen, um nach diesen Daten zu suchen, sie abzurufen und auf der Seite zu landen, mit den richtigen Daten auftauchen.“
Sarah: Wie Sie sagten, ist Algolia eine gehostete Such-API. Das ist die größte API, die wir haben, und sie ist im Moment die erfolgreichste, aber wir haben sie auch ein wenig erweitert. Derzeit gibt es ein Produkt namens Algolia Recommend, das denselben Datensatz verwendet, den Sie für die Suche verwenden, Ihnen jedoch basierend auf einem bestimmten Produkt Empfehlungen gibt.
Bei Algolia geht es nicht nur darum, Inhalte zu suchen, sondern an die Oberfläche zu bringen. Sie haben viele Inhalte, aber nicht alle davon sind gleichzeitig für dieselben Personen relevant. Die Idee ist, dass Sie unabhängig davon, welchen Weg Sie einschlagen, um nach diesen Daten zu suchen, sie abzurufen und auf der Seite zu landen, mit den richtigen Daten auftauchen. Dies ist der Punkt von Algolia. Dabei gibt es Herausforderungen. Wir sind Suchexperten, aber der Aspekt der Empfehlung und des maschinellen Lernens ist eine viel neuere Technologie, also lernen wir mit den neuesten Dingen. Im Vergleich zur Suche gibt es für uns viel zu lernen. Dies ist nicht die größte Herausforderung, aber es ist immer noch eine Herausforderung, sicherzustellen, dass wir denselben Erfolg wiederholen können, den wir mit der Suche hatten.
Nun, es gibt Dinge, in denen Algolia nicht besonders gut ist. Es ist eine Suchmaschine, keine Datenbank. Es wird schnell gehen, es wird irgendwann konsistent sein, aber Sie haben keine Garantie dafür, dass Sie alle Ihre Daten haben werden, dass Ihre Daten immer konsistent sind oder dass alle Ihre Daten vorhanden sein werden. Das ist eine Designentscheidung rund um die Suchmaschine, die sie sehr von einer Datenbank unterscheidet. Abgesehen davon verwenden viele Leute Algolia gerne als Datenbank, weil es sehr einfach ist, Daten an Algolia zu senden, und es ist da und es ist schnell. Vielleicht gibt es da etwas zu lernen. Vielleicht könnte es auch eine Datenbank sein, und ich sage nicht, dass es eine sein wird, aber vielleicht könnte es eine sein. Vielleicht gibt es noch etwas anderes da draußen, das wir verstehen und erforschen müssen.
Es gibt viele Anwendungsfälle, mit denen Algolia nicht arbeiten kann. Einer davon ist der Buchungsanwendungsfall. Wenn Sie ein Airbnb buchen möchten, wird es bei der Suche in Ihren Ergebnissen angezeigt, was bedeutet, dass es verfügbar ist. Aber sobald Sie die Seite erreichen, ist sie nicht mehr verfügbar, weil Sie Ihre Daten aus Ihrer Datenbank nach Algolia replizieren. Wenn Sie etwas in Ihrer Datenbank speichern, senden Sie diese Änderung in einem etwas anderen Format an Algolia. Und weil es diese Verzögerung gibt – das ist nicht Echtzeit – kann so etwas wie der Buchungsanwendungsfall nicht funktionieren. Wenn Sie es mit Airbnbs zu tun haben, ist etwas, das gerade verfügbar ist, möglicherweise nicht in 30 Sekunden verfügbar, aber es kann trotzdem in Ihrer Suchmaschine angezeigt werden, denn wenn Sie gespeichert haben, benötigen Sie vielleicht 10 Sekunden oder so, bis es weitergegeben wird Algolia, und vielleicht ist es fehlgeschlagen und Sie müssen es noch einmal machen. Das sind Dinge auf Suchmaschinenebene, über die wir nachdenken. Ist es etwas, das wir jemals unterstützen könnten? Kommt es nicht in Frage? Was ist der Business Case dahinter? Denn es treibt vieles an.
„Es sollte unsichtbar sein; es sollte nahtlos sein. Die Tatsache, dass dies separate APIs sind, ist nicht Ihr Problem. Das ist unser Problem, das wir lösen müssen.“
Nun, in Bezug auf das Front-End-Team habe ich Algolia Recommend erwähnt. Als Kunde kümmert es Sie nicht wirklich, dass es verschiedene Produkte gibt. Es ist Ihnen egal, dass Sie Algolia Search mit diesen Funktionen und Algolia Recommend mit diesen Unterfunktionen haben. Sie abonnieren Algolia und zahlen Ihre monatliche oder jährliche Gebühr für eine Reihe von Funktionen, von denen Ihnen gesagt wird, dass sie gut zusammenarbeiten. Sie wollen und müssen die künstlichen Grenzen, die wir intern zwischen dieser API und Daten-APIs geschaffen haben, nicht verstehen.
Es gibt dieses Sprichwort: „Versende dein Organigramm nicht“, und ich denke, das ist eines der nächsten großen Themen für uns. Wie können wir sicherstellen, dass Sie sich am Frontend, wenn Sie die Frontend-Bibliothek von Algolia verwenden, nicht fragen müssen, ob Sie dies oder das brauchen? Dass du diese Grenzen nicht spürst? Es sollte unsichtbar sein; es sollte nahtlos sein. Die Tatsache, dass dies separate APIs sind, ist nicht Ihr Problem. Das ist unser Problem zu lösen.
Wir haben Bibliotheken erstellt, die wirklich stark an die Such-API gekoppelt waren, und jetzt müssen wir auf neuere APIs erweitern, die zusammenarbeiten können, und manchmal müssen Sie eine aufrufen, dann eine andere, um die endgültige Antwort zu erhalten. All diese Dinge sind im Moment nicht so nahtlos, wie wir es gerne hätten. Es ist immer noch ein bisschen holprig, wenn Sie diese APIs miteinander verbinden möchten. Es ist möglich, aber Sie müssen Tutorials lesen, durcharbeiten, hier und da ein wenig ändern und einen Boilerplate-Code schreiben. Das ist nicht schön, das macht keinen Spaß und es ist zu viel Arbeit. Wenn wir Ihnen sagen sollen, „benutzen Sie diese Bibliothek“, muss sie eine Aufgabe erledigen, die Sie nicht machen wollen. Es gibt keine Rechtfertigung, die Bibliothek zu verwenden, wenn die Primitive der unteren Ebene so einfach zu verwenden sind, oder?
Im Moment besteht eine der größten Herausforderungen darin, sicherzustellen, dass wir den Wert der Bibliotheken steigern. Sie tun bereits vieles, was die meisten Menschen nicht tun möchten, aber an einem bestimmten Punkt ist es für bestimmte Kunden nicht mehr so nahtlos und angenehm wie früher, als wir nur die Suche hatten. Und das ist das Gefühl, das wir suchen. Dieses Gefühl von „Wow, es ist so viel einfacher als ich dachte.“
Brian: Zu guter Letzt, wo können unsere Zuhörer mit dir Schritt halten?
Sarah: Du findest mich also meistens auf Twitter, ich bin frontstuff_io. Mir ist schmerzlich bewusst, dass dies der schlechteste Griff auf Twitter ist. Sie können mich auch auf sarahdayan.com finden und mir auf GitHub folgen, wenn Sie möchten; Ich verpflichte mich manchmal. Aber ja, wenn Sie chatten möchten, ich glaube, meine DMs sind offen, also senden Sie mir etwas.
Brian: Super. Sarah, vielen Dank, dass du heute zu mir gekommen bist.
Sarah: Danke, dass du mich hast. Das hat Spaß gemacht.