PhD degree in Computer Science, a related technical field, or equivalent practical experience.
Experience coding in one of the following programming languages including but not limited to: C, C++, Java, or Python.
Experience in one or more of the following: architecting or developing distributed systems, concurrency, multi-threading, or synchronization.
Preferred qualifications:
Experience with performance, reliability, systems data analysis, visualization tools, or debugging.
Experience in code and system health, diagnosis and resolution, and software test engineering.
Research experience in algorithms, architecture, artificial intelligence, compilers, database, data mining, distributed systems, machine learning, networking, or systems.
Experience with performance, reliability, systems data analysis, visualization tools, architecture, compilers, database, data mining, networking or systems.
Experience with Unix/Linux, Kernel development, microcontrollers, SoC, device drivers, hardware, power management, ARM processors, performance optimization, file systems, bootloading, firmware, x86 assembly, system BIOS, or hardware/software integration.