Auf einen Blick
- Aufgaben: Entwickle und optimiere hochleistungsfähige Software für KI-gestützte Infrastruktur.
- Unternehmen: Innovatives Unternehmen mit internationalem Team und offener Kultur.
- Vorteile: Wettbewerbsfähige Vergütung, Karrierewachstum und flexible Arbeitsbedingungen.
- Weitere Informationen: Dynamisches Umfeld mit Möglichkeiten zur persönlichen und beruflichen Weiterentwicklung.
- Warum dieser Job: Gestalte die Zukunft der KI-Infrastruktur und arbeite mit modernster Technologie.
- Qualifikationen: Mindestens 5 Jahre Erfahrung in C/C++ und starke Problemlösungsfähigkeiten.
Das prognostizierte Gehalt liegt zwischen 63000 - 77000 € pro Jahr.
Diese Position wird im Auftrag eines Partnerunternehmens ausgeschrieben, das alle Bewerbungen und nächsten Schritte verwaltet. Unser Partner sucht einen Senior Software Engineer (YDB Team) mit Sitz in der Schweiz. Dies ist eine Gelegenheit, an einer hoch skalierbaren Infrastruktur zu arbeiten, die anspruchsvolle KI- und Cloud-Workloads unterstützt. Sie werden zu einer Open-Source-verteilten Datenbank- und Speicherplattform beitragen, die im Herzen kritischer Cloud-Dienste steht. Die Rolle konzentriert sich auf die Lösung komplexer Systemherausforderungen durch leistungsstarke C++-Entwicklung und fortgeschrittene Optimierung.
Sie werden mit moderner Hardware arbeiten, einschließlich Hochgeschwindigkeitsnetzwerken, NVMe-Speicher und Datenverarbeitungsbeschleunigern. Ihre Arbeit wird direkt die Leistung, Zuverlässigkeit, Skalierbarkeit und Effizienz über produktionsreife Infrastruktur beeinflussen. Sie werden mit erfahrenen Ingenieuren in einem internationalen, schnelllebigen Umfeld zusammenarbeiten, in dem technisches Eigentum gefördert wird. Dies ist eine praktische Rolle für jemanden, der sich für Low-Level-Systeme, verteiltes Rechnen und den Aufbau von Infrastruktur für die Zukunft der KI begeistert.
Verantwortlichkeiten
- Entwickeln und Optimieren von YDB-Komponenten, um die Vorteile moderner Hardware, einschließlich QLC NVMe-Laufwerken, Hochgeschwindigkeitsnetzwerkadaptern und DPUs, voll auszuschöpfen.
- Verbessern der Leistung über weit verbreitete Speichertechnologien, einschließlich HDDs und TLC NVMe-Geräten.
- Neugestalten von Systemkomponenten mit effizienteren Algorithmen zur Bewältigung komplexer Skalierbarkeits-, Leistungs- und Zuverlässigkeitsherausforderungen.
- Entwerfen und Implementieren von hochleistungsfähigen, latenzarmen Softwarekomponenten für stark belastete Produktionssysteme.
- Analysieren des Systemverhaltens und Identifizieren von Leistungsengpässen mithilfe von Profiling-, Debugging- und Diagnosetechniken.
- Arbeiten an verteilter Speicher- und Datenbankinfrastruktur, die anspruchsvolle KI- und Cloud-Workloads unterstützt.
- Beitragen zur Zuverlässigkeit, Verfügbarkeit und Haltbarkeit von produktionsreifen verteilten Systemen.
- Aktiv an der Untersuchung und Lösung von Vorfällen teilnehmen, um Ursachen zu identifizieren und dauerhafte Verbesserungen umzusetzen.
- Mit Ingenieuren aus Infrastruktur-, Speicher-, Netzwerk- und KI-Teams zusammenarbeiten, um robuste technische Lösungen zu liefern.
- Zu einem Open-Source-Codebeitrag leisten und an technischen Diskussionen, Designentscheidungen und kontinuierlicher Verbesserung teilnehmen.
- Die Verantwortung für technische Herausforderungen von der Untersuchung und dem Design bis zur Implementierung, Optimierung, Testung und Produktion übernehmen.
Anforderungen
- 5+ Jahre Berufserfahrung in der Entwicklung in C oder C++ für stark belastete, leistungs-kritische Systeme.
- Starkes Verständnis von Low-Level-Systemkonzepten, einschließlich CPU-Caches, modernen CPU-atomaren Operationen und NUMA-Architekturen.
- Nachweisliche Erfahrung in der Entwicklung von hochleistungsfähigen und latenzarmen Softwarekomponenten.
- Fähigkeit, komplexe Produktionsprobleme mithilfe von Core-Dumps, Flame Graphs, sanitisierten Builds und verwandten Debugging-Techniken zu untersuchen.
- Starke Fähigkeiten in der Systemprogrammierung und Leistungsoptimierung mit einem analytischen Ansatz zur Diagnose von Engpässen.
- Erfahrung mit on-disk Datenstrukturen wie LSM-Bäumen oder B+-Bäumen ist ein großer Vorteil.
- Praktische Erfahrung mit Tools wie perf, VTune, bpftrace oder gdb ist wünschenswert.
- Kenntnisse über Speicheralgorithmen, einschließlich Erasure Coding und Checksumming, sind von Vorteil.
- Verständnis der internen Abläufe von Speichergeräten, insbesondere NVMe- und HDD-Technologien.
- Vertrautheit mit der Linux-Kernel-Entwicklung und Technologien wie SPDK, DPDK, libaio oder io_uring ist vorteilhaft.
- Kenntnisse über Netzwerk Konzepte und Protokolle, einschließlich IP, TCP, UDP und DNS; Erfahrung mit InfiniBand, RoCE oder RDMA ist von Vorteil.
- Erfahrung mit Kubernetes und Grafana ist wünschenswert.
- Erfahrung im Entwerfen von produktionsreifen verteilten Speicherkomponenten und Verständnis von Verfügbarkeits- und Haltbarkeitsberechnungen ist sehr geschätzt.
- Nachgewiesene Fähigkeit, komplexe Systeme zu beheben, an der Vorfalllösung teilzunehmen und effektiv in kollaborativen Ingenieureumgebungen zu arbeiten.
- Starke Eigenverantwortung, Problemlösungsfähigkeiten und Begeisterung für die Bewältigung technisch herausfordernder Infrastrukturprobleme.
- Bereitschaft, an Programmierinterviews im Rahmen des Rekrutierungsprozesses teilzunehmen.
- Kandidaten müssen berechtigt sein, in dem Land zu arbeiten, in dem sie sich bewerben.
Vorteile
- Wettbewerbsfähige Vergütung.
- Karrierewachstum und kontinuierliche Lernmöglichkeiten.
- Flexibilität und erhebliche Eigenverantwortung über Ihre Arbeit.
- Gelegenheit, an wirkungsvoller Infrastruktur zu arbeiten, die fortschrittliche KI-Workloads unterstützt.
- Kollaborative, innovative und technisch orientierte Arbeitskultur.
- Internationales Umfeld mit hochqualifizierten Ingenieur- und Forschungsteams.
- Gelegenheit, mit modernsten Technologien in den Bereichen Rechnen, Speicherung, Netzwerke und verteilte Systeme zu arbeiten.
- Bedeutsame Möglichkeit, die Leistung und zukünftige Richtung der großangelegten KI-Infrastruktur zu beeinflussen.
- Inklusive Arbeitsplatz, der sich für Chancengleichheit einsetzt.
- Unterstützung und angemessene Vorkehrungen während des Bewerbungsprozesses verfügbar.
Senior Software Engineer (YDB Team) Arbeitgeber: Jobgether
Jobgether ist ein hervorragender Arbeitgeber, der kreative Talente in der Schweiz anzieht. Mit flexiblen Arbeitsbedingungen, 20 Urlaubstagen und umfassender medizinischer Versicherung bietet das Unternehmen nicht nur ein unterstützendes und innovatives Arbeitsumfeld, sondern auch zahlreiche Möglichkeiten zur beruflichen Weiterentwicklung. Hier haben Sie die Chance, in einem dynamischen Team zu arbeiten und Ihre kreativen Ideen in die Tat umzusetzen.
StudySmarter Expertenrat🤫
Wir sind der Meinung, dass du so Senior Software Engineer (YDB Team) erhalten könntest
✨Engagier dich in Entwickler-Communities!
Lass uns mal ehrlich sein: In der Software-Entwicklung sind Netzwerke Gold wert! Tummel dich in GitHub-Projekten, nehme an lokalen Meetups oder Hackathons teil und vernetze dich mit anderen Entwicklern. So steigerst du nicht nur deine Sichtbarkeit, sondern lernst auch die neuesten Trends und Technologien kennen.
✨Zeig deine Fähigkeiten!
Erstelle ein Portfolio, das deine besten Projekte und Code-Examples zeigt. Nichts überzeugt mehr als ein praktischer Beweis deiner Skills. Das kann auch helfen, bei Jobgether anzuklopfen, wenn du dich auf die Stelle als Senior Software Engineer (YDB Team) bewirbst – so wissen sie gleich, was sie von dir erwarten können!
✨Nutze Jobplattformen speziell für Tech-Jobs!
Plattformen wie Stack Overflow Jobs oder AngelsList sind perfekte Orte, um Vollzeitstellen in der Software-Entwicklung zu finden. Hier sind viele tolle Unternehmen auf der Suche nach Talenten wie uns, also schau regelmäßig vorbei und bewirb dich direkt über die Website.
✨Such dir Mentoren und Feedback!
Hol dir Feedback von erfahrenen Entwicklern, die dir Tipps geben können, was Recruiter wirklich suchen. Ob über LinkedIn oder persönliche Kontakte: Menschen, die sich in der Branche auskennen, können enorm wertvoll sein, um dir zu helfen, dich optimal auf deine Bewerbung bei Jobgether vorzubereiten!
Wir glauben, dass du diese Fähigkeiten brauchst, um Senior Software Engineer (YDB Team) mit Bravour zu bestehen
Einige Tipps für deine Bewerbung 🫡
Highlights deiner Coding-Skills:In der Software-Entwicklung kommt es auf konkrete Fähigkeiten an. Vergiss nicht, relevante Programmiersprachen und Frameworks in deinen Lebenslauf aufzunehmen. Zeig uns, was du kannst – vielleicht mit einem Link zu deinem GitHub-Profil oder einer Übersicht deiner Side Projects, die deine Programmierkenntnisse illustrieren.
Dokumentation deiner Erfolge:Gerade bei einer Vollzeitstelle in der Software-Entwicklung sind konkrete Ergebnisse Gold wert. Nenn uns Zahlen und Ergebnisse aus deinen vorherigen Projekten. Hast du den Code optimiert oder Systemfehler behoben? Solche Erfolge zeigen, dass du die Sprache der Entwickler sprichst und einen echten Mehrwert bringst.
Attraktive Projektbeschreibungen:Wenn du an Projekten gearbeitet hast, die hervorstechen, beschreibe sie ausführlich in deinem Lebenslauf. Was war das Problem, das du gelöst hast? Welche Technologien hast du eingesetzt? Das gibt uns einen klaren Einblick in deine Herangehensweise und Problemlösungsfähigkeiten.
Motivation zeigen:In deinem Anschreiben solltest du deine Motivation für die Stelle im Bereich Software-Entwicklung bei Jobgether klar herausstellen. Warum sprichst gerade du die Anforderungen für diese Vollzeitrolle an? Mach deutlich, was dich an der Arbeit bei uns reizt und wie du über das rein Technische hinaus wachsen möchtest.
Wie man sich auf ein Vorstellungsgespräch bei Jobgether vorbereitet
✨Technische Vorbereitung auf die Coding-Challenges
In der Software-Entwicklung sind technische Fragen oft ein zentraler Teil des Interviews. Macht euch mit Plattformen wie LeetCode oder HackerRank vertraut, um eure Problemlösungsfähigkeiten zu trainieren. Zeigt im Interview viel Selbstbewusstsein beim Erklären eurer Ansätze!
✨Das eigene Portfolio im besten Licht präsentieren
Stellt sicher, dass ihr ein aussagekräftiges Portfolio habt, das einige eurer besten Projekte zeigt. Seid bereit, darüber zu sprechen, was eure Rolle war, welche Technologien ihr verwendet habt und welche Herausforderungen es gab. Das gibt den Interviewern einen Einblick in eure praktische Erfahrung.
✨Teamfähigkeit und Kommunikation betonen
In einer Vollzeit-Position wird Kommunikation im Team sehr wichtig sein. Seid bereit, Beispiele aus der Vergangenheit zu teilen, in denen ihr effektiv im Team gearbeitet habt. Dies zeigt, dass ihr nicht nur technische Fähigkeiten habt, sondern auch gut ins Team passt.
✨Vorbereitung auf Fragen zur Software-Architektur
Bereitet euch darauf vor, Fragen zur Software-Architektur zu beantworten. Themen wie RESTful APIs, Microservices und Cloud-Architekturen können Teil eures Interviews sein. Zeigt euer Verständnis durch Diskussionen und Beispiele aus eurer bisherigen Arbeit oder Projekte.