**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 Firmware Developer, you will design, develop, test, and deliver offerings for IBM Z using the latest technologies. You will work in a team-based, collaborative environment with peers both locally and across the global organization, applying agile methodologies throughout the entire development cycle.
Your primary responsibilities will include:
• Develop Firmware Components: Create and use design documentation, such as Functional Programming Specifications and high-level design documents, to implement identified components. Ensure that the implemented components are unit tested and ready to be integrated into the product.
• Collaborate with Designers: Work with designers to understand users and create a tangible experience through combined efforts.
• Debug and Test Code: Debug reported problems, design, develop, and unit test code fixes to ensure high-quality deliverables.
• Deliver Solutions: Provide fixes for defects identified by customers and support the development of various projects, including hardware management console mobile apps and I/O adapters.
• Apply Agile Methodologies: Participate in agile development cycles, including design, code implementation, review, unit testing, functional testing, simulation, and real hardware integration testing.
**Required technical and professional expertise**
* Proficient in Python (3.9+) — production-quality systems programming including daemon processes, IPC, file descriptors, and Python package development.
* Strong Linux fundamentals — hands-on experience with system commands, core utilities, shell scripting, and Linux environment.
* Experience with Linux systems programming — VFIO/PCIe device management, kernel driver interaction, and sysfs traversal.
* Solid knowledge of container technologies — Podman CLI and Kubernetes/OpenShift pod lifecycle APIs, image registry, and volume mount management.
* Experience with CI/CD and automation — Jenkins, Tekton, Ansible, or similar platforms; automation scripting across build, test, and deployment stages.
* Skilled in API development and integration — RESTful API design using CherryPy, Flask, and/or FastAPI, with design-level exposure to API architecture.
* Experience with IPC / RPC frameworks — socket programming, rpyc, and inter-process communication patterns.
* Experience with database design and ORM communication — relational and/or NoSQL schema design, query optimisation, and use of ORM frameworks (e.g., SQLAlchemy, Django ORM) for structured data persistence and retrieval.
* Solid understanding of scalable system design — ability to architect distributed, high-availability systems that support multi-card, multi-platform deployments with resilience and minimal downtime.
* Hands-on with CMake and RPM packaging — cross-platform build configuration, versioning, and RPM spec authoring.
* Experience in observability and telemetry — structured logging and metrics pipeline design.
* Excellent communication, coordination, and leadership skills to drive cross-team and cross-functional collaboration.
* Knowledge of system programming languages such as C++, Go, or Rust is an added advantage.
**Preferred technical and professional experience**
Familiarity with IBM Z (s390x) architecture.
* Experience with agentic AI development and workflows — building or integrating LLM-based autonomous agents, tool-use pipelines, or multi-agent orchestration frameworks, MCP & RAG.
* Deep proficiency in C++ and memory management — manual memory management, RAII patterns, and low-level performance optimisation for systems-level components.
IBM is committed to creating a diverse environment and is proud to be an equal-opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, gender, gender identity or expression, sexual orientation, national origin, caste, genetics, pregnancy, disability, neurodivergence, age, veteran status, or other characteristics. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.
Want jobs like this matched to you?
Swoopd scores fresh postings against your résumé so you only see the matches that matter.