Job Description
Key Roles & responsibilities :
- Design and Development :
- Develop, test, and optimize embedded software solutions for various platforms.
- Implement efficient and robust code in Embedded C, C++, Java, Ada, Python, and Rust for real-time and high-performance applications.
- Collaborate with hardware teams to design firmware / software interfaces and ensure seamless integration.
- System Optimization :
- Analyze system requirements and constraints to create innovative solutions.
- Optimize code for performance, memory usage, and power consumption.
- Testing and Debugging :
- Conduct unit tests, integration tests, and system validation for embedded software.
- Debug and troubleshoot issues in embedded systems and implement solutions.
- Documentation and Standards :
- Write comprehensive technical documentation for code, processes, and systems.
- Adhere to industry best practices and safety standards for embedded systems development.
- Collaboration :
- Work with cross-functional teams, including hardware engineers, product managers, and QA teams, to deliver high-quality products.
- Participate in code reviews and contribute to team knowledge sharing.
- Must have Skills : Proficiency in programming languages :
Embedded C, C++, Java, Ada, Python, and Rust .
Strong understanding o f real-time operating systems (RTOS) and embedded system architecture .Test driven development (TDD) ApproachExperience with microcontrollers, microprocessors, and low-level hardware interfaces (SPI, I2C, UART, etc.)Knowledge of embedded software development tools, compilers, and debugging tools.Familiarity with version control systems (e.g., Git) and CI / CD pipelines.Good to have :
Experience with safety-critical systems and standards (e.g., ISO 26262, DO-178C) is a plus.Strong analytical and problem-solving skills.Excellent communication and teamwork abilities.Qualifications
BE in IT or equivalent
Skills Required
Java, Embedded C, Rust, Microcontrollers, Microprocessors, Ada, Python, Debugging Tools