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
- Solid 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