Senior Firmware Engineer
Clientmind Recruiting, Inc.
Greenbelt, United States5 months ago
68 views20 saves12 applies
Prepare for this role
Job Type
full time
Description
Clientmind Recruiting is searching for a Senior Firmware Engineer for a growing technology company in Greenbelt, MD. This role is responsible for designing, developing, and maintaining firmware and software in various applications. This is a full-time position and will work onsite 3x per week.
## Tasks
**Responsibilities:**
**Firmware Development:** Design, develop, and maintain embedded firmware for a variety of microcontroller-based systems, ensuring optimal performance, reliability, and power efficiency.
• **Architecture & Design:** Collaborate in defining system architecture and firmware design, including low-level driver development for sensors and I/O interfaces, hardware abstraction layers, and communication protocols.
• **Debugging & Troubleshooting:** Identify, diagnose, and resolve complex firmware and system issues, utilizing tools such as oscilloscopes, logic analyzers, and debuggers.
• **Code Optimization:** Optimize firmware for performance, memory usage, and power consumption while adhering to real-time and safety-critical requirements.
• **Collaboration & Communication:** Work closely with hardware engineers, software teams, and product managers to ensure seamless integration of firmware with hardware and system-level applications.
• **Documentation:** Produce high-quality documentation, including specifications, design documents, test plans, and user manuals to support firmware development and maintenance.
• **Testing & Validation:** Develop and execute unit tests, integration tests, and system-level validation to ensure firmware quality and robustness.
• **Mentorship:** Provide technical leadership and mentorship to junior and mid-level engineers, guiding them in best practices and solving complex engineering challenges.
• **Continuous Improvement:** Stay up-to-date with the latest developments in embedded systems, firmware development techniques, and industry trends, and contribute to the improvement of engineering practices.
## Requirements
**Required Qualifications:**
• **Clearance:** US Citizen with Secret level security clearance or ability and willingness to obtain a clearance.
• **Education:** Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, or a related field, or equivalent work experience.
• **Experience:** Minimum of 8+ years of hands-on experience in embedded firmware development with a proven track record of successful project execution.
• **Technical Skills:**
o Strong proficiency in C/C++ programming languages for embedded systems.
o Extensive experience with microcontrollers (e.g., ARM Cortex-M, STM32), including hardware-level programming and peripheral interfacing.
o Expertise in both bare metal and RTOS (Real-Time Operating Systems) embedded software architectures.
o Experience with communication protocols such as UART, SPI, I2C, CAN, Ethernet, etc.
o Proficient with debugging tools such as JTAG, oscilloscopes, logic analyzers, and IDE debuggers.
o Familiarity with version control systems (e.g., Git, SVN).
• **Problem-Solving:** Strong analytical skills with the ability to diagnose and resolve complex embedded system issues.
• **Documentation:** Ability to produce clear, concise documentation and reports.
• **Collaboration:** Excellent interpersonal and communication skills, with the ability to work effectively in cross-functional teams.
**Preferred Qualifications:**
• **Advanced Experience:** Experience with FPGA development, low-level hardware design, or system-on-chip (SoC) integration.
• **Embedded Linux:** Experience programming on custom embedded Linux platforms running on embedded application processors. Familiarity with building custom Linux features and power/speed optimization.
• **Software Skills:** Experience with scripting languages (e.g., Python) for automation or testing purposes.
## Tasks
**Responsibilities:**
**Firmware Development:** Design, develop, and maintain embedded firmware for a variety of microcontroller-based systems, ensuring optimal performance, reliability, and power efficiency.
• **Architecture & Design:** Collaborate in defining system architecture and firmware design, including low-level driver development for sensors and I/O interfaces, hardware abstraction layers, and communication protocols.
• **Debugging & Troubleshooting:** Identify, diagnose, and resolve complex firmware and system issues, utilizing tools such as oscilloscopes, logic analyzers, and debuggers.
• **Code Optimization:** Optimize firmware for performance, memory usage, and power consumption while adhering to real-time and safety-critical requirements.
• **Collaboration & Communication:** Work closely with hardware engineers, software teams, and product managers to ensure seamless integration of firmware with hardware and system-level applications.
• **Documentation:** Produce high-quality documentation, including specifications, design documents, test plans, and user manuals to support firmware development and maintenance.
• **Testing & Validation:** Develop and execute unit tests, integration tests, and system-level validation to ensure firmware quality and robustness.
• **Mentorship:** Provide technical leadership and mentorship to junior and mid-level engineers, guiding them in best practices and solving complex engineering challenges.
• **Continuous Improvement:** Stay up-to-date with the latest developments in embedded systems, firmware development techniques, and industry trends, and contribute to the improvement of engineering practices.
## Requirements
**Required Qualifications:**
• **Clearance:** US Citizen with Secret level security clearance or ability and willingness to obtain a clearance.
• **Education:** Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, or a related field, or equivalent work experience.
• **Experience:** Minimum of 8+ years of hands-on experience in embedded firmware development with a proven track record of successful project execution.
• **Technical Skills:**
o Strong proficiency in C/C++ programming languages for embedded systems.
o Extensive experience with microcontrollers (e.g., ARM Cortex-M, STM32), including hardware-level programming and peripheral interfacing.
o Expertise in both bare metal and RTOS (Real-Time Operating Systems) embedded software architectures.
o Experience with communication protocols such as UART, SPI, I2C, CAN, Ethernet, etc.
o Proficient with debugging tools such as JTAG, oscilloscopes, logic analyzers, and IDE debuggers.
o Familiarity with version control systems (e.g., Git, SVN).
• **Problem-Solving:** Strong analytical skills with the ability to diagnose and resolve complex embedded system issues.
• **Documentation:** Ability to produce clear, concise documentation and reports.
• **Collaboration:** Excellent interpersonal and communication skills, with the ability to work effectively in cross-functional teams.
**Preferred Qualifications:**
• **Advanced Experience:** Experience with FPGA development, low-level hardware design, or system-on-chip (SoC) integration.
• **Embedded Linux:** Experience programming on custom embedded Linux platforms running on embedded application processors. Familiarity with building custom Linux features and power/speed optimization.
• **Software Skills:** Experience with scripting languages (e.g., Python) for automation or testing purposes.
This job is found at InterviewStack.io
Skills
firmwarec++microcontrollersrtosuartspii2cdebugginggitfpgalinuxpythonautomationembedded systemsembedded linuxfirmware development