We are looking for a Senior Software Engineer to join the SDK Verification team. The SDK enables developers to rapidly create applications and services on top of our data processing units (DPUs), leveraging industry-standard APIs. With DOCA, developers can deliver breakthrough networking, security, and storage performance by harnessing the power of our DPUs.
What you'll be doing:
Support DevOps initiatives by developing and maintaining CI/CD pipelines to automate build and deployment processes, and by improving monitoring and observability across services
Contribute to maintaining both physical and cloud-based infrastructure, including troubleshooting and resolving hardware and system-level issues
Debug and analyze complex system-level issues to identify root causes and drive timely resolution
Contribute to the development of verification infrastructure, tackling complex technical challenges to enhance coverage, scalability, and robustness of DOCA services
Engage in the full software development lifecycle of verification components, from design and architecture through implementation and validation
Develop automation to simulate real-world environments and design tests to validate the functionality and performance of the DOCA platform.
Requirements: Bachelors or Masters degree in Computer Science or Software Engineering
Proven experience of 5+ years as a software engineer, with a focus on building complex, scalable systems
Strong programming skills in languages such as Python, Java, C++, or similar
Solid understanding of software design and architecture principles, with hands-on experience applying them
Experience developing CI/CD pipelines and contributing to DevOps practices, with a strong passion for automation
Experience with Linux virtualization (e.g., QEMU/KVM) and container orchestration platforms such as Kubernetes
Experience working with hardware, bare-metal servers, and infrastructure environments
Strong communication and collaboration skills, with the ability to work effectively in a team environment
Ways to stand out from the crowd:
Expert-level proficiency in Python programming
Strong knowledge of one or more networking domains, such as Ethernet, VLANs, TCP/UDP/IP, QoS, and L2/L3 protocols
Experience with software release processes, including codebase management, branching strategies, integrations, maintenance, and bug tracking
Demonstrated ability to quickly learn, adapt, and ramp up on new technologies and domains
Hands-on experience with advanced AI tools and frameworks, and the ability to apply them to real-world engineering challenges.
This position is open to all candidates.