Principal Engineer – C, Linux Kernel (Display/Camera/Ethernet)

  • Harman
  • India - Bangalore, India
  • 1 week ago

Company Name: Harman

Location: Bangalore, India, IN

Job Duration: 2021-05-04 to 2021-06-03




Additional Work Location(s) ​​​​​:  

Position Summary:.

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


Job Responsibilities: 

  • 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



Basic Qualifications: 

  • Bachelor’s or Master’s degree in Computer science/Electronics (or equivalent).
  • 9+  years of practical experience in Linux/QNX Systems.
  • Strong 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 Display,Camera, Ethernet Protocols and low level drivers like I2C, SPI, UART.
  • Languages:
    • Required:  C, Device Drivers, System programming.
    • Desirable: Scripting, Yocto, perl, Phyton
  • OS:
    • Required: Linux , QNX
    • Desirable: Andriod
  • Other skills:
    • Kernel Internals,  Peripherals drivers, Driver Optimization.
    • Device Tree,Kernel configurations.
  • Domian 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 or yocto build Enviornments
    • System level debugging
  • Tools:
    • 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


Change Orientation:

  • 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


Judgment: Make sound decisions

  • Demonstrate critical thinking to take appropriate risk and make sound and timely decisions


Results-Driven: Deliver extraordinary results

  • Take initiative to achieve superior, quality results against internal or external standards of excellence



Eligibility Requirements: 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.