Écran Hummer EV 2023

Senior Software Developer - Android Automotive

General Motors Canada | April 2019 - January 2021 | Toronto, ON

Overview

As a Senior Software Developer at General Motors, I led design and architecture decisions for Android Automotive applications, focusing on infotainment core applications (Settings, Homescreen, Dialer, OffRoad, DriveMode, Air Down Mode, Climate, Seat Status Pane, Radio, Media Center, etc…) and applying disciplined software development principles.

Key Responsibilities and Achievements

Architecture and Design Leadership

  • Led design and architecture decisions to support automotive challenges in Android
  • Applied disciplined software development principles to ensure quality, maintainability and adaptability.
  • Focused on infotainment’s core applications with complex requirements (e.g. Drive Mode, Off-Road, Vehicle Info, Settings, Climate, Super Cruise and more)

Software Development Standards

  • Brought consistency across 15+ applications using industry best practices
  • Implemented Clean Architecture and Domain-Driven Design principles
  • Utilized Kotlin, Dependency Injection, and Reactive Programming
  • Applied agile methodologies (Scrum, SAFe) for efficient development

SDK Development

  • Developed, designed, and led GMCore internal SDK
  • Created SDK used by 10+ applications, improving cohesion and reusability
  • Allowed for configuration and flexibility while maintaining consistency
  • Reduced development time and improved code quality across applications

Advanced Visualization

  • Integration of 3D models within Android applications
  • Utilized Unreal Engine and Filament for high-quality 3D rendering
  • Enhanced user experience with interactive 3D visualizations

Cross-Component Collaboration

  • Collaborated across components to share knowledge and inspire teammates
  • Reduced the average number of defects per cadence by ~50%
  • Improved product reliability through better collaboration and code reviews

CAN Integration

  • Designed, developed, and tested customer-focused features
  • Integrated with CAN through VHAL and CarPropertyManager APIs
  • Developed features that interact with vehicle systems and sensors

Technical Stack

  • Languages: Kotlin, Java
  • Frameworks: Android, Android Automotive
  • Architecture: Clean Architecture, Domain-Driven Design
  • Tools: Dependency Injection, Reactive Programming
  • 3D Technologies: Unreal Engine, Filament
  • Methodologies: Agile, Scrum, SAFe
  • Vehicle Integration: CAN, VHAL, CarPropertyManager APIs

Challenges and Solutions

Challenge

Ensuring consistency across multiple applications with different requirements

Solution

Developed and enforced architectural standards and shared SDK components

Challenge

Integrating complex 3D models in automotive applications

Solution

Leveraged Unreal Engine and Filament for optimal performance and quality

Challenge

Reducing defects in a complex automotive software environment

Solution

Implemented rigorous code review processes and cross-team knowledge sharing

Impact

  • Established architectural standards that improved development efficiency
  • Reduced defects by 50% through better collaboration and better processes
  • Enabled advanced 3D visualization capabilities in automotive infotainment
  • Delivered high-quality, reliable software for GM’s vehicle platforms