• Strong knowledge of programming languages; operating systems; firmware; BIOS; device drivers; databases; system, network, operating system, and application administration; embedded software/firmware; tools and utilities
• Able to code/debug and guide others to code/debug flexible, scalable and complex programs, using either written or verbal design specifications
• Experience with multiple programming languages, databases, operating systems, tools and hardware platforms. able to achieve mastery of new tools, languages and operating systems with some training and on-the-job experience
• Familiarity with several Software Lifecycle and Quality assurance methodologies
• Able to define and document how a specific Software Lifecycle and Quality assurance method will be used for specific projects
• Able to participate and add value in all phases of software development: feasibility, design, implementation, integration, test and delivery
• Strong knowledge of software architectures and applications
• Strong knowledge of network file systems, disk-based file systems and/or file virtualization technology
• Strong knowledge of replication technologies and server migration strategies
• Strong knowledge of server, storage, networking and client technologies
• Strong knowledge of Scrum events, artifacts and roles. Able to coach others in Scrum framework practice.
You will:
- Design and develop various Data-domain features. Participate in design collaboration, code reviews, exercising development tools and processes
- Take part in the full software development life cycle including development, testing, continuous delivery and support.
- Refine designs based on feedback, testing, and evolving requirements.
- Work with cross-functional teams, partners, and customers. Ensure seamless integration of components and technologies. Be an active member of an agile team.
Essential Requirements
- 8+ years of experience with design, implement and develop file system/security software using C/C++, python, go language. Strong Analytical, Debugging and troubleshooting skills using tools like GDB.
- Good understanding of Data Structures and Algorithms
- Proficiency and hands-on coding experience in C/C++. In-depth experience in Linux user-space development, multithreading and storage solutions.
- Practical expertise in troubleshooting, debugging, performance optimization, and refactoring of complex systems.
- Extensive knowledge of Object-oriented design, data structures and algorithms. Hands-on experience with Python and Bash scripting, CI/CD, automation. Agile-based development experience.Knowledge in Kubernetes, Hypervisors, and Containers
Desirable Requirements:
- Experience in data security, working knowledge with crypto libraries, encryption methods.Hands-on experience with gdb micros, core file analysis, and makefiles, REST API.
- Experience in storage domain background, file system internals, and sharing technologies (algorithms, protocols, file systems).Experience of working in Scale out filesystems is a plus.