06 Aug
|
Sasken Technologies
|
Bengaluru
06 Aug
Sasken Technologies
Bengaluru
The ideal candidate is a self-motivated, quick learner and demonstrated team-player. You will be a software development engineer responsible for development of custom modules working in projects for our automotive customers. You should excel in working with large-scale applications and frameworks and have outstanding problem solving, communication and team playing skills. Requirement 1: Responsibilities
Bring up Android devices to boot in new hardware.
Working experience in Qualcomm processors is an added advantage.
Designing and maintaining low-level drivers for hardware components such as Display, Audio, Touch, Wi-Fi, and Camera.
Upgrading existing hardware platforms to newer versions of Android and the Linux kernel.
Required Technical Skills: Programming Languages: Mastery of C, C++, and Embedded C for low-level development.
OS Internals: Deep knowledge of the Linux Kernel (subsystems, schedulers, interrupts) and AOSP architecture.
Hardware Knowledge: Ability to read electrical schematics and work with communication protocols like I2C, SPI, UART, GPIO, and CAN.
Build Tools: Proficiency with tools like Git, Gerrit, Repo, Make, and Bazel.
Debugging Tools: Hands-on experience with hardware/software debugging using GDB, strace, JTAG, ADB, and Logic Analyzers.
Experience: 4 to 7 years
Work location: Chennai Requirement 2: Responsibilities:
System-Level Development: Designing and developing core AOSP middleware systems and custom system services like the Activity Manager, Window Manager, and Package Manager.
AOSP Customization: Modifying the Android source code for specific hardware platforms.
Hardware Integration: Porting the Android framework to specific hardware.
Optimization & Performance: Analyzing and resolving complex system issues, memory leaks, and system crashes.
AIDL: Experience in creating new AIDLs for framework APIs & HALs.
Porting: Experience in porting OS customizations to higher android versions.
Required Technical
Skills
Languages: Proficiency in Java, JNI and C/C++.
Android Internals:
Deep understanding of Binder IPC, System Server, HAL (Hardware Abstraction Layer), and SELinux policies.
Tools: Proficiency with AOSP build systems (Kati, Ninja, Soong) and version control tools like Git and Gerrit.
OS Concepts: Strong knowledge of multi-core processing, threading, and process synchronization (mutex, semaphores).
Education: A Bachelor’s or Master’s degree in Computer Science or any related engineering field.
Experience: 4 to 7 years
Work location: Chennai Requirement 3: Responsibilities:
HMI Application Development: Design and develop production-grade Android HMI applications for vehicle cluster and infotainment screens using Jetpack Compose, following MVVM and clean architecture principles.
Connectivity Features: Build and maintain Bluetooth (Classic & BLE) and Wi-Fi features — pairing, GATT communication, HFP/A2DP/PBAP profiles, network scanning, connection management, and failure/error-state handling.
AIDL & IPC: Design and implement AIDL interfaces for inter-process communication between system apps, services, and privileged components; work with Binder IPC and bound/overlay services.
Concurrency& Real-Time Behavior: Apply asynchronous programming (Kotlin Coroutines, Flow/State Flow), multi-threading, and multi-tasking patterns to deliver responsive, real-time vehicle HMI experiences under strict latency constraints.
Vehicle Bus Integration: Work with CAN / CAN FD data to surface real-time vehicle signals
(speed, battery, telemetry, diagnostics) in the HMI layer, coordinating with the vehicle networking/embedded team.
System Integration:
Integrate with privileged/system-level APIs, Vehicle HAL, and platform-signed components specific to AAOS.
Performance& Reliability: Diagnose and resolve UI performance issues, memory leaks, ANRs, recomposition inefficiencies, and state-management bugs.
Code Quality & Security: Conduct code reviews with attention to secure handling of credentials and sensitive data, and enforce clean, testable architecture across feature modules.
Cross-Functional Collaboration: Partner with platform/framework, embedded, QA, and UX teams to ship features across the full HMI stack from UI to Binder to hardware. Required skills:
Languages: Strong proficiency in Kotlin and Java, working knowledge of C/C++ and JNI is a plus.
Android/AAOS: Jetpack Compose, Hilt / Dagger dependency injection, Navigation, Android Automotive OS (AAOS) app development, system/privileged app permissions.
Connectivity: Bluetooth Classic & BLE (GATT, profiles), Wi-Fi APIs (Wifi Manager, Wifi Configuration/network suggestion APIs), Tethering Manager/hotspot.
IPC: AIDL, Binder IPC, bound services, cross-process ViewModel/EntryPoint access patterns.
Concurrency: Kotlin Coroutines, Flow/StateFlow/SharedFlow, structured concurrency, multi-threading, and real-time/embedded systems concepts (mutex, semaphores, synchronization).
Vehicle Networking: Good working knowledge of CAN / CAN FD protocols and reading vehicle bus signals into an application layer.
Tools: Android Studio, Git/Gerrit, Gradle, AOSP build basics; familiarity with adb, systrace/Perfetto for profiling.
Positive to Have: Exposure to Android Automotive VHAL/Car API, EV domain knowledge (BMS, telemetry, range estimation), unit/UI testing (JUnit, Espresso, Compose testing), CI/CD for Android.
Experience: 5 to 7 years
Work location: Chennai Qualifications
Bachelor's degree in Computer Science or ECT or MCA
Ability to learn new skills, organize, and prioritize work
Readiness to work from office on all the working days
📌 Senior Software Engineer (Bengaluru)
🏢 Sasken Technologies
📍 Bengaluru