Introduction
At IBM Infrastructure & Technology, we design and operate the systems that keep the world running. From high-resiliency mainframes and hybrid cloud platforms to networking, automation, and site reliability. Our teams ensure the performance, security, and scalability that clients and industries depend on every day. Working in Infrastructure & Technology means tackling complex challenges with curiosity and collaboration. You'll work with diverse technologies and colleagues worldwide to deliver resilient, future-ready solutions that power innovation. With continuous learning, career growth, and a supportive culture, IBM provides the opportunities to build expertise and shape the infrastructure that drives progress.
Your Role And Responsibilities
As a Back-End Developer for Storage, you will design, develop, unit test, and deliver offerings for IBM Storage products using agile practices and DevOps tooling. You will work in a collaborative environment to understand requirements and create creative solutions to client problems, emphasizing fail-first, fail-fast methods and ensuring world-class quality and resiliency. Your primary responsibilities will include:
- Design and Develop Storage Solutions: Design, code, debug, and test creative solutions to client problems and requirements, utilizing languages such as Embedded C, C, Python, GoLang, scripting languages (Ansible), C++, and Java.
- Collaborate with Cross-Functional Teams: Work in a collaborative environment to understand requirements and ensure solutions meet client needs, emphasizing fail-first, fail-fast methods and user mode programming.
- Ensure Quality and Resiliency: Ensure world-class quality and resiliency in solutions, supporting strategic imperatives including artificial intelligence and cloud.
- Develop Software Applications: Design software applications or device drivers for Linux, Unix, AIX, and RTOS, and work on Red Hat OpenShift or Kubernetes container software.
- Optimize Performance: Apply knowledge of performance engineering, Linux kernel level programming, and clustering/distributed computing networking technologies to optimize solution performance.
Preferred Education
Master's Degree
Required Technical And Professional Expertise
- Strong C, JAVA, Linux Programmer, Good to have Python.
- Hands on Systems Programming, Network Programming, IP security protocol.
- Understanding of security concepts like encryption, key management, authentications, certificate signing processes, data integrity etc.
- Knowledge of Linux internals, Servers, networking and SAN
- Knowledge and experience of Fibre Channel Protocol (FCP Stack) and FC driver development
- Knowledge of storage domain (Replication, Virtualization, RAID, Block/File IO, compression , encryption)
- Strong Debugging and problem-solving skills
- Proven Storage domain knowledge with hands-on experience on storage software stack implementation and features like High availability, storage multi-pathing solutions.
- Good problem-solving skills for complex issues with interdependencies across multiple modules
- Ability to crisply communicate with stake holders (clients and level 3 support teams) for resolving field issues.
- Knowledge and hand-on usage of code and defect management tools.
- Good written/verbal communication skills to report program status crisply and accurately.
- Experience working with Global teams.
- Good technical leadership skills to mentor new team members
- Familiarity with Host OS virtualization (VMware, MS Hyper-V)
- Familiarity with protocol analysers, IO exercisers, IO jammers and performance tools
- Hands on wire traces, fibre channel frame traces.
- Ability to go through protocol specifications
- Strong automations skills using Perl /Python
- Good to have experience in ethernet/FC adapters testing and qualifications.
Preferred Technical And Professional Experience
Experience working with Fibre Channel adapters
Experience / Knowledge of block storage replication/concepts