Key Responsibilities
* Actively design and implement production-ready software components in C/C++ across embedded software and software application layers
* Develop hardware-near software, drivers, and device communication interfaces
* Solve complex cross-layer issues hands-on (hardware embedded software software applications)
* Define and document system architectures (class, sequence, state, component diagrams)
* Translate product and hardware requirements into structured, modular technical designs
* Define and maintain clean and robust hardware–software and software interfaces
* Conduct architecture reviews, design reviews, and code reviews
* Ensure scalability, reliability, performance, and maintainability of systems
* Introduce improved architectural patterns and engineering practices
* Mentor developers in system design, abstraction, and implementation quality
* Contribute to long-term technical strategy and innovation
Essential Skills and Experience:
* 8+ years of professional software development experience
* Several years of experience in senior or architectural roles
* Strong expertise in C/C++ (embedded or hardware-related systems preferred)
* Experience across embedded software and software application development
* Solid understanding of hardware interfaces, communication protocols, and performance constraints
* Experience with modular system design and architectural patterns
* Strong debugging and performance optimization skills
* Experience with modern development practices (version control, CI/CD, code reviews, testing strategies)
* Master's degree in Computer Science, Software Engineering, or comparable qualification