What are the responsibilities and job description for the Firmware Engineer position at InvestM Technology LLC?
Job Title: Sr Firmware Engineer
Location: San Francisco, CA (5 days in a week onsite)
Duration: 9 months
Project Description:
We are seeking a detail-oriented and collaborative firmware engineer to support the development of cybersecurity updates to an IoT medical device that detects cardiac arrhythmias. This role is ideal for an
experienced engineer who can quickly contribute to firmware design, implementation, debugging, and cross-functional development efforts in a regulated environment. The engineer in this role will work on resource-constrained embedded systems and contribute across the firmware lifecycle, including development, integration, debugging, investigation, documentation, and support for verification and release activities. This position requires strong technical skills in embedded C development, hardware and firmware integration, and hands-on debugging.
Job Description:
- Proficiency in C with the ability to adapt to the company coding style; good commenting habits.
- Familiarity with software development lifecycle in a regulated environment (FDA preferred).
- Excellent proactive communication skills, both verbal and written, including through collaboration tools (e.g., Jira, Confluence, Teams).
- Bachelor's degree in Computer Science, Computer Engineering or a related field.
- Experience interacting with software debugging in an embedded environment (IAR Embedded Workbench for Arm).
- Familiarity with version control systems (Git) and release methodologies.
- Familiarity with MISRA or other coding standards is a plus.
- Disciplined and detail-oriented; consistently delivers robust, readable code.
- Excellent analytical, problem-solving skills and ownership of deliverables.
Job Responsibilities
- Update existing firmware running on a resource-constrained embedded system to include cybersecurity enhancements such as encryption, updating SOUP components to current versions, and logging cyber events.
- Contribute to firmware design, implementation, integration, debugging, and release support.
- Participate in code reviews and follow established development practices and coding standards.
- Investigate and help resolve complex technical issues across firmware, hardware, wireless, power, manufacturing, and system interactions.
- Contribute to firmware documentation and development artefacts in support of regulated product development processes.
- Write and execute unit and integration testing.
- Resolve static code analysis warnings and errors.
- Work hands-on with company-provided hardware for development and debugging, using appropriate lab setup (power supply, static mat, etc.).