Job Description
Senior Firmware Engineers serve as the technical authority for firmware development, working to deliver best-in-class products. They collaborate closely with Electrical Engineers, System Engineers, Quality Engineers, Program Managers, external partners, and customers to stay at the forefront of technology and innovation, ensuring the team delivers reliable products that our customers can trust with their lives.
Roles & Responsibilities
Advanced Firmware Development & Architecture:
- Design and implement complex C/C++ firmware modules (e.g., RTOS-based systems, sophisticated driver stacks) for microcontrollers or embedded processors.
- Optimize code for performance, reliability, and memory constraints in embedded systems.
- Understand implementation of SPI, I2C, UART, memory interfaces, RTC, PWM, GPIO.
- Familiarity with bootloaders, secure boot, and pre-application code execution.
- Read and interpret microcontroller datasheets and hardware schematics.
- Troubleshoot firmware issues using debuggers/JTAG.
- Work closely with hardware teams to resolve integration issues.
- Guide component selection from a firmware perspective.
- Coordinate with cross-functional teams to set timelines and testing milestones.
- Evaluate and influence firmware release processes and tools.
Documentation & Communication:
- Produce design documents and collaborate on firmware architecture specifications.
- Promote coding standards and best practices.
- Develop interface control documents.
- Communicate technical topics effectively to non-technical stakeholders.
- Report on work progress, risks, and resource needs.
- Assist in developing statements of work, budgets, schedules, and risk assessments.
Leadership & Mentorship:
- Mentor junior and mid-level engineers.
- Support team development through constructive feedback.
- Foster a collaborative environment and raise team technical skills.
- Conduct design reviews and lead small project teams.
- Perform other duties as assigned.
Qualifications & Requirements
Education & Experience:
- Bachelor’s degree in Electrical Engineering, Computer Engineering, or Computer Science.
- 5+ years of firmware engineering experience or equivalent.
Required Skills/Abilities:
- Proficiency with Microsoft Office (Microsoft 365, Teams).
- Experience with code management and defect tracking tools (e.g., JIRA, SVN, GIT).
Additional Skills/Abilities:
- Understanding of USB Protocol.
- Knowledge of RTOS/Linux embedded designs.
- Understanding of audio/video data stream processing.
- Familiarity with object-oriented coding and data structures.
- Experience with ARM processors.
Physical Requirements
- On-site attendance required.
- Ability to lift up to 25 lbs. occasionally.
- Work at a computer for extended periods.
- Handle tools and equipment for prototyping.
Compensation varies based on experience and expertise. Wilcox provides equal employment opportunities and prohibits discrimination and harassment of any kind, regardless of protected characteristics.