Custom Software Engineer
Project Role Description : Develop custom software solutions to design, code, and enhance components across systems or applications. Use modern frameworks and agile practices to deliver scalable, high-performing solutions tailored to specific business needs.
Must have skills : Automotive Digital Cockpit Solutions
Good to have skills : NA
Minimum 7.5 year(s) of experience is required
Educational Qualification : 15 years full time education
Summary:
The senior individual contributor backbone of the team. Owns one or more VHAL components end to end — design, implementation, test, integration and field defect ownership with minimal supervision. Acts as the go-to person for a technical domain (for example, HVAC and body properties, power management signalling, or the SOME or IP bridge) and mentors engineers.
Roles & Responsibilities:
Implementation & Ownership:
- Implement VHAL property support end to end: define the VehiclePropConfig (access mode, change mode, area configs, min or max, supported enum values), wire the read or write path, implement subscription and change-notification, and handle StatusCode error paths and VehiclePropertyStatus (AVAILABLE or UNAVAILABLE or ERROR).
- Implement and maintain the connector layer between VHAL and the vehicle bus: SocketCAN readers, SOME or IP event subscriptions and method calls, or the proprietary IPC to a companion controller.
- Extend the Car Framework where required: new CarPropertyManager conveniences, vendor CarManager implementations, permission definitions and SystemApi annotations, car-lib changes and their api or *.txt updates.
- Write emulator or reference support so features can be developed without hardware: extend the AOSP reference VHAL (fake VHAL), property-injection tooling, and mock signal generators.
- Own performance and resource characteristics of the components: profile the hot paths, eliminate redundant copies across the Binder boundary, tune subscription rates.
Debugging & Root Cause:-
- Lead root-cause analysis on complex defects spanning app ,CarService ,VHAL ,bus, using dumpsys, logcat, systrace or perfetto, bugreport, CAN traces and SOME or IP captures.
- Reproduce and triage field or vehicle-fleet issues drive fixes through to OTA.
Quality:-
- Write unit tests (GTest or GMock for native, JUnit or Robolectric or Mockito for framework), VTS tests for the HAL surface, and instrumentation tests where a device is required.
- Author the SELinux policy for owned services and resolve denials correctly — scoping to the narrowest type and permission set.
- Review peers' code enforce the team's coding standards and API-compatibility rules.
Mentoring:-
- Onboard and coach engineers on AOSP workflows, VHAL concepts and debugging technique.
- Contribute to design reviews for adjacent components and challenge designs constructively.
Professional & Technical Skills:
- 8+ years total, 3+ years in Android platform or automotive embedded systems, including hands-on VHAL or HAL-layer work.
- Proficient-to-advanced C++ (14 or 17): STL, smart pointers, templates at a practical level, multithreading with mutexes or condition variables, understanding of the AIDL NDK backend (ndk:ScopedAStatus, AIBinder, SharedRefBase).
- Strong Java competent Kotlin (coroutines, null-safety, interop with Java framework code).
- Solid grasp of Android internals: Binder IPC, ServiceManager, system services, init and .rc files, SELinux basics, system or vendor or product partition rules, HIDL vs AIDL HAL differences, VINTF.
- Working knowledge of the Car API surface: 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 or IP.
- Able to read and interpret SOME or IP service interface definitions and configure a vsomeip client (routing manager, service discovery, endpoint config).
- Comfortable in an AOSP tree: repo sync, Android.bp authoring, target builds, incremental module builds, adb sync or adb remount workflows.
- C++. Java, Kotlin, Rust, Python or Bash
Additional Information:
- The candidate should have minimum 7.5 years of experience in Automotive Digital Cockpit Solutions.
- This position is based at our Bengaluru office.
- A 15 years full time education is required.
Bengaluru
Equal Employment Opportunity Statement
All employment decisions shall be made without regard to age, race, creed, color, religion, sex, national origin, ancestry, disability status, veteran status, sexual orientation, gender identity or expression, genetic information, marital status, citizenship status or any other basis as protected by federal, state, or local law.
Please read Accenture’s Recruiting and Hiring Statement for more information on how we process your data during the Recruiting and Hiring process.
We work with one shared purpose: to deliver on the promise of technology and human ingenuity. Every day, more than 775,000 of us help our stakeholders continuously reinvent. Together, we drive positive change and deliver value to our clients, partners, shareholders, communities, and each other.
We believe that delivering value requires innovation, and innovation thrives in an inclusive and diverse environment. We actively foster a workplace free from bias, where everyone feels a sense of belonging and is respected and empowered to do their best work.
At Accenture, we see well-being holistically, supporting our people’s physical, mental, and financial health. We also provide opportunities to keep skills relevant through certifications, learning, and diverse work experiences. We’re proud to be consistently recognized as one of the World’s Best Workplaces™.
Join Accenture to work at the heart of change. Visit us at www.accenture.com.
We have been alerted to the existence of fraudulent messages asking job seekers to set up payment to cover various costs associated with establishing employment at Accenture. No one is ever required to pay for employment at Accenture. If you are contacted by someone asking for payment, please do not respond, and contact us at india.fc.check@accenture.com immediately.