Company Profile
Lennox (NYSE: LII) Driven by 130 years of legacy, HVAC and refrigeration success, Lennox provides our residential and commercial customers with industry-leading climate-control solutions. At Lennox, we win as a team, aiming for excellence and delivering innovative, sustainable products and services. Our culture guides us and creates a workplace where all employees feel heard and welcomed. Lennox is a global community that values each team member's contributions and offers a supportive environment for career development. Come, stay, and grow with us.
Job Description
- Lead software design and implementation across the full Software Development Life Cycle (SDLC), including requirements analysis, design, coding, testing, and deployment.
- Design and develop embedded software solutions in C and C++ for target platforms, including bare metal and RTOS-based environments.
- Perform unit testing (preferably using Gtest ) , bench testing , and module-level verification for developed or modified components.
- Experience in architecting embedded software or contributing to high-level system design.
- Collaborate with cross-functional and global teams for software integration, requirement clarification, and customer interactions.
- Provide technical guidance and support to project team members and participate in technical reviews.
- Analyze and troubleshoot complex issues in existing codebases; propose effective solutions and improvements.
- Prepare technical documents including design specifications, test reports, and release documentation.
- Ensure adherence to software quality standards, coding guidelines, and secure coding practices.
- Contribute to project planning activities such as effort estimation, risk identification, and mitigation planning.
- Support sustaining engineering activities for released products when required .
Qualifications
Requirements
- Bachelor's degree in Electronics Engineering , Computer Engineering , Computer Science , or related field .
- 8 to 1 5 years of experience in embedded software development .
- Strong understanding of embedded systems , including microcontrollers and (preferably) microprocessors.
- Solid programming expertise in C and C++ .
- Hands-on experience with RTOS , multi-threading , and inter-process communication mechanisms.
- Practical knowledge of serial communication protocols such as RS232, RS485 , and peripheral interfaces like I2C and SPI .
- Strong debugging skills and experience working with large, complex codebases.
- Good understanding of the Software Development Lifecycle (SDLC) and configuration management practices.
- Working knowledge of Embedded Linux , MODBUS , and BACnet is an added advantage.
- Exposure to Visual Studio or PC-based application development is desirable.
- Preferred: Knowledge of automation frameworks to automate development testing
- Self-driven, with strong problem-solving abilities and a high level of ownership.
- Excellent verbal and written communication skills, with the ability to convey technical concepts effectively to internal teams, customers, and suppliers.