
Amaris - General Motors of Canada | April 2017 - March 2019 | Toronto, ON
Overview
As a Senior Software Consultant at Amaris, I worked on-site at General Motors of Canada, providing expertise in Android Automotive development, particularly focusing on the core AOSP Dialer application.
Key Responsibilities and Achievements
Core Application Development
- Analysis, design, development, and maintenance of the core AOSP Dialer application
- Enhanced and extended the dialer functionality for automotive use cases
- Ensured reliability and performance for in-vehicle communication systems
API Development
- Architecture, development, test, and release of business logic APIs
- Designed robust APIs to support multiple core applications
- Ensured API stability and backward compatibility
Deployment and Infrastructure
- Deployment process and infrastructure definition for APIs
- Created deployment pipelines for multiple core applications
- Established infrastructure standards and best practices
Technical Leadership
- Technical leadership in a team of 3 to 6 people
- Provided guidance on Android Automotive development best practices
- Mentored team members on AOSP development and automotive requirements
Team Performance Improvement
- Integration of tools and documentation to improve team performance
- Established development workflows and documentation standards
- Implemented code quality tools and processes
Technical Stack
- Platform: Android Automotive (AOSP)
- Languages: Java, Kotlin
- Frameworks: Android, AOSP
- Tools: Git, Gerrit, Jenkins
- Methodologies: Agile, Scrum
- Specialization: Automotive-grade Android development
Challenges and Solutions
Challenge
Developing reliable communication applications for automotive environments
Solution
Implemented rigorous testing and validation processes specific to automotive requirements
Challenge
Integrating with GM’s existing automotive systems and APIs
Solution
Developed adapter layers and integration strategies to bridge different systems
Challenge
Maintaining performance in resource-constrained automotive environments
Solution
Optimized applications for memory and CPU usage while maintaining functionality
Impact
- Delivered robust dialer application for GM’s Android Automotive platform
- Established API standards that improved interoperability between applications
- Enhanced team productivity through better tools and processes
- Contributed to GM’s transition to Android Automotive platform