Software / Firmware Engineer
Role details
Job location
Tech stack
Job description
The successful candidate shall work on new firmware development projects, corresponding driver development, and maintenance of existing firmware for devices. There may also be opportunities for project leadership and mentoring of junior engineers.
Main responsibilities shall include, but will not be restricted to:
- Solution Software Architecture
- Mentoring of Engineers
- Design, develop and document PC Core Driver and Device Features
- Design, develop and document firmware to control NCR Atleos ATM devices
- Design, develop and document test procedures and software to validate functionality
- Software unit test, and supporting integration and systems testing
- Provide estimates of effort, schedule, and size of change to Project Manager
- Regular progress reporting on schedule, quality & size of change
- Support for existing devices through problem investigation, identification and resolution
- Working with external suppliers as well as internal cross-functional teams supporting operations, manufacturing and field support for global customer base.
Requirements
An opportunity has arisen in the Engineering organisation for an experienced Software Engineer in the PC Core and Device team.
We are seeking a dynamic, self-motivated and tenacious individual educated to degree level in a Computer Science/Engineering or other related field or equivalent work experience in Software Engineering environment. The successful applicant will work as part of a highly motivated team striving to meet all quality, cost and schedule targets across a range of devices, including Interface Control Boards, Displays, Touchscreens, PC Motherboards (System Firmware, Drivers), Audio devices, USB Hubs., * Honours Degree qualified
- Around 5 years of experience developing software or firmware, including C/C++ Windows Win 32 programming
- Some knowledge of Symmetric and Asymmetric cryptographic frameworks
- Software design and methodologies
- Software configuration management
- Ability to work on several projects simultaneously, * Moderate level of electronics knowledge
- Firmware development environments, including RTOS and embedded systems
- Extensive knowledge of Symmetric and Asymmetric cryptographic frameworks
- Linux operating systems
- C#, Rust, Python
- Knowledge or experience working in EFI Shell environment
- Use of automation tools for testing