Kelly Engineering is looking for a Senior Firmware Engineer for a direct hire position with our client located in Fredericksburg, VA. The client is dedicated to developing cutting-edge thermal test solutions for the semiconductor industry. To meet new industry challenges, they seek to expand their multi-disciplined engineering team with a highly skilled Sr. Firmware Design Engineer. If you are a proactive and self-motivated engineer keen on understanding entire systems and applying this knowledge to transform concepts into outstanding products, we want you to join our team. This role involves the full lifecycle development of custom thermal control application firmware. As part of a multi-disciplinary engineering team, you will contribute to providing innovative thermal test cooling solutions for the Data Center industry.
RESPONSIBILITIES
Collaborate with a multi-disciplinary team to develop thermal control products, incorporating a variety of custom thermal forcing hardware
Engage in the full lifecycle development of custom thermal control application firmware
Support proof-of-concept studies
Utilize tuning parameters to affect the dynamic performance of feedback control systems
Maintain and enhance firmware for existing thermal products
Develop firmware using Qt/C++ for application development on Linux OS targets and C for non-OS/bare-metal targets
REQUIREMENTS
Bachelor's degree or higher in Electrical Engineering, Computer Engineering, Computer Science, or a related technical field, along with more than 10 years of relevant experience
At least 4 years of experience in embedded system programming using C or C++
Proficiency in interfacing with common communication methods such as TCP/IP, I2C, SPI, and RS-232
Experience in interfacing with low-level analog hardware using ADC, DAC, and PWM
Ability to understand schematics and IC operations, and design low-level drivers
DESIRED SKILLS
Multi-process/multi-threaded design experience
Application programming experience on Linux-based platforms (Debian preferred)
User Interface programming experience (Qt, WebIQ preferred)
Configuring and tuning feedback control loops (e.g. PID)
Windows desktop app development experience for utilities (C#/Visual Studio or Qt preferred)