The Firmware Engineer Intern is primarily responsible for providing technical excellence in designing, developing and testing firmware for high-volume electronic products associated with the vehicle emergency and safety industry, that meet cost, performance and schedule requirements. The intern will participate in innovative technology development through collaborative efforts and provide support in resolving customer issues.
Essential Responsibilities and Functions
- Perform firmware design, coding, test and documentation for microcontroller-based products, following ESGโs product development processes.
- Help develop functional specifications and detailed design documentation for new products, working within an Agile/Scrum framework.
- Collaborate with team in estimating schedules for development tasks.
- Develop and execute detailed test plans to ensure system meets requirements.
- Use AI-assisted tools to support embedded firmware development, including code generation, test case creation, and analysis of requirements and design artifacts under engineering guidance.
- Validate AI-assisted outputs for embedded firmware by reviewing code, identifying potential inaccuracies or hallucinations, and confirming results through testing, debugging, and peer review.
- Participate in continuous improvement of product development processes.
- Maintain and follow proper design processes for high-reliability firmware.
- Analyze and resolve field problems. Perform root cause analysis and determine preventive action(s).
- Support the work of other engineers on project teams.
- Participate in technical reviews (code inspections) of the work performed by the group.
- Perform other related duties as assigned
๏ปฟQualifications to Succeed
- In the process of acquiring a Bachelor of Science in Computer Engineering, Electrical Engineering or Computer Science.
- Experience with CoPilot, Claude, and ChatGPT.
- A want to learn and understand how to use Ai to test firmware as well as search for hallucinations.
- Ability to work well in teams.
- Strong understanding of hardware, and familiar with the use of Oscilloscopes, DMMs.
- Knowledge of debugging/troubleshooting techniques.
- C programming language experience.
- Willingness to learn and grow with input from other team members, as well as follow coding standards.
- Experience with version control systems, defect tracking systems and static source code analysis.
- Work equally well independently, as well as at the direction of others.
- Good written and verbal communication skills.
๏ปฟPhysical Demands and Work Environment
The physical demands described here are representative of those that must be met by a Team Member to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
While performing the duties of this job, the team member is regularly required to talk or hear. The team member frequently is required to stand; walk; use hands to finger, handle or feel; and reach with hands and arms.
The above statements are intended to describe the general nature of work performed by the team members assigned to this job. All team members must comply with Company policies and applicable laws.
๏ปฟWe do not discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.
Requirements:
None