- Company Name
- Tata Technologies
- Job Title
- Embedded Software Engineer
- Job Description
-
Job title: Embedded Software Engineer
Role Summary:
Design, develop, debug, and optimize Board Support Package (BSP) software for automotive platforms. Works from concept through commercialization on automotive infotainment/digital cockpit systems, delivering performance‑optimized, reliable embedded solutions across Linux, Android, QNX, and real‑time operating systems.
Expactations:
- Strong hands‑on experience in BSP development, high‑level OS debugging, and device‑driver development for ARM Cortex‑A/X SoCs.
- Rapid ramp‑up to existing projects, understanding of hardware‑software driver architecture, and ability to interpret technical specifications.
- Proactive issue triage, system‑level debugging, and collaboration with external customers and internal technical teams to meet product requirements.
Key Responsibilities:
- Design, develop, and debug BSP and feature integration for automotive control units.
- Customize and optimize software to meet customer SoC capabilities and performance goals.
- Perform system‑level troubleshooting (kernel crashes, framework crashes) across Linux, Android, QNX, and hypervisor RTOS.
- Profile and benchmark system performance; implement optimizations for memory, CPU, and peripheral usage.
- Coordinate with cross‑functional teams (hardware, QA, customer support) to resolve issues and deliver integrated products.
Required Skills:
- Embedded C/C++ development; strong understanding of Linux/Android and QNX/BSD kernel architectures.
- Device‑driver development for USB, UART, SPI, I²C, PCIe, Ethernet; knowledge of hardware blocks (clocks, PLLs, GPIO, interrupts, TrustZone).
- Familiarity with ARM Cortex‑A/X boot process, MMU/SMMU, virtualization, and TrustZone security.
- Experience debugging kernel and system‑level crashes; root‑cause analysis and resolution.
- System performance profiling and optimization techniques.
- Excellent analytical, problem‑solving, and communication skills; ability to work independently and in multidisciplinary teams.
Required Education & Certifications:
- Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or related field.
- Professional certifications in embedded systems or real‑time operating systems are a plus but not mandatory.