The Software Engineering team delivers next-generation software application enhancements and new products for a changing world. Working at the cutting edge, we design and develop software for platforms, peripherals, applications and diagnostics — all with the most advanced technologies, tools, software engineering methodologies and the collaboration of internal and external partners.
Requirements
- Experience in all phases of software development: feasibility, design, implementation, integration, test and delivery
- Expertise in Linux kernel, SCSI, SCST, Fiber Channel, Virtual Tape Libraries, I/O device drivers
- Experience in RAID development and experience in NVMe protocol implementation and firmware development related to NVMe devices
- Expertise in persistent memory, hardware assisted compression technologies
- Experience in one or more of the following languages: C, Python, Go along with knowledge of version control, bug tracking systems (Git, JIRA)
- Experience in Storage domain (SAN/NAS/Virtualization)
- Experience in developing software for software-defined infrastructure, including hybrid cloud/on-prem and multi-cloud environments
Responsibilities
- Design, develop, and maintain Linux kernel-level device drivers for storage subsystems
- Debug and resolve complex kernel and driver-level issues in production environments
- Mentor team members in design collaboration, code reviews, development tools and processes
- Take part in the full software development life cycle including development, test, continuous delivery and support
- Be an active member of an agile team, collaboratively realizing features through development, test and delivery
Other
- Mentor team members in design collaboration, code reviews, development tools and processes
- Be an active member of an agile team, collaboratively realizing features through development, test and delivery