Fragen Sie jeden Engineering-Leiter in einem wachsenden Unternehmen, was seine oberste Priorität ist, und er wird wahrscheinlich sagen: Einstellung. Wenn wir darüber nachdenken, wie wichtig die Annahme eines Jobs sowohl für das Unternehmen als auch für den Kandidaten ist, scheinen die wenigen Stunden des Vorstellungsgesprächs ziemlich kurz zu sein. Wir möchten sicherstellen, dass unser Bewerbungsgesprächsprozess diese Zeit optimal nutzt, um sowohl Kandidaten als auch Databricks zu helfen zu verstehen, ob die Stelle gut passt. Wir möchten etwas über Sie erfahren und sicherstellen, dass Sie die Informationen erhalten, die Sie benötigen, um die beste Entscheidung zu treffen. Eine der besten Möglichkeiten, dies zu erreichen, ist die Gestaltung von Vorstellungsgesprächen, die Konversation und Zusammenarbeit betonen. Reale Probleme sind unübersichtlich und komplex. Wir möchten verstehen, wie Kandidaten abstrakte Herausforderungen lösen, mehr als wir eine spezifische Lösung sehen wollen.
Trotz des Umfangs der Infrastruktur, die Databricks betreibt, haben wir eine relativ kleine Engineering-Organisation. Wir betreiben Millionen von virtuellen Maschinen, generieren Terabytes an Protokollen und verarbeiten Exabytes an Daten pro Tag. In unserem Umfang beobachten wir regelmäßig Fehler in der Cloud-Hardware, im Netzwerk und im Betriebssystem, und unsere Software muss unsere Kunden von all dem anmutig abschirmen. Wir tun all dies mit weniger als 200 Ingenieuren.
Unsere Größe bedeutet, dass wir die Flexibilität haben, die Technologie zu übernehmen oder zu entwickeln, von der wir glauben, dass sie die beste Lösung für jede technische Herausforderung darstellt. Die Kehrseite ist, dass viele Teile unserer Infrastruktur noch ausreifen, sodass sich die Bedenken für viele Initiativen über den Umfang eines einzelnen Dienstes hinaus erstrecken. Es ist auch immer noch ein Startup, sodass die Grenzen von Eigentum und Verantwortung nicht immer klar sind. Das bedeutet, dass es einfach ist, Änderungen vorzunehmen und Auswirkungen außerhalb Ihrer Kernbereiche zu erzielen, und dass Sie viel mehr von einem Projekt besitzen werden, als Sie es woanders tun würden.
Worin werden Sie nach der Arbeit bei Databricks ein Meister sein? Sie werden in der Lage sein, skalierbare Systeme im Bereich Big Data und Machine Learning zu erstellen. Die meisten Ingenieure beschäftigen sich nicht täglich mit angewandtem ML, aber wir verstehen tiefgreifend, wie es in einer Reihe von Branchen für unsere Kunden eingesetzt wird.
Unsere technischen Interviews bestehen aus einer Mischung aus technischen und Soft-Skills-Bewertungen, die zwischen 45 und 90 Minuten dauern. Während einige unserer technischen Interviews eher traditionelle Algorithmusfragen sind, die sich auf Datenstrukturen und Grundlagen der Informatik konzentrieren, haben wir uns zunehmend auf praxisorientierte Problemlösungs- und Coding-Bewertungen verlagert. Selbst bei den Algorithmusfragen dürfen Kandidaten das Problem lieber auf einem Laptop als auf einer Tafel lösen. Dies hilft uns, einen Eindruck davon zu bekommen, wie sie Code in einer realistischeren Umgebung schreiben. Bei unseren Coding-Fragen konzentrieren wir uns weniger auf Algorithmenkenntnisse und mehr auf Design, Code-Struktur, Debugging und das Erlernen neuer Domänen. Zum Beispiel werden einige unserer technischen Fragen wahrscheinlich eine Sprache/ein Framework verwenden, mit dem Sie nicht vertraut sind, sodass Sie die Fähigkeit demonstrieren müssen, Dokumentationen zu lesen und ein Problem in einem neuen Bereich zu lösen. Andere Fragen beinhalten den schrittweisen Aufbau eines komplexen Programms durch Befolgen einer Feature-Spezifikation.
Wir passen unsere Interviews auch an den Hintergrund, die Berufserfahrung und die Rolle des Kandidaten an. Für Fullstack-Rollen verbringen wir mehr Zeit mit den Grundlagen der Webkommunikation (HTTP, WebSockets, Authentifizierung), Browser-Grundlagen (Caching, JS-Ereignisbehandlung) und API-Datenmodellierung. Für Low-Level-System-Engineering werden wir Multithreading und OS-Primitive hervorheben.
Ich empfehle drei Dinge zur Vorbereitung:
Haoyi aus unserem Dev Tools-Team hat einen großartigen Blogbeitrag darüber geschrieben, wie man effektiv interviewt, der gute Einblicke gibt, wie wir unsere Interviews strukturieren und was wir suchen.
Nachdem wir nun behandelt haben, was wir suchen und wie man sich auf Vorstellungsgespräche vorbereitet, gibt es ein paar Dinge, die Sie während eines technischen Vorstellungsgesprächs bewusst nicht tun sollten.
Das Wichtigste ist mangelnde Leidenschaft oder Interesse an der Stelle. Denken Sie daran, Sie interviewen auch das Unternehmen, und es ist wichtig, dass Sie zeigen, dass Sie sich für eine gute Übereinstimmung einsetzen. Geringe Begeisterung, mangelnde Vertrautheit mit dem Databricks-Produkt, keine Fragen stellen und sich im Allgemeinen darauf verlassen, dass der Interviewer das gesamte Gespräch leitet, sind alles Anzeichen dafür, dass Sie nicht interessiert sind. So wie Sie einen Bewerbungsprozess wünschen, der Sie herausfordert und auf Ihre Fähigkeiten und Interessen eingeht, mögen wir Kandidaten, die uns schwierige Fragen stellen und sich die Zeit nehmen, uns kennenzulernen.
Bei technischen Interviews versuchen wir, wenn ein Kandidat eine nicht funktionierende Lösung verfolgt, ihm zu helfen, dies zu erkennen, bevor er viel Zeit mit der Implementierung verbringt. Wenn der Interviewer Fragen stellt, versucht er wahrscheinlich, Sie auf einen anderen Weg zu lenken. Anstatt an einer Einzellösung festzuhalten, nehmen Sie sich einen Moment Zeit, um zurückzutreten und Ihren Ansatz mit neuen Hinweisen oder Fragen zu überdenken. Denken Sie daran, dass Ihr Interviewer wahrscheinlich dieselbe Frage Dutzende Male gestellt und eine Reihe von Ansätzen gesehen hat. Sie wollen auch sehen, wie Sie in einer realen Umgebung reagieren würden, in der Sie mit einem Team zusammenarbeiten würden, das auf ähnliche Weise Hilfe anbietet.
Für Interviews, die sich auf die Berufserfahrung und Soft Skills konzentrieren, haben Sie spezifische Beispiele. Es ist in Ordnung, mit einer allgemeinen Verallgemeinerung zu beginnen, aber erzählen Sie eine Geschichte darüber, wie spezifische Beispiele aus Ihrer bisherigen Berufserfahrung die Frage beantworten. Wenn Sie über Ihre Berufserfahrung sprechen, versuchen Sie, (1) das Problem klar zu definieren, (2) Ihre Lösung, (3) das Ergebnis und (4) mögliche Überlegungen zu Verbesserungen. Eine gute Möglichkeit, eine gut durchdachte Antwort zu geben, ist die Verwendung der STAR Interview Response Technique.
In einem Startup wie Databricks ist die wichtigste Eigenschaft, die ich bei erfolgreichen Ingenieuren gesehen habe, Eigenverantwortung. Wir wachsen schnell, was jede Woche viele neue Herausforderungen mit sich bringt, aber es ist nicht immer klar, wie sich die Verantwortlichkeiten auf die Teams verteilen und Prioritäten festgelegt werden. Großartige Ingenieure gehen mit dieser Mehrdeutigkeit um, indem sie die wirkungsvollsten Probleme identifizieren, an denen sie arbeiten können, nicht nur die, die auf die Verantwortlichkeiten ihres aktuellen Teams beschränkt sind. Manchmal bedeutet dies, direkt an der Erstellung der Lösung mitzuwirken, aber oft geht es darum, andere zu motivieren, die Arbeit zu priorisieren.
Die zweite Eigenschaft, auf die wir uns konzentrieren, insbesondere bei jüngeren Karrieren, ist die Fähigkeit zu lernen und zu wachsen. Die Ableitung von Wissen ist oft wichtiger als die aktuellen technischen Fähigkeiten eines Kandidaten. Viele der technischen Probleme, die wir lösen, haben keine bestehenden Vorlagen, denen man folgen kann. Das bedeutet, dass man ständig Schichten der Abstraktion durchbrechen muss, um das größere System zu betrachten – von den untersten CPU-Befehlen bis hin zur Darstellung von Visualisierungen im Browser.
Wie habe ich diese Eigenschaften in Vorstellungsgesprächen gesehen? Ingenieure, die viel Eigenverantwortung zeigen, können oft detailliert über die angrenzenden Systeme sprechen, auf die sie sich für ihre bisherige Arbeit verlassen haben. Zum Beispiel kennen sie die Stärken und Schwächen einer bestimmten Speicherschicht oder eines Build-Systems, das sie verwendet haben, und warum. Sie erstellen auch oft Änderungen, um ihr Team effektiver zu machen – sei es durch Tooling-Verbesserungen oder Prozessänderungen. Wachstum zeigt sich in der Reflexion über frühere Arbeiten. Keine Lösung ist perfekt, und großartige Ingenieure wissen, was sie als nächstes oder anders tun würden. Viele Kandidaten sagen, dass die Möglichkeit zu wachsen ihr Hauptkriterium für die Wahl ihres nächsten Jobs ist, aber sie sollten darüber sprechen können, was sie bereits tun, um zu wachsen. Vielleicht ist das ein Nebenprojekt, eine neue Technologie, die sie kürzlich gelernt haben, eine Verbesserung ihrer Entwicklungsumgebung oder eine Mentorenbeziehung, die sie in ihrer aktuellen Rolle pflegen.
Das Workspace-Team unterstützt eine ziemlich breite Palette von Produktanwendungsfällen, und die meisten Teammitglieder arbeiten Full-Stack. Wir suchen Generalisten, die gezeigt haben, dass sie neue Technologien schnell erlernen können. Wir sind auch sehr kundenorientiert und benötigen Ingenieure, die tief graben können, um unsere Benutzer zu verstehen und Anforderungen zu formulieren. Mehrere Teammitglieder hatten entweder eigene Startups oder waren frühe Mitarbeiter bei Startups.
Einer der besten Wege, eine Rolle zu verstehen, ist die Frage: „Wovon werde ich ein Meister werden?“ Für das Workspace-Team sind es drei Hauptfähigkeiten.
Bei Databricks suchen wir ständig nach Software-Ingenieuren, die die von uns besprochenen Eigenschaften verkörpern. Wenn Sie daran interessiert sind, einige der Herausforderungen zu lösen, mit denen wir uns derzeit hier befassen, besuchen Sie unsere Karriereseite und bewerben Sie sich für ein Vorstellungsgespräch mit uns!
Ted Tomlinson ist Director of Engineering bei Databricks. Er leitet das Workspace-Team, das für das Flaggschiff-Produkt für kollaborative Notebooks von Databricks und die Dienste zur Ermöglichung interaktiver Datenwissenschaft und maschinellen Lernens in verschiedenen Umgebungen verantwortlich ist.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
