15 Oct
|
Lennox India Technology Centre
|
Chennai
15 Oct
Lennox India Technology Centre
Chennai
Responsibilities
- Design and develop cloud-connected IoT software and embedded/edge components, with C++ as the primary language.
- Build services for device onboarding, telemetry ingestion, device management, and command/control workflows.
- Develop distributed, real-time communication components integrating Edge, HTTPS, and REST APIs.
- Own successful implementation and delivery of software products and components throughout the product lifecycle, on time and with high quality.
- Assure proper technical requirement definition with internal and external customers, marketing, manufacturing, and other support groups.
- Lead technical design and architecture reviews, and participate in prototyping activities.
- Collaborate with Architecture, Embedded, Mobile Apps, IT, Hardware, QA, Manufacturing, Technical Support, and Operations teams.
- Actively participate in the definition and implementation of new processes and improvements.
- Identify and create new technologies and ideas to increase the organization's intellectual property and to better address customer needs.
- Mentor and train other engineers.
- Having Open mindset to work with legacy network libraries in IoT domain
- More curious to learn any Open Source libraries
Education Requirements
- BS in Computer Science, Computer Engineering, or equivalent is required.
- MS in Computer Science/Computer Engineering or equivalent is preferred.
Required Technical Skills
- 10+ years of professional software development experience, with a focus on IoT and embedded systems.
- Proficiency in C++ developing distributed, real-time applications.
- 5+ years of experience with multithreaded application development and debugging.
- 5+ years of experience with socket-level TCP and UDP development in C/C++, using modern debugging tools.
- Strong understanding of software design principles and best practices; ability to develop unit-test-driven software components.
Cloud & IoT
- Strong understanding of IoT architectures, protocols, and standards: MQTT, WebSockets, HTTPS, REST APIs, JSON/XML.
- Experience with cloud IoT services such as Azure IoT Hub and AWS IoT Core.
- Strong understanding of device-to-cloud integration.
Linux & Debugging
- Strong Linux Ubuntu skills, including creating and maintaining system services and navigating the system using Bash.
- Strong skills monitoring and managing Linux services and troubleshooting service failures using gdb, coredumps, trace files, and log files.
- Strong networking skills (TCP, UDP, ARP, IGMP) with the ability to monitor and debug on a live system.
- Strong experience using SSH to access and manage systems in the cloud.
- Strong Bash shell script authoring and maintenance.
Network & Home Router
- Strong understanding of Network Address Translation (NAT), network handshakes, and Round-Trip Time (RTT) analysis and debugging.
- Strong understanding of Publisher-Subscriber (Pub-Sub) frameworks in the IoT domain, including MQTT brokers, DDS (Data Distribution Service) standards, message queuing systems, and streaming platforms.
- Strong understanding of distributed systems architecture, clustering, and middleware concepts.
- Solid understanding of client-server and Pub-Sub application development, packaging, deployment, and execution, including Debian packages (.deb) and standalone executable binaries.
Tools
- Strong skills with Git and GitLab.
- Experience with Visual Studio Code and Visual Studio with WSL.
- Experience with Configuration Management tools (version control, bug tracking, change management, automated builds, and coding standards).
- Experience with JetBrains CLion is a plus.
- Remote debugging skills using gdb and gdbserver are a plus.
- Experience with Artitellery or any load test framework is a puls
Preferred Skills
- Experience with OpenDDS or another Data Distribution Service (DDS) middleware.
- Experience with at least one other high-level language, such as C#, Java, Python, or Node.js.
- Microservices architecture, Docker, and Kubernetes.
- CI/CD experience (Azure DevOps, Jenkins, GitHub Actions, or similar).
- Experience developing and deploying cloud applications on Microsoft Azure, with emphasis on: Virtual Machine Scale Sets; load balancing; Syslog and Azure Metrics reporting and monitoring reports; network VM maintenance planning and monitoring. Multi-region and availability-zone VMSS experience is a plus.
- Azure DevOps Boards, Backlogs, Sprints, and Plans; ability to understand an Azure DevOps pipeline and the concepts it holds.
- Experience with edge computing platforms.
- Experience working in Agile and globally distributed teams.
Teaming / Soft Skills
- Excellent verbal and written communication skills, with technical and non-technical staff.
- Strong technical leadership and architectural decision-making skills.
- Ability to collaborate across multiple functional teams and external partners to deliver sound technical solutions to our customers.
- Demonstrated ability to drive product and process improvements throughout the software organization.
- Ability to work with third parties and offshore development teams as needed.
- Self-driven, results oriented, with strong organizational skills and ability to train and mentor others.
📌 Lead (Chennai)
🏢 Lennox India Technology Centre
📍 Chennai