Custom Software Engineer
Accenture
Accenture
Join our team as a Custom Software Engineer and contribute to the development of innovative automotive digital cockpit solutions. You will design, code, and enhance software components, utilizing modern frameworks and agile methodologies to deliver scalable, high-performance applications tailored to specific business needs.
This role focuses on individual contribution within the VHAL and Car Framework, empowering you to build well-defined features and resolve defects with minimal supervision. You will have opportunities to contribute to design input and grow towards independent component ownership.
If you are passionate about creating cutting-edge automotive software and possess a strong foundation in embedded Android development, we encourage you to apply.
Implement new vehicle properties, including configuration, handler implementation, and state management. Develop mappings between raw bus signals and Android property semantics, ensuring correct conversion, scaling, and handling of various data formats. Create and maintain Android services and app-facing components using Java/Kotlin that leverage CarPropertyManager for property access and lifecycle management. Extend existing VHAL and property-injection tooling to facilitate feature testing, even without target hardware. Develop supporting tools such as property dump utilities, signal simulators, log parsers, and configuration generators.
Debug complex issues across the software stack using tools like logcat, dumpsys, adb, and systrace. Write comprehensive unit tests (GTest, JUnit, Mockito) and contribute to VTS/instrumentation tests. Reproduce and fix assigned defects, providing clear root-cause analysis and documentation.
Actively participate in design and code reviews, providing and incorporating feedback. Manage SELinux policy changes for developed features. Maintain up-to-date documentation, including property catalogs, integration notes, and known limitations.
Possess 5+ years of overall experience, with at least 2 years focused on Android platform development, system apps, embedded Android, or automotive embedded C++. Demonstrate solid proficiency in Java and Kotlin, with the ability to write clean, well-tested framework-level code. Exhibit working-to-proficient knowledge of C++ (11/14/17), including classes, STL containers, smart pointers, and basic concurrency for safe extension of existing HAL codebases. Understand core Android architecture, including activities/services, Binder and AIDL, system services versus apps, permissions, and the distinction between app-layer and platform-layer development. Have practical experience building and flashing an AOSP image end-to-end, with comfort using repo, Android.bp/Android.mk, lunch, make, adb, and fastboot. Possess a working understanding of HAL concepts, including interface declaration, serving, and framework binding. Demonstrate awareness of SELinux, with the ability to read denial messages and propose scoped rules. Have basic familiarity with vehicle networks, including CAN frames, signals, DBC files, and SOME/IP.
Prior exposure to CarPropertyManager, VehiclePropertyIds, or the AAOS emulator is beneficial. Experience with scripting for tooling and CI (Python, Bash) is a plus. Familiarity with Git-based code review workflows on large codebases (Gerrit) is advantageous. A minimum of 3 years of experience specifically in Automotive Digital Cockpit Solutions is required. This position requires 15 years of full-time education.
Accenture
IT Consulting