Principal Engineer, Embedded Software Engineering
- Source: LinkedIn
- HARMAN India
- Hybrid
- Bengaluru
- Full-Time
- Staff
Job Description
Introduction: A Career at HARMAN Automotive We’re a global, multi-disciplinary team that’s putting the innovative power of technology to work and transforming tomorrow. At HARMAN Automotive, we give you the keys to fast-track your career.
- Engineer audio systems and integrated technology platforms that augment the driving experience.
- Combine ingenuity, in-depth research, and a spirit of collaboration with design and engineering excellence.
- Advance in-vehicle infotainment, safety, efficiency, and enjoyment.
About the Role: As a Principal Engineer, proficient in designing, optimizing, developing, and maintaining kernel-level software, showcasing mastery in open-source development practices. Skilled in developing complex drivers and adept at employing open-source development methodologies, with a strong capability for in-depth issue analysis within complex system environments.
Your Team This position does not have any direct or indirect reports; but Principal level engineers are expected to mentor more junior engineers and help guide their careers and activities.
What You Will Do
- Spearhead the design, development, and debugging of kernel-level software components, ensuring stability, performance, and security.
- Investigate and resolve complex kernel-related issues, employing debugging tools and methodologies.
- Ensures on-time support for Architecture, design, development and delivery activities and interfacing with Delivery and customers, other engineering organizations.
- Participates in proposal to customer requests, RFQ and other opportunities that may arise.
- Provides software Leadership for different kernel and system components.
- Interfaces with customers both internal and external to ascertain customer satisfaction and takes appropriate action to ensure customer satisfaction relative to group performance.
- Maintains engineering standards by establishing and maintaining policies on software design standards.
- Identifies and implements methods and practices that improve effectiveness of teamwork, and maturity of software development.
- Supervise and review contributions from the development team.
- Performs technical research, monitors current trends and changes in technology.
- Demonstrates industry knowledge to assist in new product development.
- Uses Agile Scrum Methodology for software development.
- Ensure proper review of code developed by fellow team members.
- Present and defend technical decisions to peers and engineering management using facts.
- Analyze and resolve incompatibility and conflicts between teams through technical discussions.
- Drive team with “Act like Owner” Mindset.
What You Need
- Master’s/bachelor’s degree in Electronics or Computer Engineering
- 10+ years of experience in software development, Architecture.
- 8+ Years of experience on LINUX/Android development and debugging robust systems.
- Good understanding in Kernel Internals, C programing.
- Understanding of Android/Linux Boot Sequence and various Framework module architecture.
- Hands on troubleshooting issues on run-time environment.
- Strong communication and inter-personal skills.
- Proficient in multi-threaded programming and middleware solution development on Linux & Android environment.
- Strong Understanding in Camera Ser Des /Sensor driver integration in QNX/Linux.
- Strong in fundamentals of Inter Process Communication and OS concepts.
- Strong experience in development and debugging of kernel subsystems and drivers.
- Experience in working on ARM64, x86_64 and MIPS architectures.
- Creative problem-solver capable of creating and reproducing complex software defects.
- Android build, porting and customization experience
- Expertise in using Performance monitoring, memory analysis, CPU benchmarking tools
- Strong Knowledge on Embedded Linux Kernel Internals & Device Drivers and rich experience in Kernel Driver Development.
- Good Understanding on ARM 32/64 Architectures and Kernel Debugging
- Expert in any of Realtime OS like RT Linux, QNX , VxWorks.
- Expert in I2C, SPI, UART subsystems in Linux Kernel.
- Good Understanding of Memory, Storage devices, high Speed devices like USB, PCiE, SDIO
- Ethernet, UFS eMMC etc.
-
Languages:
- Required: C, C++, HAL, Device Drivers, System programming.
-
Desirable: Scripting, Yocto, perl, Phyton, JAVA
-
OS:
-
Required: Linux/QNX/Android/RT Linux.
-
Tools:
-
GIT, Gerrit, HW debugging using Analyzers and HW debuggers.
- …
Skills
- linux-kernel
- cplusplus
- c10
- yocto-project
- perl
- Java
- gerrit
You missed this one - but you don't have to keep missing out. Try Club members get matched with open opportunities before they're gone, so you're always first in line, never last.
