A

Custom Software Engineer

Accenture
NewPosted yesterday

LOCATION

Bengaluru · Onsite

EXPERIENCE

8+ Years

TYPE

FullTime

SALARY

Negotiable

SKILLS REQUIRED

C++Automotive Communication ProtocolsAndroid InternalsAutomated TestingSELinux PolicySOME/IP

Job description

Overview

Serve as the senior individual contributor backbone of the team, owning one or more VHAL components end to end across design, implementation, testing, integration and field-defect ownership with minimal supervision. Act as the go-to person for a technical domain and mentor engineers.

What you'll do

  • Implement VHAL property support end to end, including VehiclePropConfig, read/write paths, subscriptions, change notifications, StatusCode error paths and VehiclePropertyStatus.
  • Implement and maintain the connector layer between VHAL and the vehicle bus using SocketCAN, SOME/IP or proprietary IPC.
  • Extend the Car Framework with CarPropertyManager conveniences, vendor CarManager implementations, permission definitions, SystemApi annotations, car-lib changes and API/.txt updates.
  • Write emulator or reference support by extending the AOSP reference VHAL, property-injection tooling and mock signal generators.
  • Own component performance and resource characteristics by profiling hot paths, eliminating redundant copies across the Binder boundary and tuning subscription rates.
  • Lead root-cause analysis on complex defects spanning apps, CarService, VHAL and vehicle buses using dumpsys, logcat, systrace or Perfetto, bugreport, CAN traces and SOME/IP captures.
  • Reproduce and triage field or vehicle-fleet issues and drive fixes through to OTA.
  • Write unit tests using GTest/GMock and JUnit/Robolectric/Mockito, VTS tests for the HAL surface and instrumentation tests where a device is required.
  • Author SELinux policy for owned services and resolve denials by scoping to the narrowest type and permission set.
  • Review peers' code and enforce coding standards and API-compatibility rules.
  • Onboard and coach engineers on AOSP workflows, VHAL concepts and debugging techniques.
  • Contribute to design reviews for adjacent components and challenge designs constructively.

What you'll need

  • Minimum 7.5 years of experience in Automotive Digital Cockpit Solutions.
  • 8+ years total experience.
  • 3+ years in Android platform or automotive embedded systems, including hands-on VHAL or HAL-layer work.
  • 15 years of full-time education.
  • Proficient-to-advanced C++14 or C++17, including STL, smart pointers, practical templates, multithreading with mutexes or condition variables, and understanding of the AIDL NDK backend.
  • Strong Java and competent Kotlin, including coroutines, null-safety and interoperation with Java framework code.
  • Solid grasp of Android internals, including Binder IPC, ServiceManager, system services, init and .rc files, SELinux basics, system/vendor/product partition rules, HIDL versus AIDL HAL differences and VINTF.
  • Working knowledge of the Car API surface, including VehiclePropertyIds, VehicleAreaSeat or VehicleAreaZone, CarPropertyValue, property permissions, Car.PERMISSION and the vendor-permission mechanism.
  • Practical experience with at least one onboard network: CAN or CAN-FD with DBC signal decoding, LIN, or Automotive Ethernet with SOME/IP.
  • Ability to read and interpret SOME/IP service interface definitions and configure a vsomeip client, including routing manager, service discovery and endpoint configuration.
  • Comfort working in an AOSP tree, including repo sync, Android.bp authoring, target builds, incremental module builds, and adb sync or adb remount workflows.
  • Experience with C++, Java, Kotlin, Rust, Python or Bash.
  • Automotive Digital Cockpit Solutions is required.

Details

  • Based at the Bengaluru office.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Custom Software Engineer