Design and implement the software for embedded devices and systems, from creation to production and deployment
Develop, code, test and troubleshoot the system software
Monitor and maintain the system after development
Improve the system’s efficiency and stability after development
Collaborate with customers to create systems based on their needs
Support software QA and optimise I/O performance
Provide post production support when necessary
Analyse, monitor and improve efficiency, stability of the system
Interface with hardware design and development
Experience with development and troubleshooting on embedded targets
Good programming experience in C or C++
Excellent knowledge of OS coding techniques, Good to have knowledge on Linux user space application and kernel driver development.
Knowledge of different IP protocols, interfaces and hardware subsystems
Sense of ownership and pride in your performance and its impact on company’s success
Good to have knowledge on RTOS.
Should be able to independently perform board bring-up activities.
Familiarity with software configuration management tools, defect tracking tools, and peer review, Should be able to work with version control system such as Git, SVN.
Knowledge of various communication interfaces such as USB, UART, SPI, I2C, CAN, PCI, VXI etc.
Must have development experience with software tools/IDE like IAR/CCES/CCS/Kinetis/Kubernites
Should have basic knowledge on agile project management
Design and implement software of embedded devices and systems from requirements to production and commercial deployment
Integrate and validate software
Various Report Preparation & Product Documentation
Ideal candidate shall have interest in creating new designs, research and find alternate methods to do electronic tasks, and shall always keep learning things.
Critical thinker and problem-solving skills
Good time-management skills
Great interpersonal and communication skills