Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will write code in C and C++ for microcontrollers, identify and fix issues and work collaboratively with engineers, product managers, and others on various teams. The Embedded Engineer will be responsible for owning the code and would be responsible for Code’s Functional, System Adherence to Industry Standard Coding standards like the one define in CMMI V, ISO 26262, ASPICE or ISO 13485 etc..
Responsibilities:
• Design and build embedded systems, including embedded system firmware in C and C++.
• Test and debug the systems.
• Documentation, testing, and debug system software.
• Monitor and maintain the system after development.
• Improve system efficiency and stability after development
• Collaborate with customers to create systems based on their needs.
• Ensure Code Adherence to appropriate standards like CMMI V, ISO 26262, ASPICE or ISO 13485 etc..
• Maintains Design history of all development, Documentation and Tests
Requirements:
• Professional experience in embedded systems
• Significant programming experience in C or C++ Experience in trouble-shooting embedded systems and microcontroller peripherals
• Experience in working in real-time operating systems like Embedded RTOS, FreeRTOS etc. and in interfaces, IP protocols, and hardware subsystems
• Proficiency in working with common embedded systems communication protocols like URAT, I2C, SPI, USB and ADC, PWM, DAC, DMA etc.
• Knowledge of microcontroller families like ATMEL, ST, Microchip etc., and their operation is a must.
• Knowledge of single- board computers e.g. Raspberry Pi, embedded Linux and python programming.
• Strong knowledge of electronics and digital circuits.
• Strong knowledge and adherence to Software Development standards
• Practical knowledge of Coding standards like MISRA Guidelines, Static Code analysis tools like PCLint, Unit test tool like Tessy.ation skills.