Markham, Ontario

Android Software Developer – Infotainment – Bluetooth/Google Automotive Services (GAS)

Android Software Developer – Automotive Infotainment
Automotive Sector
Location: Markham, Ontario, Canada
 
Sub Domain:     Bluetooth/Google Automotive Services (GAS)
 
KEY SKILLS/ TASKS:  Android, Proficient Java or C++,  Bluetooth is a plus
 
Role Summary Software developers will contribute to the development of the advance Infotainment systems. Their contribution will enable customers to connect their personal consumer devices to vehicle infotainment systems. These software developers and engineers will be important members of a fast growing software group in Canada, which is part of the larger global Engineering team across continents.
 
We accept applications across several technical domains including connectivity, user interface and core application and services, framework and personalization, and multimedia and audio, diagnostics. You are encouraged to apply for these positions if you have expertise in any one of the following domains:
 
    • User Interface and core applications and services:
    • Framework and Personalization:
    • Multimedia:
    • Connectivity:
 
The developer for this domain will be responsible for feature development and maintenance of core applications and services such as calling, contacts, settings, and messaging. Prior UI/UX experience is required to develop user friendly applications .
 
The framework developer will be responsible for the customization and enhancement of Android framework components such as, windows manager, activity manager, package manager, system UI and customization widgets, to realize the automotive requirements and features. The developer/engineer for personalization will own the development and maintenance of the Android multi-user framework and all personalization related features
The developer for this domain will enhance the entertainment sub-system based on the existing Android multimedia framework, including audio/video playback, controlling the vehicle by voice command, and operating a mobile phone via the vehicle infotainment system. This developer/engineer will leverage their prior software development experience in industry standard multimedia solutions, such as playback engine, audio system, codec, camera, speech, and screen casting, to implement the In-vehicle infotainment multimedia system
 
The developer for this domain will enhance Bluetooth, Wifi, USB sub-systems based on the existing Android source code and 3rd part code, including Voice Call and Music Stream over Bluetooth, Discovery, connect and disconnect Wifi AP, provide Wifi hotspot, supporting connect mobile phone via USB connection. These developers will leverage their prior software development experience in industry standard Bluetooth, Wifi, USB solutions to implement the In-vehicle infotainment system
 
Key Responsibilities
• Contribute to develop infotainment solutions for In-vehicle devices. Responsible for the deliverables of the assigned domain such as requirements, system design, development, deployment, and maintenance of the infotainment software
• Participate in the design of a best-in-class in-vehicle platform for automotive infotainment systems
• Participate in architecture, requirements, and design, coding and test case reviews
• Participate in new feature development, maintenance of existing features and bug fixes
• Participate in feature requirement and design reviews and all relevant software development activities
• Participate in test case design reviews and conceive bug prevention proposals
• Provide clear and complete documentation based on the definition of the software development process
• Collaborate with team members in software development activities using the Scrum/Agile development process
• Senior member resumes ownership of each project, propose technical solutions, make design and implementation decisions and coach junior members
 
Qualifications
Required Skills and Experiences:
• Minimum three years of software development experience in related domains
• Minimum two years of software development experience in Android platform
• Software development experience in Linux platform
• Software design and implementation experience in an object-oriented environment
• Development experience with Java, C++, C, Android Application frameworks
• Development experience with unit test frameworks such as AndroidTestFramework, monkeyrunner, Robolectric
• Development experience with Android development toolkit and process
• Experience with Development tools such as Eclipse IDE and ADT plug-in, Android Studio
• Experience with software build tools such as makefile, ant, maven, gradle
• Experience with SCM tools such as GIT, Gerrit, Jenkins, JIRA, or ClearCase
• Practice with Scrum/Agile software development process
• Ability to perform diagnostic and investigate issues based on limited information
• Experience in developing and deploying commercial products in global market is a plus
• Excellent verbal and written communication skills
• Creative, disciplined, strong sense of responsibility to delivery result to meet schedule and commitment
• Good team player with strong interpersonal skills to work effectively in a geographically dispersed environment
• Effective communication skills and a strong problem solver
 
Required Domain Knowledge and Experiences
 
User Interface and core applications and services
o Experience in Android application and user interface development
o Excellent knowledge of Android core applications and services (telephone, message etc.)
o Prior UI/UX development experience of consumer product
 
• Framework & Personalization domain:
o Development experience in Android UI framework, system UI and widgets
o Development experience with Android window manager, activity manager, and package manager.
o Android multi-user domain knowledge and development experience
 
• Multimedia domain
o Development experience in Android Multimedia framework
o Solid working knowledge of current Android platform technologies, including media playback engine, streaming, codec, media capturing, audio framework, voice recognition, and screen sharing
o Demonstrated in-depth and breadth understanding of software technologies, including rendering, simulation, relational database, and user interface development
 
• Connectivity
o Development experience with implementing Bluetooth Stack, Chipset and Firmware
o Development experience with Android/Linux Wifi Stack including wpa_supplicant, wifi and network driver, chipset and firmware
o Development experience with Android/Linux USB Stack
o Demonstrated in-depth and breadth understanding of low level software technologies, such as driver, dma, interrupt, I/O, serial port etc.
o Solid working knowledge of Linux platform
o Experience with BSP development is a plus
 
Preferred Skills and Experiences:
• Software development experience in a variety of OS environments is a plus
• Experience with the integration of Android framework and device bring up is a plus
• Experience with the porting of Android ROM is a plus
• Experience with the development of automotive infotainment solutions is a plus
• Experience with automotive and/or portable consumer electronic devices is a plus
• Successful Track record in applying advanced technology to enhance the usability of complex systems is a plus
 
Education and Training:
• Bachelor's degree in Computer Science, Software Engineering, or related field.
• Graduate degree is preferred
• Professional Engineering designation is a plus