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