As part of the Research and Development team, the engineer should be able to perform the following
(but not limited to) duties to support the teams goals and deliverables:
Understand the product specification and define the software architecture for the product.
Ensure the software design meets all requirements of quality, maintainability, extensibility etc.
Provide technical guidance to junior engineers and perform design/code reviews.
Hands-on software development, especially debugging and resolving critical issues when required.
Develop prototypes to evaluate various software libraries/frameworks and hardware modules.
Provide estimations for the effort involved in software development activities and guide the team in estimating their activities appropriately.
Bachelor or Master of Engineering in Electronics or Computer Science
More than 10 years of experience in design & development of embedded software.
ESSENTIAL TECHNICAL COMPETENCY
Proven experience as embedded software architect.
Should have defined the software architecture for at least one product.
Should have experienced at least one full product development life cycle
Proficient in C and C++, preferably on embedded OS.
Experience in firmware development
Experience in unit testing and automated unit test frameworks.
Good in embedded engineering fundamentals (microcontrollers, peripherals,embedded operating system concepts, etc.)
System level understanding with ability to connect with hardware and other system level interactions of software.
ADDITIONAL QUALIFICATION AND EXPERIENCE
Experience in developing device drivers and kernel objects.
Experience in any of the UI framework (preferably QT).