What are the responsibilities and job description for the Senior Firmware Engineer at Tucson, AZ (Onsite) position at Jobs via Dice?
Dice is the leading career destination for tech experts at every stage of their careers. Our client, Infobahn Softworld Inc., is seeking the following. Apply via Dice today!
Description:
We are looking for a Senior Firmware Engineer to join our team in Tucson. In this role, you will use your expertise in C/C to design and build robust embedded solutions that sit at the intersection of hardware and software. You'll be a critical part of a cross-functional team, taking features from low-level drivers to final system integration, ensuring our code is performant, memory-efficient, and rock-solid.
Key Responsibilities:
Description:
We are looking for a Senior Firmware Engineer to join our team in Tucson. In this role, you will use your expertise in C/C to design and build robust embedded solutions that sit at the intersection of hardware and software. You'll be a critical part of a cross-functional team, taking features from low-level drivers to final system integration, ensuring our code is performant, memory-efficient, and rock-solid.
Key Responsibilities:
- Embedded Design: Architect and implement firmware features using C/C , ensuring designs are optimized for constrained environments (CPU, memory, and power).
- Hardware-Software Integration: Develop low-level drivers and middleware to interface with sensors, actuators, and communication peripherals.
- Automated Hardware Validation: Build and maintain automated testing frameworks-primarily using Python-for Hardware-in-the-Loop (HIL) testing and system validation.
- Agile Execution: During PI and iteration planning, break down complex hardware-software features into manageable tasks, accounting for hardware dependencies and lead times.
- Technical Governance: Lead deep-dive code reviews and technical spikes to ensure firmware aligns with safety standards and system-level architecture.
- Synchronized Development: Participate in technical discussions during Program Increment (PI) planning, specifically addressing hardware/firmware dependencies.
- Backlog Refinement: Organize and prioritize the team backlog, managing technical debt and balancing feature velocity with system stability.
- Cross-Functional Bridge: Work closely with Electrical and Mechanical Engineering teams to translate hardware requirements into technical firmware reality.
- System Demos: Demonstrate firmware progress on target hardware to stakeholders, explaining technical logic and timing constraints clearly.
- C/C Mastery: Extensive professional experience in embedded C/C development for microcontrollers (ARM Cortex-M, ESP32, etc.) or RTOS-based systems.
- System Architecture: Ability to design maintainable, scalable firmware architectures including interrupt handling, memory management, and state machines.
- Low-Level Protocols: Hands-on experience with communication interfaces like I2C, SPI, UART, CAN, or USB.
- Debugging: Proficiency using JTAG/SWD debuggers, logic analyzers, and oscilloscopes to troubleshoot hardware-software interactions.
- Python for Tools: Experience using Python for scripting, data analysis, or building test harnesses.
- RTOS & Bare Metal: Familiarity with FreeRTOS, Zephyr, or similar real-time operating systems.
- Agile Proficiency: Experience working within the Scaled Agile Framework (SAFe) or similar iterative environments for hardware development.
- Mentorship: A track record of leading firmware projects or guiding junior engineers through complex system integrations.
- Technical Articulation: The ability to explain complex timing issues or register-level bugs to non-technical stakeholders.
- Relentless Troubleshooting: A methodical, "detective-like" approach to solving intermittent hardware/software issues.
- Reliability Mindset: A commitment to writing code where "it works on my machine" isn't enough-it has to work on the silicon every single time.