We are looking for an experienced Software Engineer to join a machinery manufacturing organization in Danbury, Connecticut. In this role, you will build and enhance software for complex equipment, partnering across disciplines to deliver reliable, high-performance solutions. The position calls for a strong background in object-oriented development, real-time system design, and practical problem-solving in technically demanding environments.<br><br>Responsibilities:<br>• Design, develop, and maintain software for complex machinery and mechatronic systems across the full product development life cycle<br>• Create robust applications primarily in C++ while contributing to related development efforts involving C#, JavaScript, and React.js where needed<br>• Engineer software components that operate within real-time environments and support dependable system performance<br>• Collaborate with mechanical, electrical, and software teams to define requirements and deliver integrated solutions using a systems-level perspective<br>• Diagnose and resolve challenging cross-functional issues affecting software behavior, controls, and overall system operation under demanding timelines<br>• Participate in Agile planning, development, and review activities to ensure steady progress and effective team coordination<br>• Develop and execute testing and quality assurance activities to verify functionality, reliability, and performance<br>• Communicate technical concepts clearly to both engineering and non-technical stakeholders, including project updates for leadership<br>• Contribute to software solutions that interact with web-based services and enterprise data platforms when required
<p>We are looking for a Software Engineer will develop and maintain embedded software for commercial elevator products. This role requires strong hands‑on experience with embedded systems, real‑time software development, and close interaction with hardware. The successful candidate will work collaboratively within a team environment, remain open to guidance from senior team members, and contribute across the full software development lifecycle, from concept and design through validation and production.</p><p>This position supports both legacy elevator control systems and new product development, requiring adaptability, technical depth, and a strong commitment to safety, quality, and continuous learning.</p><p><br></p><p><strong>Key Responsibilities:</strong></p><p>· Design, develop, and maintain embedded system software for commercial elevator control products.</p><p>· Participate in all phases of the software development lifecycle, including concept development, design, implementation, validation, deployment, and production support.</p><p>· Implement new software features and change requests using high‑level C/C++ for embedded elevator systems.</p><p>· Coordinate project activities across multiple elevator control system components, including control boards and field tools.</p><p>· Develop and execute unit and integration tests in an engineering lab environment using hardware simulators.</p><p>· Document software requirements, design specifications, test procedures, and test results.</p><p>· Perform regression testing in support of software releases and maintain existing control software through enhancements and feature expansion.</p><p>· Manage configuration control and change management while troubleshooting field issues and delivering software solutions.</p><p>· Adhere to established coding standards and actively promote peer code reviews to ensure high‑quality, maintainable software.</p><p>· Develop a deep understanding of elevator control hardware, interfaces, and system interactions.</p><p>· Collaborate with cross‑functional teams while maintaining alignment across the organization.</p><p>· Comply with company standards, including the Otis Absolutes of Safety, Ethics, and Quality.</p>
<p>Staff Software Engineer – Embedded Systems</p><p>Location: Bloomfield, CT</p><p>Work Arrangement: Onsite</p><p><br></p><p>Position Overview</p><p>We are seeking a Staff Software Engineer to lead the development of embedded software solutions for complex, safety‑critical commercial systems. This role provides technical leadership across the full embedded software lifecycle, including architecture, development, testing, automation, and field and factory tooling.</p><p>The ideal candidate brings deep expertise in embedded systems, strong leadership and mentoring capabilities, and a proven ability to translate business requirements into robust technical solutions. This position plays a key role in advancing global embedded software standards, improving reliability, security, and user experience across products.</p><p><br></p><p>Key Responsibilities</p><p>Technical Leadership & Architecture</p><ul><li>Lead implementation of the embedded software roadmap across field and factory tools.</li><li>Provide architectural guidance and drive best practices across global engineering teams.</li><li>Establish and enforce coding standards and conduct code reviews to ensure high‑quality, maintainable software.</li><li>Mentor and guide engineers to strengthen technical depth and consistency.</li></ul><p>Embedded Software Development</p><ul><li>Lead development of embedded C/C++ solutions across real‑time systems.</li><li>Support kernel, driver, BSP, bootloader, and device driver development.</li><li>Design and maintain multi‑threaded, real‑time applications using RTOS platforms.</li><li>Integrate and debug hardware interfaces including CAN, RS232/422/485, SPI, I2C, EEPROM, Flash, and timers.</li></ul><p>Testing, Automation & CI/CD</p><ul><li>Drive adoption of automated testing, simulation, and CI/CD pipelines to improve release quality and speed.</li><li>Lead regression and system‑level integration testing strategies.</li><li>Utilize advanced debugging tools (emulators, logic analyzers, JTAG/BDM, CAN analyzers, scopes).</li></ul><p>Security, UX & Field Support</p><ul><li>Lead integration of cybersecurity best practices into embedded products.</li><li>Partner with field users to improve UI/UX and reduce troubleshooting time.</li><li>Lead critical troubleshooting efforts for high‑value customers and legacy systems.</li><li>Participate in project planning, estimation, and cross‑functional resource coordination.</li></ul>