B&A
Meta
Software Engineer - Host Networking
Über die Stelle
Bei Meta bauen und betreiben wir eines der dynamischsten und schnelllebigsten Netzwerke der Welt, das unsere globalen Rechenzentren antreibt und fortschrittliche Technologien wie KI, generative KI, Empfehlungsmaschinen und Metaverse unterstützt. Unsere Netzwerk-Infrastrukturteams sind für die Entwicklung, Bereitstellung und den Betrieb dieses komplexen Systems verantwortlich und decken den gesamten Netzwerk-Lebenszyklus von der Hardwareentwicklung bis zum Betrieb ab. Wir suchen Software-Ingenieure, die unsere Teams verstärken und uns helfen, skalierbare verteilte Systeme zu entwickeln, effektive Lösungen für unsere Herausforderungen zu entwickeln und diese in die Produktion zu überführen. Als Teil unserer Netzwerk-Engineering-Teams haben Sie die Möglichkeit, an fortschrittlicher Switching-Technologie zu arbeiten, mit Ingenieuren zusammenzuarbeiten und zur Entwicklung der Hyper-Scale-Netzwerkinfrastruktur von Meta beizutragen.
Aufgaben
- Entwurf, Entwicklung und Validierung von Treibern, Firmware und Software für Netzwerkgeräte, Transport-Stacks und KI-Workloads
- Debuggen komplexer systemweiter Probleme und Leitung von Performance-Tuning-Übungen zur Optimierung der Software-Stack-Performance
- Verständnis von Softwarekomponenten aus mehreren Partnerteams, Leitung von Integrationsbemühungen und Förderung der Weiterentwicklung
- Entwicklung und Automatisierung von Testsuiten für das CI/CD Framework und verschiedene Komponenten
- Zusammenarbeit mit Partnerteams zur Integration von Softwarekomponenten, Abstimmung von Zielen und Teilnahme an Bereitschaftsdiensten
- Entwurf, Entwicklung und Bereitstellung von Diensten zur Verwaltung von Rechenzentrums-Netzwerk-Switches und Weiterleitungsfunktionen
- Verbesserung von HPC-Kollektivkommunikations- und parallelen Computing-Bibliotheken (NCCL, RCCL, OneCCL, MPI)
- Entwicklung von Infrastruktur zur Aufrechterhaltung des Switch-Zustands und zur Ermöglichung der Kommunikation zwischen Diensten in großem Maßstab
Mindestanforderungen
- Bachelor-Abschluss in Informatik, Computertechnik, einem relevanten technischen Fachgebiet oder gleichwertige praktische Erfahrung
- 7+ Jahre Erfahrung in der Softwareentwicklung in industriellen Umgebungen oder Promotion mit 4+ Jahren Erfahrung
- 3+ Jahre relevante Erfahrung mit Netzwerkgeräten und -produkten (Router, Switches, Adapter, Load Balancer) und Verständnis von Netzwerk-Routing-Protokollen in industriellen Umgebungen
- Sehr gute Kenntnisse in C/C++ und mindestens einer Skriptsprache (Python/Shell-Skripting)
- Erfahrung in der Entwicklung und Automatisierung von Testsuiten
- Erfahrung in der Zusammenarbeit mit funktionsübergreifenden Teams (z. B. Hardware, Firmware, Test) zur Definition und Bereitstellung technischer Lösungen
Bevorzugte Qualifikationen
- Erfahrung mit einem der folgenden Bereiche: Plattformdienste (Programmierung, Steuerung und Überwachung von Optiken, physikalischer Schicht (PHY), FPGAs, Sensoren, Lüftersteuerung, Stromversorgung usw.), Board Support Package (BSP), Betriebssysteme, Kernel, Bootloader, Energiemanagement, Echtzeitbetriebssystem (RTOS), Linux
- Praktische Kenntnisse des Transport-Stacks, insbesondere Remote Direct Memory Access (RDMA) und/oder RDMA over Converged Ethernet Version 2 (RoCEv2)
- Parallele Computing-Plattformen wie CUDA, RoCM und OpenCL
- Linux Kernel, insbesondere Treiber und Netzwerk-Stack
- Qemu, FPGA-Emulationsumgebung ist von Vorteil
- Systemprogrammierung, TCP/IP, HTTP/HTTPS, SPDY, DNS und Load Balancer
183.997 $/Jahr bis 257.000 $/Jahr + Bonus + Aktienoptionen + Sozialleistungen
