Embedded Software Engineer
BLOOMFIELD CT | Manufacturing | Posted: 1 day ago |
Job Description:
You’d be joining a leading elevator manufacturer as a senior embedded software engineer, where you’d help build the safety-critical control systems that power modern vertical transportation. In this role, you’d own the full development lifecycle—from designing low-level firmware and real-time motor control systems to delivering production-ready embedded solutions. You’d work hands-on with RTOS-based, multi-threaded applications and dive into hardware-level debugging, including JTAG and system integration challenges. You’d also collaborate closely with cross-functional teams across hardware and software while helping define technical direction, architecture, and engineering best practices. This is a high-ownership opportunity where you’d have real autonomy and a direct impact on the reliability of systems used by millions of people every day.
Requirements:
• 10–12+ years (7-10 years for mid-level) of hands-on embedded software engineering experience with a demonstrable track record of delivering complex, production-deployed systems, including deep expertise in C/C++ for resource-constrained environments, encompassing memory management, performance optimization, and hardware abstraction.
• Hands-on development experience with CAN, RS232, RS422, RS485, SPI, I2C, Timers, EEPROM, and Flash Driver interfaces across diverse embedded hardware platforms.
• Proven experience designing, developing, and debugging device drivers, bootloaders, and Board Support Packages (BSPs) for both custom and off-the-shelf hardware.
• Extensive experience with RTOS architectures and multi-threaded real-time application development in safety- or performance-critical domains, with the ability to operate under strict timing and resource constraints.
• Bachelor’s degree in Computer Science, Electrical Engineering, or Computer Engineering required.
Nice to have:
• Experience with ARM Cortex-M/A series microcontrollers and familiarity with Yocto-based Linux build systems.
• Working knowledge of networking protocols (TCP/IP, UDP) and proficiency with packet analysis tools such as Wireshark.
• Exposure to Java or Python for scripting, test automation, or toolchain development.
Responsibilities:
• Architect, develop, and maintain production-grade embedded software in C/C++, ensuring code quality, reliability, and long-term maintainability.
• Own the full Software Development Life Cycle (SDLC) — from requirements gathering and system design through integration, validation, and release.
• Lead concurrent engineering projects with autonomy, setting technical direction and delivering milestones on schedule.
• Design, implement, and optimize low-level device drivers, bootloaders, and Board Support Packages (BSPs) for custom and off-the-shelf hardware platforms.
• Develop and sustain robust multi-threaded, real-time applications on RTOS-based systems under strict timing and resource constraints.
• Build and maintain hardware interface layers across CAN, SPI, I2C, RS232/422/485, and other industry-standard communication protocols.
• Conduct advanced real-time debugging and root-cause analysis using JTAG, logic analyzers, oscilloscopes, and hardware emulators.
• Design and develop internal UI/UX simulator and validation tools using VB.NET or C# to accelerate hardware-in-the-loop testing.
• Define and enforce software engineering best practices, including code reviews, documentation standards, and version control discipline (Git/SVN).
• Partner with hardware engineers, systems architects, and QA teams to drive seamless system integration and resolve cross-domain technical challenges.
Share This Job
Quick Apply
Stay Up To Date
Sign up for job alerts for
weekly job updates
APPLY NOW
Stay Up To Date
Sign up for job alerts for
weekly job updates
BLOOMFIELD CT
CINCINNATI OH
FARMINGTON CT