Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+89 more
Job description
This contract Senior Embedded Software Engineer role focuses on delivering one or more subsystems within an embedded framework and a credential reader application for NFC/RFID reader firmware. You will work hands-on to implement, validate, and ship production-quality firmware against a defined scope, collaborating closely with existing engineering teams while working independently day to day. You will make sound architectural decisions within an established framework, balance feature delivery against technical risk, and produce clean, standards-compliant code from the outset., * Design and implement components, threads, and modules in modern C++ (C++17 and above) within an existing module, thread, and component framework.
- Implement ETL-based state machines and lifecycle hooks that meet hard real-time deadlines on Cortex-M4F microcontrollers.
- Develop, harden, and maintain Device Abstraction Layer drivers for interfaces such as SPI, I2C, USB, UART, GPIO, timers, and DMA on STM32G474 microcontrollers.
- Extend and enhance the USB stack to support CCID and related functionality.
- Perform memory, timing, and power optimizations, and validate against performance budgets using static analysis, profiling tools, and on-target measurement.
- Implement robust error handling, fault recovery, and safety-tolerant patterns consistent with a no-exceptions, no-heap-after-initialization policy.
- Work within a real-time operating system environment (with a strong preference for Zephyr) to integrate drivers, middleware, and application logic.
- Collaborate with other engineers to ensure your subsystems integrate cleanly into the broader embedded framework and credential reader application.
- Apply secure coding practices and leverage your understanding of security-focused domains when designing and implementing firmware features.
- Contribute to the delivery of a new generation of secure NFC/RFID credential readers by meeting project milestones and producing production-ready firmware., DevOps, Kotlin Talend SwiftUI Power BI Dataflow Debugging Scripting Templates Apple IOS Operations Leadership Automation Mentorship Enthusiasm Resilience Creativity Kubernetes Databricks Code Review Scalability Unit Testing Azure DevOps Data Analysis Build Process Microservices Test Planning Cloud Foundry Accountability Cloud Services Building Codes Data Pipelines Building Trust Version Control Test Automation Microsoft Azure Reporting Tools Software Design Building Design Apache Cassandra Computer Science Data Integration Software Systems Data Warehousing Containerization Web Applications Agile Methodology Software Features Project Schedules Unstructured Data Cloud Technologies Performance Tuning Workflow Management Amazon Web Services IBM Cloud Computing Software Engineering Software Development Programming Languages Design Specifications Relationship Building Information Technology Full Stack Development IT Capacity Management Enterprise Integration Adobe Experience Cloud Application Development Azure Synapse Analytics Software Design Patterns Adobe Experience Manager Change Data Capture (CDC) SQL (Programming Language) Business Objects Framework Android (Operating System) Java (Programming Language) Google Cloud Platform (GCP) Node.js (Javascript Library) Platform As A Service (PaaS) Scrum (Software Development) Swift (Programming Language) React.js (Javascript Library) Python (Programming Language) Test-Driven Development (TDD) Mobile Application Development ADO.NET (Programming Language) Back End (Software Engineering) Cross-Functional Team Leadership Front End (Software Engineering) Troubleshooting (Problem Solving) JavaScript (Programming Language) Infrastructure As A Service (IaaS) Objective-C (Programming Language) Application Programming Interface (API) Tableau (Business Intelligence Software) +0
Google IT Automation with Python Principal Software Engineer II Walgreens
Deerfield, IL*On-Site
Unix Linux Kotlin Writing Patents SwiftUI Debugging Apple IOS Operations Leadership Management Automation Mentorship Innovation Resilience Algorithms Kubernetes E-Commerce Testflight Code Review Reliability AI Adoption Apache Maven Build Process Microservices Technical Debt Building Trust Version Control Microsoft Azure Software Design Building Design Computer Science Software Systems Futures Exchange Agile Methodology Docker (Software) Programming Tools Selling Techniques Scalability Design Amazon Web Services Software Engineering Systems Architecture Programming Languages Design Specifications Relationship Building Technology Ecosystems Intellectual Property Information Technology Cloud-Native Computing New Product Development Artificial Intelligence C++ (Programming Language) Android (Operating System) Java (Programming Language) Node.js (Javascript Library) Scrum (Software Development) Swift (Programming Language) Service-Oriented Architecture Test-Driven Development (TDD) Mobile Application Development ADO.NET (Programming Language) Software Development Life Cycle Cross-Functional Team Leadership Troubleshooting (Problem Solving) Objective-C (Programming Language) +0
Google IT Automation with Python Software Engineer Actalent
Schaumburg, IL*On-Site
USB I2C Sales Linux Zephyr Firmware Equities Budgeting Visionary Operations Innovation Middleware Smart Cards Zephyr RTOS Communication Secure Coding State Machines Authentications Embedded Systems Virtual Machines Microcontrollers ARM Architecture Operating Systems Embedded Software Embedded Firmware Peripheral Devices Abstraction Layers Exception Handling Firmware Development Regulatory Compliance Architectural Patterns New Product Development Static Program Analysis Near Field Communication Engineering Design Process C++ (Programming Language) Balancing (Ledger/Billing) Serial Peripheral Interface Real-Time Operating Systems Extract Transform Load (ETL) General-Purpose Input/Output Security Requirements Analysis Radio-Frequency Identification Universal Asynchronous Receiver/Transmitter +0
Requirements
Sales Linux Zephyr Firmware Equities Budgeting Visionary Operations Innovation Middleware Smart Cards Zephyr RTOS Communication Secure Coding State Machines Authentications Embedded Systems Virtual Machines Microcontrollers ARM Architecture Operating Systems Embedded Software Embedded Firmware Peripheral Devices Abstraction Layers Exception Handling Firmware Development Regulatory Compliance Architectural Patterns New Product Development Static Program Analysis Near Field Communication Engineering Design Process C++ (Programming Language) Balancing (Ledger/Billing) Serial Peripheral Interface Real-Time Operating Systems Extract Transform Load (ETL) General-Purpose Input/Output Security Requirements Analysis Radio-Frequency Identification Universal Asynchronous Receiver/Transmitter, * Strong proficiency in modern C++ with hands-on experience using C++17 or later, and the ability to write clean, maintainable, and standards-compliant code.
- Minimum of 5 years of professional experience in embedded firmware development, focusing on low-level microcontroller and driver development rather than application-level software.
- Extensive experience developing firmware for microcontrollers, including driver-level work on interfaces such as UART, USB, SPI, and I2C.
- Real-time operating system (RTOS) experience, with Zephyr RTOS highly preferred.
- Experience working with USB, including extending or integrating USB stacks and handling USB-based communication protocols.
- Experience with Embedded Template Library (ETL) and ETL-based state machines.
- Experience developing on ARM Cortex-M class microcontrollers, specifically Cortex-M4F, and working with STM32G4-series devices.
- Ability to implement and maintain Device Abstraction Layer drivers for peripherals such as SPI, I2C, USB, UART, GPIO, timers, and DMA.
- Demonstrated ability to meet hard real-time deadlines and design firmware that satisfies strict timing and resource constraints.
- Experience with memory, timing, and power optimization in embedded systems, including use of static analysis, profiling, and on-target measurement tools.
- Ability to implement error handling and fault recovery strategies that adhere to a no-exceptions and no-heap-after-initialization policy.
- Good understanding of security concepts and secure firmware development, ideally gained in security-focused domains.
- Bachelor’s degree in Engineering or a related field., * Experience working on secure access, authentication, or credential reader products, such as NFC or RFID-based systems.
- Background in organizations or products with strong security requirements, such as mobile device or secure communications platforms.
- Experience integrating firmware within larger embedded frameworks and collaborating with cross-functional engineering teams.
- Familiarity with developing or extending CCID or similar USB-based protocols.
- Comfort working independently on defined subsystems while aligning with existing architectural patterns and coding standards.
- Experience working in Senior or staff-level embedded roles where balancing feature delivery and technical risk is essential., Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.
About the company
Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 20,000 consultants and 5,000 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500. We are proud to be an Engineering News-Record (ENR) Top 500 Design Firm for our engineering design services and a ClearlyRated Best of Staffing® winner for both client and talent service.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How Much Does a Software Engineer Make? Realistic Software Engineering Salaries
Is Software Engineering Hard?
Highest Paying Tech Companies for Developers
Why Upskilling And Reskilling is Important For Developers