Description:
We are seeking accomplished Staff Software Engineers with a deep knowledge of developing and testing high-performance storage software! The successful candidates will have the opportunity to work with innovative technology (often before public release) on development platforms, software models, FPGAs, and early silicon.
Responsibilities
- Work with Arm internal teams and external partners to identify bottlenecks and missing features,
- Understand storage related requirements, collaborate with other architects/engineers to influence Arm technology,
- Enable and optimise related storage software on Arm servers,
- Improve code quality through testing, working with the QA team to automate CI/CD pipelines,
- Chip in to open-source projects by developing, upstreaming, and maintaining code,
- Mentor others and grow the team's capabilities.
Required Skills and Experience :
- Highly proficient in C and C++,
- Strong grasp of multicore processor architectures and deep understanding of OS concepts such as processes, threads, locks, virtual memory and how they relate to application performance.
- Experience in at least one of the following areas: PCIe, CXL, block storage, object storage, and file systems (especially NFS),
- Expertise in debugging and optimising sophisticated software systems for performance,
- Experience with modern software development (git, Agile, reviews).
“Nice To Have” Skills and Experience :
- An understanding of I/O and networking and their impact on server-side application performance,
- Experience with kernel bypass (RDMA, DPDK, SPDK),
- Experience with cloud native technologies such as Kubernetes, CSI, Ansible,
- Familiarity with PyTorch based training applications.