Job Responsibilities
Architecture Ownership: Define the target software architecture for real-time embedded applications, including partitioning strategy, data/control flow, interface contracts, timing constraints, concurrency model (e.g., task scheduling, ISR interaction), and resource usage (CPU/memory/IO).
Real-Time Design & Verification Enablement: Guide development of design approaches that enable testability, including error handling, logging/telemetry strategy, fault containment, watchdog strategy, and deterministic behavior required for certification and operational robustness.
Design Reviews & Technical Leadership: Lead and participate in design reviews (architecture, detailed design, interface design), ensuring decisions are documented, justification is provided, and risks/gaps are addressed.
Problem Solving & Technical Guidance: Work with engineers to resolve architecture-level and integration issues, including performance bottlenecks, timing violations, concurrency/race conditions, and reliability shortcomings.
Software Development Life Cycle Leadership: Own/guide best practices across the software life cycle: planning, requirements refinement support, design/implementation standards, configuration management, and verification planning coordination.
DO-178C Certification Alignment & Traceability: Establish architecture and design practices that support DO-178C artifacts and traceability needs (requirements → high-level design → low-level design → code → verification evidence). Ensure verification feasibility at architecture level.
Collaboration Across International Teams: Work closely with distributed engineering teams, system engineers, product stakeholders, safety/certification teams, and verification teams. Ensure clear, timely communication and alignment in an international environment.
Mandatory Skills
Real-Time Embedded Architecture: Strong experience designing real-time embedded software architectures.
Certification Mindset (DO-178C): Demonstrated familiarity with DO-178C processes and expectations, including traceability and verification evidence concepts.
Programming Languages: Proficiency in C and/or C++ for embedded development and strong scripting skills (bash, python)
Software Engineering Fundamentals: Strong understanding of OOP, data structures, algorithms, and software design principles applied to embedded constraints.
Tooling & Configuration Management: Familiarity with GIT and software configuration management practices. Understanding of versioning, baselines, and controlled changes in regulated environments.
Coding Standards & Quality: Experience applying coding standards and practices that support deterministic behavior and maintainability.
Team & Mindset: Autonomy, technical excellence, strong communication, collaboration, problem-solving, and continuous improvement mindset
Desired Skills
AI-enabled development: Exposure to using AI tools/assistants to improve productivity and quality (e.g., code review assistance, test generation support, static analysis assistance, documentation/traceability support) while maintaining compliance with safety/certification processes.
Good experience with Test-Driven Development (TDD)
Experience in supporting CI/build automation for embedded projects (e.g., GitLab CI/CD).
Experience preparing technical documentation (architecture/design rationale, interface specs, error-handling/timing descriptions).
Qualification - Engineering Graduate
Work Experience - 12-17 years
At Thales, we’re committed to fostering a workplace where respect, trust, collaboration, and passion drive everything we do. Here, you’ll feel empowered to bring your best self, thrive in a supportive culture, and love the work you do. Join us, and be part of a team reimagining technology to create solutions that truly make a difference – for a safer, greener, and more inclusive world.