About the Job:
ADASI is a leading aerospace company committed to pushing the boundaries of innovation in the aviation and airspace industry. We specialize in creating cutting-edge solutions that enhance safety, efficiency, and sustainability in airspace management. We are seeking a talented Embedded Software Engineer with a minimum of 8 years of experience to join our team.
Ready to apply for roles like this?
Unlock the company name and direct application link. Subscribers get instant access to fresh jobs across Dubai, Abu Dhabi and Riyadh, many with visa support.
Unlock employer & apply directly
Job Responsibilities:
- Design, develop, and optimize embedded software for microcontroller-based systems and safety-critical applications.
- Work on the full software development lifecycle (SDLC), including requirements gathering, design, implementation, testing, and deployment.
- Architect and implement complex embedded systems with a focus on performance, safety, and reliability.
- Work with and contribute to large codebases, including open-source software or legacy code, ensuring maintainability and scalability.
- Utilize simulation environments to model, test, and validate embedded software before deployment on hardware.
- Perform system-level debugging, hardware/software integration, and troubleshooting.
- Design and enforce best practices for embedded software development, including coding standards and software documentation.
- Ensure software meets relevant safety standards (e.g., ISO 26262, DO-178C).
- Collaborate with cross-functional teams to define technical requirements and design solutions for embedded systems and Human-Machine Interfaces (HMI).
- Develop and maintain clear and detailed documentation for software architecture, design, and implementation.
Qualifications:
- Minimum of 8 years of experience in embedded software engineering.
- Hands-on expertise in C and C++ programming languages for embedded systems.
- In-depth experience with microcontroller architectures (e.g., ARM, STM32) and low-level hardware interfacing.
- Strong understanding of real-time operating systems (RTOS) and real-time software design.
- Extensive experience with communication protocols (e.g., UART, SPI, I2C, CAN, Ethernet).
- Strong understanding of object-oriented programming (OOP) principles and design patterns.
- Proven experience with safety-critical software development and knowledge of relevant standards (e.g., ISO 26262, DO-178C).
- Expertise in handling large codebases, including working with legacy code and open-source software.
- Experience with simulation environments and tools for testing and validating embedded systems before hardware deployment.
- Expertise in debugging, performance optimization, and software testing methodologies.
- Strong understanding of software architecture, design patterns, and modular software development.
- Proficiency with version control systems (e.g., Git) and software development tools (e.g., debuggers, oscilloscopes).
- Excellent communication skills, both technical and non-technical.
- A degree in Computer Science, Electrical Engineering, or a related field (Master's degree or equivalent is a plus).
- Must have experience with Linux-based development environments.