You’ll be responsible for designing, developing, and testing software that runs on SmartNICs, enabling high-performance networking and offloading critical workloads from the main CPU.
Optimize code for performance, efficiency, and low latency
Innovate new ideas in conjunction with networking engineers to optimize overall data center efficiency
Architect solutions for customer’s data center management needs working with multiple lower-level drivers, OS, libraries
Hardware Integration:
You’ll be responsible for designing, developing, and testing software that runs on SmartNICs, enabling high-performance networking and offloading critical workloads from the main CPU.
Troubleshoot and resolve hardware-software interaction issues
Performance Optimization:
Analyze and optimize network performance, identifying bottlenecks and implementing solutions.
Develop and implement performance testing methodologies and tools.
Security:
Design and implement security features for SmartNIC software, ensuring data integrity and confidentiality
Stay up-to-date on security best practices and vulnerability remediation
Collaboration:
Work effectively in a team environment, collaborating with engineers and peer functional leads from different disciplines to innovate solutions, triage issues, and speed execution
Work with product line management, customers, and sales teams to understand requirements
Explain the value addition software brings to technical and non-technical audiences.
Leadership:
Mentor and coach team members on the technical skills and approaches to solve problems.
Review and maintain the quality of code going into production.
Architect software applications that will work across multiple technology generations with minimal changes.
Requirements & Skills:
Strong programming skills: Proficiency in C, C++, P4, and other low-level programming languages.
Networking knowledge: Deep understanding of networking protocols (TCP/IP, Ethernet, etc.) and concepts
Operating system knowledge: Experience with Linux driver kernel development is a plus
Hardware experience: Familiarity with the main elements of CPU, DPU, memory, NICs, and board monitoring elements is a must
Debugging and testing skills: Ability to identify and resolve software and hardware issues.
Problem-solving skills: Strong analytical and problem-solving abilities
Experience with GPU programming: Prior experience with GPU libraries like CUDA and ROCm is a huge plus
Experience with SmartNICs: Prior experience developing software for SmartNICs and understanding of cloud computing architectures and services is the plus