Summary of Role
The Storage Network Protocols team is expanding and seeking a Senior Software Engineer with strong expertise in Linux/CentOS environments. This role involves designing and owning core technologies focused on high availability and non-disruptive upgrade mechanisms in distributed systems.
The ideal candidate is passionate about building scalable, resilient storage solutions and thrives in a hands-on engineering environment. You'll contribute directly to critical system components and help shape the evolution of the platform as it scales.
As a Principal Software Engineer, you will play a key role in enhancing the cloud-scale NAS platform. Your responsibilities will include:
- Participating in requirements analysis, design, design reviews, and other work related to expanding the platform and operating system.
- Developing and maintaining software and services delivered to customers as part of the NAS appliance.
- Developing and maintaining high availability and upgrade solutions for the NAS appliance.
- Debugging and fixing bugs reported by customers, support, QA, and development.
- Working with customer support to address any escalations.
Primary Responsibilities:
- 8+ years of experience delivering and operating large-scale, highly-available distributed systems and/or cloud services.
- Extensive experience developing code in C, C++.
- Strong knowledge of Linux clustering technologies (such as pacemaker, coro-sync, etc.).
- Deep understanding of object-oriented design and SDK development in both on-premise and cloud environments.
- Strong grasp of data structures, algorithms, multithreading, I/O paths, Linux operating systems, XFS/EXT filesystems, and distributed systems fundamentals.
- Experience working with hypervisor platforms like ESX, Hyper-V, OpenStack, and KVM.
- Experience collaborating with technical partners to translate ambiguous requirements into actionable technical requirements and per-component designs.
- Excellent written and verbal communication skills with the ability to present complex information clearly to all audiences.
- Ability to drive projects and implementation details, including rapid development for proof-of-concept projects.
- Experience mentoring engineers in processes, technologies, and design methodologies.
- Prior technical team leadership and mentoring experience as a Principal Engineer.
Qualifications:
- Degree in Computer Science or equivalent experience covering system design, design principles, and code architecture.
- Experience working with cloud-native platforms and API creation/utilization.
- Contributions to open-source communities are a plus.
- Experience with PostgreSQL as a system backbone is favorable.
- Exposure to cloud storage backend integration with AWS or Azure.
- Knowledge of containerization technologies such as Docker and Kubernetes.
- Familiarity with high-level programming languages including Golang, Java, or Perl.
Experience:
- 11 to 15 years in system/platform software development.
- BE/B.Tech or ME/M.Tech in Computer Science, Electronics and Communications, or MCA