Introduction
At IBM, work is more than a job - it's a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you've never thought possible. Are you ready to lead in this new era of technology and solve some of the world's most challenging problems? If so, lets talk
Your Role And Responsibilities
As a Developer at IBM, you’ll get to work on the systems that are driving the quantum revolution and the AI era. Join our team of creators - the people who help move IBM forward by using their imagination to envision solutions, their curiosity to experiment with new ideas, and their ever-growing skills into action for customers to make better decisions with greater speed on the most trusted platforms in today’s market.
IBM has openings for Software Development Engineers to develop, test and provide support for hardware, firmware and oftware that make up our industry- leading IBM Storage products. We are an elite team of engineering professionals that pioneer innovations for the cutting-edge Software and hardware used in IBM infrastructure including IBM Storage Scale System, IBM DS8000, IBM FlashSystem, IBM Ceph and IBM Protect. Development engineers participate in various aspects of the development, test, and support process.
Preferred Education
Master's Degree
Required Technical And Professional Expertise
- Hold a Bachelor's or Master’s Degree in: Electrical Engineering, Computerr Engineering, Computer Science, Mechanical Engineering, or related majors.
- Prior (project or internship) experience in computer hardware or testing.
- Interest in backend software development and willingness to learn about high-end storage products
- Academic or demonstrated experience developing software or support for software applications
- Knowledge in Bash, Python, C/C++, Databases, Javascript, or REST APIs
- Knowledge of the Linux operating system, including being comfortable using the command line interface
- Firm grasp of software development methodologies (e.g., Agile, DevOps), CI/CD pipelines, version control (Git), and automated testing.
- Demonstrated ability to break down complex technical challenges, propose innovative solutions, and drive them to completion.
- Strong verbal and written communication skills.
- Passion for technology and engineering.
- Growth minded, trusted, team focused, courageous, resourceful, and outcome focused.
Preferred Technical And Professional Experience
Proficiency in one or more of the following technology areas:
- Deep understanding of Python and experience developing software that interacts with hardware, preferably storage systems.
- Proven experience with Python libraries commonly used in storage management and data processing.
- Familiarity with storage concepts such as block storage, object storage, file systems, RAID configurations, and data integrity techniques.
- Experience working directly with storage hardware APIs or protocols (e.g., SCSI, NVMe command sets, vendor-specific APIs).
- Proficiency in Python for tasks related to hardware testing and automation.
- Experience with developing Python-based tools for monitoring and managing storage performance and health.
- Knowledge of data serialization formats relevant to storage systems (e.g., JSON, YAML, Protocol Buffers).
- Experience with Python in embedded systems or interacting with low-level hardware interfaces via libraries.
- Familiarity with performance analysis and optimization techniques in Python, particularly in the context of data I/O.