Experience - 4 to 10 years
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 of Linux device drivers, Linux Kernel Programming, Linux Kernel Internals, and Linux BSP
- Expertise in multimedia including CSI, camera, video capture, display, video encoder, video decoder, ISP drivers, audio capture, audio playback, V4L2, ALSA, and middleware
- Excellent understanding of audio and video formats and compression techniques
- Experience with development tools such as oscilloscope, protocol analyzer, emulator, signal generator, JTAG programmer, GIT, SVN, and JIRA
- Familiarity with various embedded microprocessors from Qualcomm, TI, NXP, NVIDIA, Intel, or similar
- Ability to understand hardware schematics and datasheets to derive firmware/software-specific solutions.