In the role of software development engineer, you would be responsible for the development of individual product features for IBM of storage products, IBM Software Defined Storage portfolio, & IBM cloud storage services.
In the role of software development engineer,The individual will be responsible for the development of individual product features for IBM Software Defined Storage family of storage products & IBM cloud storage service.
- Develop, design, and maintain code to enable continuous product delivery and enhancements.
- Collaborate closely with teams to ensure high-quality, performant, and maintainable code that meets product requirements for usability, functionality, and serviceability.
- Participate in the full software development lifecycle, As a Developer to ensure alignment with design specifications and product expectations.
- Serve as a Subject Matter Expert (SME) for IBM’s Software Defined Storage solutions, guiding architectural and design decisions as well as mentoring peers on best practices.
- Partner with senior technical leads and engineering managers to plan, develop, and deliver high-quality software, leveraging deep technical skills and hands-on experience in system and storage domains.
- 3 to 8 years of industry experience in systems engineering and software development, particularly in Linux internals, platform engineering, and automation .
- Strong background in Linux internals, Python programming, Ansible automation, and Shell scripting.
- Hands-on experience with virtualization technologies such as VMware, KVM, and container platforms like Docker, Kubernetes, and OpenShift.
- Solid understanding of Linux networking internals, including TCP/IP, Socket Programming, and Ethernet technologies.
- Deep knowledge of Linux storage internals, including NVMe, iSCSI/SCSI, IP Storage, SSD/HDD, and Cloud Storage.
- Experience developing and deploying products in Public Cloud environments, including the use of cloud templates for customized deployments.
- Familiarity with the software development lifecycle, including tools and processes for debugging and testing.
- Practical experience with storage software stacks on Linux.
- Understanding of enterprise storage features like High Availability, Disaster Recovery, Replication, and Snapshot technologies.
- Experience in Systems/Storage domains, including storage controllers.
- Strong problem-solving abilities for debugging complex issues across multiple modules.
- Proficient in data structures and algorithms.
- Experience with Kubernetes Operators and Custom Resource Definitions (CRDs).
- Familiarity with code and defect management tools.
- Effective communication skills, both written and verbal, for stakeholder engagement and reporting.
- Experience working with global, cross-functional teams.