Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
Design, develop, code, test and debug system software.
Review code and design.
Analyze and enhance efficiency, stability and scalability of system resources.
Integrate and validate new product designs.
Support software QA and optimize I/O performance.
Provide post production support.
Interface with hardware design and development.
Assess third party and open source software
Proven working experience in Embedded software engineering for 1 to 2 years.
Bachelor’s degree in Electronics and Communication Engineering, Computer Engineering or Electrical Engineering.
Master’s degree in Embedded systems or similar fields in preferred.
Experience in hands-on development and troubleshooting on embedded targets.
Solid programming experience in C or C++.
Knowledge of working with different micro controller architectures like ARM, 8051 etc.
Experience with various protocols like I2C, SPI, USB, RS232, RS485 etc.
Proven experience in embedded systems design with preemptive, multitasking real-time operating systems.
Familiarity with software configuration management tools, defect tracking tools, and peer review Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems Adequate knowledge of reading schematics and data sheets for components.