Firmware 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
+21 more
Job description
Our client is seeking a mid-career Firmware Engineer (Contractor) to join their team and contribute to embedded software development for MR platforms. This role is focused on delivering high-quality firmware while independently learning unfamiliar systems, resolving technical ambiguity, and progressing work with minimal day-to-day guidance. The successful candidate will work across firmware, systems, hardware, and architecture teams to translate requirements into reliable, maintainable software. This position requires strong C++ fundamentals, practical embedded development experience, disciplined engineering practices, and the ability to quickly learn and adapt within a complex technical environment. You will be expected to own firmware features from requirements analysis through implementation and verification, collaborate with cross-functional teams, and utilize diagnostic tools to troubleshoot complex issues. The role also emphasizes clear communication, technical documentation, and effective teamwork with globally distributed colleagues. WHAT YOU’LL DO
- Own assigned firmware features or components from requirements analysis through design, implementation, integration, verification, and defect resolution
- Independently learn existing code, hardware interfaces, development tools, and system behavior; identify and utilize appropriate technical resources and ask focused questions when needed
- Develop maintainable embedded software in modern C++ using sound object-oriented design, clear interfaces, and appropriate error handling
- Collaborate with systems, hardware, FPGA, software, and architecture teams to clarify requirements, evaluate tradeoffs, and resolve cross-functional issues
- Use debuggers, emulators, analyzers, logs, and other diagnostic methods to isolate and resolve complex software and hardware interaction problems
- Create unit and integration tests, contribute to automated testing, and support continuous integration to improve software quality and regression coverage
- Participate in design and code reviews; provide constructive feedback and incorporate review input promptly
- Estimate, plan, and track work through user stories; communicate status, risks, dependencies, and technical blockers early and clearly
- Follow applicable quality processes and produce clear technical documentation that supports design traceability, testing, and long-term maintenance
- Work effectively with globally distributed teams and contribute to consistent design and architectural improvements across MR platforms
Requirements
- Bachelor’s degree or equivalent experience in Computer Engineering, Electrical Engineering, Computer Science, or related field
- 5+ years of professional experience developing embedded or firmware software
- Strong C++ programming skills, including object-oriented design, memory management, concurrency fundamentals, debugging, and writing maintainable production code
- Hands-on experience developing software that interacts with hardware, real-time systems, device interfaces, or resource-constrained embedded platforms
- Proven ability to learn unfamiliar technologies and codebases independently, break down ambiguous problems, and deliver results with minimal guidance
- Experience with embedded development and diagnostic tools such as debuggers, emulators, protocol or logic analyzers, and system logs
- Experience with Linux-based development environments, source control such as Git, and build or container-based workflows
- Familiarity with continuous integration, automated testing, and disciplined code review practices
- Clear written and verbal communication skills, including the ability to explain technical decisions, raise risks, and collaborate across functions
- Preferred: Experience with real-time operating systems, multi-threaded or concurrent software, hardware bring-up, board-level debugging, device drivers, communication protocols, FPGA/firmware integration, or regulated/safety-critical environments
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
Loading talks and stories from around this role…