Senior Embedded Software Engineer
IGT is a global leader in innovation, entertainment, and fintech solutions. We are seeking a Senior Embedded Software Engineer to join our team in Warsaw. This role involves designing, implementing, and testing Linux device drivers and low-level firmware for embedded products. You will collaborate with hardware engineering teams, install and test Linux on new hardware, and support field issues. The position requires participation in all aspects of the product design lifecycle, including system architecture, development, and verification, as well as documenting designs and results. You will work both independently and as part of a team to complete tasks.
- Design, implement, unit test and support Linux device drivers for a variety of legacy and cutting-edge technologies
- Design, implement, unit test and support low-level firmware for a variety of embedded products, i.e. Microcontrollers
- Modify key kernel subsystems to facilitate novel hardware capabilities
- Collaborate with the hardware engineering team on new embedded product designs
- Install, boot and test Linux on new hardware
- Support customers’ field issues as required
- Participate in all aspects of the product design life cycle including system architecture, design, development, and verification
- Document design and results
- Work individually and with a team to complete tasks
- Degree or Diploma in Computer Engineering, Computer Science, Electrical Engineering or related field
- More than 8 years of relevant professional experience
- Expert in C, C++ programming languages
- Linux Kernel and Driver programming experience
- Experience with real time and multithreaded applications
- Low level firmware programming experience targeting a microcontroller architectures (ARM, 8051, other)
- Experience with board-level debugging; use of logic analyzers, oscilloscopes, USB/Serial protocol capture tools
- Ability to clearly capture complex technical concepts in writing for both technical and general audiences
- Proven analytical and problem-solving skills
- Excellent written and verbal communication skills; proficiency in English
- In-depth understanding of drivers, interrupt handling routines, and kernel subsystems
