Firmware Developer Intern - Poughkeepsie
Listed on 2026-10-08
-
Software Development
Software Engineer, Unix/Linux
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
Firmware may exist anywhere in a computing system from the central computing complex to management consoles, power supplies, and I/O adapters within IBM mainframes. Some firmware teams include:
- Development of the hardware management console web interface and mobile app (Java)
- Development for the world's highest security cryptographic processors (C, C+ +, Java)
- Development and support of I/O adapters (networking and storage) and Secure Service Containers used to support applications using blockchain technology. (C)
- Server virtualization and a Parallel Sysplex environment so that mainframes can communicate as a single entity. (Assembler)
- Implementation of complex z/ Architecture instructions, concurrent and recovery functions (Assembler)
- Development of control systems for IBM Quantum room temperature electronics
Our engineers apply agile methodologies throughout the entire development cycle, from design, code implementation/review, unit testing, functional testing, simulation, and real hardware integration testing. Some areas use a Unix/Linux based Operating System focusing on embedded programming, communication protocols, host application software support, and user-interfaces. Interface and code designs are done primarily to communicate with different hardware components via various hardware protocols such as PCIe.
Ideal candidates will possess demonstrated software design skills, understanding of front-end, back- end technologies or embedded systems. Team- based experience in software development, agile methodologies, and the ability to perform software performance analysis, debugging and test.
Required education
High School Diploma/GED
Preferred education
Bachelor's Degree
Required technical and professional expertise
- Passion to pursue career path in Computer Engineering or Computer Science
- Fundamental education in software design and/or test
- Computer Architecture
- Knowledge of one or more of the following programming languages: C, C++, Java, Assembly, PL/X
- Scripting knowledge:
Python, JavaScript, Perl, Bash, etc - Strong Communication Skills
Preferred technical and professional experience
- Development knowledge of Unix/Linux kernel functionality
- Knowledge of LAN drivers
- FPGA experience
- Experience in embedded systems development
- Knowledge of web and mobile application development
- Tools (Git/Git Hub, IntelliJ, etc.)
ABOUT BUSINESS UNIT
IBM Systems helps IT leaders think differently about their infrastructure. IBM servers and storage are no longer inanimate - they can understand, reason, and learn so our clients can innovate while avoiding IT issues. Our systems power the world's most important industries and our clients are the architects of the future. Join us to help build our leading-edge technology portfolio designed for cognitive business and optimized for cloud computing.
YOUR LIFE @ IBM
In a world where technology never stands still, we understand that, dedication to our clients success, innovation that matters, and trust and personal responsibility in all our relationships, lives in what we do as IBMers as we strive to be the catalyst that makes the world work better.
Being an IBMer means you'll be able to learn and develop yourself and your career, you'll be encouraged to be courageous and experiment everyday, all whilst having continuous trust and support in an environment where…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).