Software engineer, who is responsible for the product development with quality and by following the engineering practices. The candidate should be a team player who should be able to code, do the peer code review, defect fixes wherever needed on the existing product and also takes the responsibility in porting the existing product to a new platform.
Uses Agile Scrum Methodology for software development.
Develops unit tests for all new code
Has all code changes peer reviewed, and must peer review code when required
Provides input for documentation of new or existing programs
Ability to refine requirements and solve problems
Developing and improving solutions(including bug fixes) to problem
Performs technical research, monitors current trends and changes in technology
Demonstrates industry knowledge to assist in new product development
Bachelor’s or Master’s degree in Computer science/Electronics (or equivalent).
2 or more years of practical experience in Linux Kernel
Knowledge on Embedded Linux Kernel Internals, Realtime Linux & Device Drivers
Good Understanding on ARM 32/64 Architectures
Knowledge of Kernel Internals and experience in Kernel Driver Development.
Understanding of I2C, SPI, UART, IPC, Ethernet Protocols.
Required: C, Device Drivers, System programming.
Desirable: Scripting, Yocto, perl, Phyton
Required: Linux, QNX,
Kernel Internals, Peripherals drivers, Driver Optimization.
Device Tree,Kernel configurations.
Domian Skills (Nice to Have)
Knowledge of various Display Interfaces (LCD, LVDS, HDMI etc) and drivers
Good Understanding of any Filesytems/Storage devices eMMC/UFS/NAND.
Understanding of RT Linux.
Knowledge on Kernel Profiling Tools.
Customization of yocto builds for various architectures
Perforce, GIT, Gerrit, HW debugging using Analysers and HW debuggers.
Experience with cross compiller tool chain and build IDEs
Previous articleJOB: Embedded Development Internship At Calvem Energy