Requirements
Bachelor’s or Master’s degree in computer science or related engineering fields
4+ years of software development with C and C++ languages in a Linux environment
Deep hands-on development and architectural knowledge of datacenter server workloads like Apache SPARK, In-memory databases like Redis/Cassandra, databases like MySQL, search applications like Elastic Search, web caching applications like Memcached, web servers like NGINX/Apache, storage applications like CEPH
Ideal candidate will have deep architecture and development experience with a couple of workloads mentioned above and be able to investigate and drive areas of performance improvement.
Hands-on programming experience with the Linux kernel internals, device drivers for multi-core SoCs, Linux networking and storage sub-systems
Experience in performance optimization at the bios, kernel and application layers including hardware accelerators.
Ability to work independently and across geographies with hardware, SQA and product management teams.
Excellent problem-solving and debugging skills and good English communications skills, both verbal and writing
Good understanding of CPU architecture, ARM or X86
Knowledge of domain specific acceleration for datacenter applications, DPDK, SMART NIC, Networking Fast Path and the Linux Storage stack
Knowledge of Virtualization and Hypervisors including KVM and QEMU
Knowledge of open-source Linux, source code upstreaming, git repository maintenance and source code management and kernel.org flow understanding.
Linux Kernel performance optimization
Knowledge of perf, oprofile, flame graphs and getting visibility into performance bottlenecks
Understanding of AL/ML frameworks like TensorFlow will be an added plus.