Firmware Engineer II
Listed on 2026-09-11
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, C++ Developer, Software Engineer
Get to Know Us
Headquartered in Minnesota, Entrust is an industry leader in identity‑centric security solutions, serving over 150 countries with cutting‑edge, scalable technologies. But our secret weapon? Our people. It’s the curiosity, dedication, and innovation that drive our success and help us anticipate the future.
Entrust is seeking a Firmware Engineer II to work within our product development team. This individual will perform the responsibilities outlined below and other duties as assigned. We develop systems used to print and personalize credit cards, passports, driver’s licenses, national IDs and more.
The Entrust Firmware team plays a key role in bringing this wide range of hardware products to life through use of embedded control of motors, sensors, vision systems, and huge variety of personalization technologies, including smart card chip programming, laser engraving, and printing. The team works closely with other engineering disciplines as well as cross‑functional teams to ensure our products meet the highest level of security and integrity, all while achieving industry‑leading levels of performance.
Responsibilities- Real-time embedded system software design for control systems in complex machines
- Development of requirements, design, coding, testing, debugging, and documentation of embedded software components or applications
- Participation in design and code reviews, hardware/software integration and development test
- Understand and perform design trade‑offs in a collaborative team environment
- Provide schedule input and communicate status to various levels of management, peers, and team members
- Develop or contribute to development and maintenance of policies, practices, and standards
- Continuously improve work processes to enable team efficiencies
- Resolve product issues through problem evaluation, code modifications, development testing, and coordination with product support team members
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent technical degree
- 3+ years’ experience with embedded software, hardware and/or firmware in a product development environment
- Experience (2+ years) with C++ and/or C in an embedded development environment
- Experience with VxWorks, Zephyr, embedded Linux, or other embedded real‑time operating system
- Experience with revision control systems, e.g. Git, Subversion
- Experience with development processes, methodologies, and tools
- Experience with unit and integration test methodologies
- Must have unrestricted work authorization for US
- Master’s degree in Computer Engineering, Electrical Engineering, or Computer Science
- Experience in electromechanical design
- Experience with AI workflows
- Experience in one or more of the following areas:
Motor control - Smartcard technology
- Color printing technology
- RFID technology
- Security concepts including encryption, PKI and vulnerability mitigation
- Laser control
- Networking protocols
- Scripting languages
- Proficient at using AI tools to assist with aspects of the development workflow
- Exhibits good engineering judgment and decision making
- Shows strong analytical and problem solving skills
- Displays a high level of initiative and ability to deliver results on technical projects
- Ability to work autonomously with cross functional team members
- Strong verbal and written communication skills and the ability to prepare written specifications
At Entrust, we don’t just offer jobs – we offer career journeys.
Benefits and Culture- Career Growth:
Whether you’re a budding developer or a seasoned expert, we’re invested in your professional journey. With learning‑forward initiatives and exciting challenges, your growth is our priority. - Flexibility:
Life is all about balance. Whether…
(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).