Key Responsibilities
• Responsible for design and development of real time embedded software/firmware and PC/mobile based software application.
• To Analyse domain specific technical or low level requirement and modification as per end customer or system requirement.
• Participate in High level and low level software design
• Perform software testing including unit, functional and system level requirement including manual and automated
• Performs software requirement to design to coding to testing traceability
• Performs code review following coding guidelines and static code analysis
• Troubleshoots software problems of limited difficulty.
• Documenting technical deliverable like software specifications, design document, code commenting, test cases and test report, Release note etc. throughout the project life cycle.
• Follow defined process for software Development life cycle
• Develops software solutions from established programming languages or by learning new language required for specific project.
Experience / Skills Required
• Strong knowledge for Linux device drivers, Linux Kernel Programming, Linux Kernel Internals, Yocto / Buildroot or any other build systems
• Experience working with development tools like oscilloscope, protocol analyser, emulator, signal generator, JTAG programmer, GIT, SVN, JIRA.
• Experience working with different embedded microprocessor based on Qualcomm, TI, NXP, NVIDIA, Intel or similar
• Experience of Board support package, Device driver and boot loader development/porting.
• Understanding of hardware schematic, datasheet of hardware component to derive firmware/software specific solution
• Strong sense of ownership, passionate, fast learner, analytical mind set, perfection seeker.