Principal 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).
practical experience in Linux/QNX Systems.
- Strong Knowledge on Embedded Linux Kernel Internals, Realtime Linux & Device Drivers
- Good Understanding onARM 32/64Architectures
- Knowledge of Kernel Internals and experience in Kernel Driver Development.
- Understanding of Display, Camera, Ethernet Protocols and low-level drivers likeI2C, SPI, UART.
Required: C, Device Drivers, System programming.
Desirable: Scripting, Yocto, perl, Phyton
Required: Linux, QNX
- Kernel Internals, Peripherals drivers, Driver Optimization.
- Device Tree,Kernel configurations.
Domain Skills (Nice to Have)
- Knowledge of various Display Interfaces and low level drivers
- Knowledge of Networking, Ethernet drivers
- Good Understanding of any Filesytems/Storage devices eMMC/UFS/NAND.
- Understanding of RT Linux.
- Knowledge on Kernel Profiling Tools.
- Experience in Android internals oryocto build Enviornments
- System level debugging
- Perforce, GIT, Gerrit,HW debugging using Analysers and HW debuggers.
- Experience with cross compiller tool chain and build IDEs
Preferred Qualifications & Desired Competencies
- Ability to learn new technologies quickly.
- Strong team player and ability to handle multiple projects.
- Self-motivated, results-driven individual and passionate about work.
- Must be fluent in both written and spoken English
Build environment of trust, high performance and engagement by establishing clear goals and a commitment to feedback, development and recognition
Apply original thinking and continuous improvement to processes, products, systems or services and manage change to better serve customer needs
Encourage open expression of ideas; communicate effectively at all levels and build strong relationships
- Make sound decisions
- Demonstrate critical thinking to take appropriate risk and make sound and timely decisions
- Deliver extraordinary results
- Take initiative to achieve superior, quality results against internal or external standards of excellence
- List specific location of position and % of willingness to travel.
- Willingness to travel.
- Willingness to work in an office.
- Any offer of employment is conditioned upon the successful completion of a background investigation and drug screen.