- Lead and mentor a team of embedded software engineers in the design, development, and integration of embedded systems.
- Architect, design, and optimize software modules using C/C++ in Linux-based environments.
- Drive development and implementation of communication protocols, ensuring efficient and reliable data exchange.
- Collaborate with cross-functional teams to define requirements, develop solutions, and establish delivery roadmaps.
- Ensure adherence to coding standards, software design principles, and best practices for embedded development.
- Conduct detailed code reviews, performance tuning, and system debugging to maintain high software quality.
- Provide technical guidance, make key design decisions, and support problem resolution across project phases.
- Coordinate with stakeholders to track progress, manage risks, and ensure timely project delivery.
- Work extensively in Linux environments with focus on socket programming and communication protocol implementation.
- Contribute to development involving real-time systems, IoT devices, or industrial communication standards like BACnet or KNX.
- Participate in Agile development processes and utilize CI/CD pipelines for continuous integration.
Required Skills & Experience:
- 810+ years of experience in embedded software development using C/C++.
- Strong background in Linux systems programming and socket programming.
- Experience in protocol development and integration (e.g., BACnet, KNX, or similar).
- Knowledge of networking protocols, IoT, or industrial communication systems.
- Proficiency with version control tools (e.g., Git), build systems, and debugging tools.
- Exposure to Agile methodologies and CI/CD environments.
- Excellent analytical, debugging, and problem-solving skills.
- Proven experience in leading and mentoring technical teams.