Our client seeks a Sr. Software Engineer with 9+ years of experience. Designs, develops, documents, tests, and debugs new and existing software systems, applications, and solutions. Serves as technical expert on development projects. Creates and utilizes software tools. Responsible for scoping customer needs, defining and architecting software products. Participates in development life cycle including requirements analysis, design and testing. Supports, maintains, and documents software functionality. Identifies and evaluates new technologies for implementation. Analyzes code to find causes of errors and revises programs as needed. May consult with Product Management or end user to prototype, refine, test, and debug programs to meet needs.
Seeking a software engineer with excellent design, development and debugging experience in a Linux storage environment to be part of a team designed to implement new modern storage technologies including management, hybrid/cloud storage and advanced file systems. This role requires the ability to work in various areas of storage including cloud interaction, device storage stacks and connections between the device and the cloud. The position is broad and allows for expanding your horizons in current exciting technology directions.
Responsibilities and Skills
• Development in C++ on Linux platforms for storage products
• Specific focus on new file system and advanced data replication techniques development
• Work closely with various teams including other storage development teams, support, sales and product management to create demos of new technology and communicate architecture concepts to enable taking the new technology to production.
• Excellent understanding of storage concepts including both block and file
• Design and develop automated unit tests
• 6+ or more years industry experience in software development for designing and supporting Linux-based storage appliances and/or production systems
• Experience in Linux environment including general administration and support, Linux kernel, C/C++ and scripting languages, networking, and SAN/NAS servers
• Deep & strong understanding of file system architecture & principles, as well as storage/server HW architecture
• Understanding of distributed file systems, data replication techniques, clustering
• Understanding of File System metadata and how it is used
• Excellent analytical & debugging skills
• Desired: working knowledge of what a global locking system is & pros/cons of its use
• Desired: API creation and usage for storage systems and related management
• Desired: knowledge of cloud storage, cloud computing, data center operations
• Strong communication skills (both written and verbal)
• Bachelor of Science in Computer Science or equivalent
Keywords: Linux, C++,global file system, metadata, replication, distributed file system, block storage, SMB, Samba, NFS, POSIX, Object Storage, op-locks, ACLs, locking, versioning, snapshots, caching, clustering, multi-threading