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 This position is for System Z I/O Firmware Simulation team. This team works on providing end to end firmware/hardware simulation solution. I/O Simulation platform provides a scalable, reusable, light weight environment in Linux for firmware developers to bring-up Z firmware code in an efficient manner. Simulation platform is crucial for successful bringup of firmware, as it can take several years until the new system becomes available after re-architecture and changes in system hardware. This team helps business in reduction of development cost and provides faster time-to-market benefit.
Responsibilities:
Understand System Z architecture and hardware/firmware features
Create high level models to simulate hardware
Design and Development of features to aid System Z I/O Firmware bringup and verification.
Collaborate with world-wide firmware/hardware architects and teams to implement needed features.
Resolve technical issues through debugging, research, investigation and collaboration
across teams.
Create unit/functional tests to verify the implemented features.
Good communication skills, both verbal and written.
Required Technical and Professional Expertise
4-7 years of relevant Industry experience
Strong experience with C/C++ programming and data structures.
Strong Linux System programming skills
Some experience in Shell/Python scripting language.
Good understanding of Computer architecture, Operating systems.
Development and debugging experience in Linux
Good analytical, problem solving skills
Experience in device driver development
Knowledge and experience in PCI and I/O devices
Preferred Technical and Professional Expertise
Knowledge/Experience in virtualization technologies
Experience in multiple processor architectures (arm, x86, s390)
Experience in Docker containers
Experience in CI/CD pipeline
Experience in Google test framework
Build tools – CMake, Makefile, exposure to standard compiler infrastructure like LLVM/GNU
Git working knowledge
Familiarity with Remote Procedure Calls (RPCs), like gRPC.
Basic understanding of compilation steps including assembly instructions, linker scripts and libraries.