Firmware Engineer
Role details
Job location
Tech stack
Job description
The Firmware Engineer will design, develop, and support embedded firmware for metering and grid-edge solutions. This individual will work across the full product lifecycle-from requirements and design to coding, testing, and sustaining engineering-while collaborating closely with cross-functional hardware, software, and systems teams in an Agile environment. This work will be based onsite in Lafayette IN., * Research, specify, design, develop, and test firmware for new products.
- Support and enhance existing firmware based on customer feedback, field issues, and product improvement initiatives.
- Develop internal tools for testing, debugging, automation, and programming to improve development efficiency.
- Provide technical support for both current and legacy meter functionality.
- Lead and contribute to component and system-level design, development, documentation, and validation activities.
- Collaborate on Agile, sprint-based development teams, working with multi-discipline engineering groups across hardware, firmware, software, and architecture.
- Participate in mentoring and developing junior engineers.
- Drive continuous improvement initiatives within the functional area.
- Contribute to innovation in new technologies, product architectures, and validation methods.
- Willingness to travel internationally as required., TCP/IP Tooling FreeRTOS Scripting Scheduling Bare Metal Reliability Oscilloscope Azure DevOps Communication Secure Coding Motor Control Code Comments Logic Analyzer Device Drivers Board Bring-Up Version Control Test Automation Microsoft Teams Computer Science Embedded Systems Hardware Support Microcontrollers ARM Architecture Agile Methodology Embedded Firmware Security Clearance ISO 26262 Standard Industry Standards Software Solutions Systems Engineering Systems Integration Computer Engineering Electrical Engineering Continuous Development Effective Communication Product Quality (QA/QC) Technical Documentation Configuration Management C (Programming Language) C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Git (Version Control System) Scrum (Software Development) Python (Programming Language) Continuous Improvement Process MISRA C (C Programming Language) Troubleshooting (Problem Solving) High Performance Embedded Computing
Requirements
Firmware Debugging Scripting Visionary Pipelines Automation Mentorship Innovation Microwaves Bare Metal Reliability Microprocessor Test Automation Radio Frequency Medical Devices Customer Service Embedded Systems Microcontrollers Agile Methodology Embedded Firmware Product Improvement Artificial Intelligence Engineering Design Process C++ (Programming Language) Real-Time Operating Systems Scrum (Software Development) Continuous Improvement Process, * Embedded C programming (must-have).
- Experience with Real-Time Operating Systems (RTOS) or bare-metal firmware design.
- Strong hands-on experience with microcontrollers or microprocessors (any family acceptable).
- Familiarity with embedded design constraints such as memory, timing, low-level drivers, and hardware interfaces.
Additional Skills & Qualifications
- Battery-powered embedded system design (strongly preferred).
- Flow measurement or sensor/system measurement experience.
- Python for scripting, test automation, and tooling.
- Exposure to industries such as industrial products, automotive, medical devices, microwave/RF, or other regulated, high-reliability sectors.
- Familiarity with CI/CD pipelines for embedded development.
- Experience with C++ for embedded or systems-level development.
- Experience in Agile / Scrum / sprint-based development environments., FreeRTOS Scripting Scheduling Innovation Bare Metal Reliability Oscilloscope Azure DevOps Communication Secure Coding Motor Control Code Comments Logic Analyzer Device Drivers Board Bring-Up Professionalism Version Control Test Automation Microsoft Teams Computer Science Embedded Systems Hardware Support Microcontrollers ARM Architecture Agile Methodology Embedded Firmware Security Clearance ISO 26262 Standard Industry Standards Software Solutions Systems Engineering Systems Integration Computer Engineering Electrical Engineering Continuous Development Effective Communication Product Quality (QA/QC) Technical Documentation Configuration Management C (Programming Language) C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Git (Version Control System) Scrum (Software Development) Python (Programming Language) Continuous Improvement Process MISRA C (C Programming Language) Troubleshooting (Problem Solving) High Performance Embedded Computing DO-178B/C (Software Considerations in Airborne Systems and Equipment Certification) +0