Storage Software Engineers-File System
Sunnyvale, CA 94086
- Design and develop filesystem and storage software for scalable storage solution
- Full lifecycle storage software development including root-cause analysis and performance characterization.
- Define and drive the architecture of a next generation distributed scale-out file system from scratch.
- Design and implement distributed data management components including distributed journaling file systems, clustering on emerging storage architectures.
- Work with other storage architects on system architecture.
- Design and develop highly optimized software features
- Design, implement and verify product features in a structured manner using best practices
- Hands-on design and development experience in SAN, NAS technologies
- Direct knowledge working in some file-system stack above the block layer
- In-depth knowledge of storage technology design and data-structures for File-systems, disk/block-layer.
- Expert knowledge and experience architecting & designing distributed file systems.
- Expert knowledge of NFS, CIFS, FTP file protocols and storage and network protocol stacks (file system, TCP/IP, UDP, IPsec, SSL, etc.)
Expert knowledge and experience with file system internals.
- Experience in caching, de-dupe, indexing, name-space operations, clustering or distributed systems
- Knowledge of characterization/tradeoff with flash technologies and integration into the storage stack
- Experience in distributed/clustered storage designs is highly desired
- Knowledge in virtualization and hypervisor technologies is desired
- Proficiency in C
- Thorough understanding of Linux networking and storage subsystems
Should be well versed with Data Structures & algorithms, Multi-threading and optimization.
BS, MS, or Ph.D. In Computer Science, Electrical Engineering, or related field
5+ years storage software development experience on Linux platform
Experience in server/storage virtualization, Clustering and/or Distributed Systems is a plus