We are seeking an Embedded Software Architect to design and develop Linux-based embedded systems for Passenger Information Systems. This role requires expertise in embedded C++ architecture, system integration, and software development for real-time Linux systems. The ideal candidate will lead software teams, mentor junior engineers, and drive high-performance, scalable embedded software solutions.
Key Responsibilities:
✅ Software Architecture & Development
- Design and develop real-time embedded C++ architectures for Linux-based systems.
- Lead middleware, driver development, and application-layer programming.
- Analyze system requirements and create detailed software design documents.
✅ Technical Leadership & Team Collaboration
- Coordinate software interface alignments with developers, integrators, and stakeholders.
- Lead software development teams and mentor junior engineers.
- Perform code reviews, debugging, and performance optimizations.
✅ System Integration & Debugging
- Engage in low-level debugging, memory leak detection, and core dump analysis.
- Optimize system performance by addressing bottlenecks.
✅ Software Tools & Documentation
- Implement unit testing frameworks and UML-based software architecture designs.
- Maintain software version control and CI/CD pipelines using Git/GitLab.
Technical Skills & Expertise:
💻 Programming & Development
- Proficiency in Embedded C++ (C++11/14/17/20) – STL, OOP, Multithreading
- Expertise in Embedded Linux – System programming & shell scripting (Bash)
- Experience with Yocto-based systems (Preferred but not mandatory)
🖥 System Design & Debugging
- Strong knowledge of Systemd, GCC, CMake, Makefiles
- Experience with IP protocols & network programming
- Debugging with GDB, Valgrind, and Doxygen
🛠 Tools & Version Control
- Hands-on experience with Git, GitLab, and CI/CD pipelines
- Proficiency in Unit Testing frameworks for C++
- UML Modeling and Software Architecture Design