Anforderungen
Bachelor- oder Masterabschluss in Informatik oder verwandten Ingenieurwissenschaften
Mehr als 4 Jahre Erfahrung in der Softwareentwicklung mit den Programmiersprachen C und C++ in einer Linux-Umgebung
Fundierte praktische Entwicklungs- und Architekturkenntnisse von Rechenzentrumsserver-Workloads wie Apache Spark, In-Memory-Datenbanken wie Redis/Cassandra, Datenbanken wie MySQL, Suchanwendungen wie Elasticsearch, Web-Caching-Anwendungen wie Memcached, Webservern wie NGINX/Apache und Speicheranwendungen wie Ceph.
Der ideale Kandidat verfügt über fundierte Architektur- und Entwicklungserfahrung mit einigen der oben genannten Arbeitslasten und ist in der Lage, Bereiche mit Verbesserungspotenzial zu untersuchen und voranzutreiben.
Praktische Programmiererfahrung mit den Interna des Linux-Kernels, Gerätetreibern für Multi-Core-SoCs, Linux-Netzwerk- und Speichersubsystemen
Erfahrung in der Leistungsoptimierung auf BIOS-, Kernel- und Anwendungsebene einschließlich Hardwarebeschleunigern.
Fähigkeit, selbstständig und über verschiedene Regionen hinweg mit Hardware-, SQA- und Produktmanagement-Teams zusammenzuarbeiten.
Ausgezeichnete Problemlösungs- und Debugging-Fähigkeiten sowie gute Englischkenntnisse in Wort und Schrift.
Gutes Verständnis der CPU-Architektur, ARM oder x86
Kenntnisse in domänenspezifischer Beschleunigung für Rechenzentrumsanwendungen, DPDK, SMART NIC, Networking Fast Path und dem Linux-Speicherstack
Kenntnisse in Virtualisierung und Hypervisoren, einschließlich KVM und QEMU
Kenntnisse in Open-Source-Linux, Quellcode-Upstreaming, Git-Repository-Wartung und Quellcodeverwaltung sowie Verständnis des Kernel.org -Workflows.
Leistungsoptimierung des Linux-Kernels
Kenntnisse in den Bereichen Perf, Oprofile, Flame Graphs und die Fähigkeit, Performance-Engpässe zu erkennen.
Kenntnisse von AL/ML-Frameworks wie TensorFlow sind ein zusätzlicher Vorteil.
