About this role
Job Summary
We are looking for a C/C++ Software Engineer to design, develop, and maintain platform applications used in Building Automation Systems (BAS).
The role involves working on native applications, embedded services, protocol integrations, and platform-level features running on Linux-based and Windows server.
The candidate will collaborate with architects, system engineers, QA, and cross-functional teams to deliver high-performance, scalable, and reliable applications
Application Development
- Design, develop, and enhance native applications using C and C++
- Build and maintain embedded and server-side components running on Linux and Windows
- Implement high-performance, multithreaded services with strict reliability and uptime requirements
- Develop modular, reusable, and testable components
- Ensure compliance with coding standards, memory safety, and performance guidelines
- Debug complex multithreaded issues such as memory leaks, deadlocks, race conditions
- Perform performance profiling and optimization
- Analyze core dumps and runtime issues in production-like environments
- Follow Agile/Scrum development practices
- Participate in design reviews, code reviews, and sprint planning
- Collaborate with QA for defect analysis and resolution
- Maintain technical documentation and design notes
- Implement and enhance BACnet-based integrations (BACnet/IP, MS/TP, services, properties)
- Work with network protocols such as TCP/IP, UDP, IPv4/IPv6
Required Skills & Qualifications
- Strong proficiency in C and C++
- Strong understanding of memory management, multithreading and synchronization, object-oriented design and patterns
- Hands-on experience with Linux-based development environments
- Experience in embedded or systems software development
Platform & Tools
- Visual Studio
- GCC / Make / CMake build systems
- Debugging tools (GDB, Valgrind, core dumps)
- Cross-compilation environments
- Git and CI/CD pipelines
- Networking fundamentals (TCP/IP, UDP, sockets)
Preferred / Nice-to-Have Skills
- BACnet protocols and building automation concepts
- Integration with field devices or control systems
- Experience with BAS products
- Docker / containerized services
- Security best practices for embedded and platform applications
- Diagnostics, logging frameworks, and health monitoring
Education & Experience
- Bachelor’s or Master’s degree in Computer Science, Electronics, or related field
- 10-14+ years of hands-on experience in C/C++ application or embedded development
- Large, long-lived codebase experience preferred
What We Offer
Industry-leading Building Automation platforms
Large-scale, mission-critical systems exposure
Global architecture and platform collaboration
Career growth in system architecture, protocol engineering, and platform design