Compute Platform - Virtualization Android Development Engineer

    • General Motors
  • Warren, MI
  • Posted 13 days ago | Updated 4 hours ago

Overview

On Site
Full Time

Skills

Software development methodology
Agile
C++
Android development
IT management
Research and development
Product development
Product design
Design thinking
Design analysis
Computer science
Computer engineering
Software engineering
Software development
Object-Oriented Programming
Data structure
Design patterns
Software design
Open source
UI
Embedded systems
Control system
Virtualization
Reporting
Marketing intelligence
Design
Mentorship
Apache Flex
Teamwork
Android
Cloud computing
Scrum
Art
Research
Scalability
Usability
Collaboration
Leadership
Algorithms
Emulation
Middleware
Java
Kotlin
Git
Gerrit
Continuous integration
Continuous delivery
DevOps
Communication
Hosting
SAFE
Python
JIRA
IoT
JSON
XML
WebSocket
MQTT
FOCUS
Recruiting
Screening

Job Details

Description

Work Arrangement

This role is categorized as hybrid. This means the successful candidate is expected to report to Warren, MI three times per week, at minimum

The Role:

The Ultifi Platform supports the definition, design, and development of continuously improving mobility services. Ultifi / SDV (Software Define Vehicle) is a new vehicle intelligence platform that will underpin all our future innovations across a wide range of technological advancements, including EVs and expanded automated driving. This means that you can potentially put a fingerprint on the vehicles that drive down the road! This space is ripe with technical leadership opportunities for advanced technology development, as well as the ability to provide mentorship for new employees. You can flex your teamwork muscles as you will be tasked with working with several other areas of engineering, IT, and the business.

As a member of the Android virtualization team, you will work hand in hand with a variety of partners and other software developers and engineers throughout the entire product development lifecycle, in order to define and craft Android virtualization platform consistent with high technical standards, reuse, and deployable in cloud environment. You will work closely with development scrum teams to deliver state of the art cloud base android virtualization environment to our 1000+ global developers and testers.

As a key member of the team, you will conceive, propose, design and architect during the initial product design phase, and then work within the development scrum teams to coordinate the development as well as perform code reviews throughout the rest of the stages of product lifecycle. We want your voice as well as design thinking, as we research and develop products that will redefine the virtualization concept for Android.

In this position, you will have the following responsibilities:

  • Proficiently design, build and maintain Android emulators and platform specific components
  • Follow our software development process where quality comes first and ensure that the designed solutions conform to architectural requirements such as scalability, maintainability, reliability, extensibility, usability, and security.
  • Take calculated risks, fail fast, learn from your successes and failure, and apply that to the next problem in the pipeline.
  • Do all this in a way that respects collaboration, diversity of opinion, and which maintains GM core values.
  • Lead development of software system team design content and software anomaly corrections.
  • Performs complex design analysis
  • Provide, communicate, and support common best practices among software community
  • Performs as Subject Matter Expert (SME) for at least one platform or application component
  • Participates in interviews
  • Visibility: at the site/team level

Additional Description

Your Skills & Abilities (Required Qualifications):

  • Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or related area of study
  • At least 7 years experience with software development
  • Minimum 5 years experience in Auto Domain with Android experience
  • Proven software development foundation including proficiencies in object-oriented methodologies, data structures, algorithms relevant design patterns and software design lifecycle
  • Domain knowledge and solid experience in Android Emulator development, Android applications, middleware and framework development using Android Open-Source Project in Java/Kotlin (Applications and Services) and the Native layer
  • Experience with Android UI design (including custom views), in addition to Activities and Fragments.
  • Firm understanding of Activities, Intents, ContentProviders, Services, BroadcastReceivers, Handlers, AIDL and Binder
  • Expert level proficiency in Java, Kotlin, and the Android SDK, to design and write clean, well-structured, and optimal code for embedded systems
  • Experience using source code control systems and tools such as Git/Repo and code collaboration tools such as Gerrit
  • Familiarity with CI/CD and DevOps pipelines.
  • High level of verbal and written communication skills.
  • High level of social skills to work effectively in a geographically dispersed team.

What Will Give You A Competitive Edge (Preferred Qualifications)

  • Experience in enabling Camera feed for Android Emulator
  • Experience development of Android App, Android Services, and framework components
  • Experience in hosting Android Emulator in Cloud base environment and running multiple instances on same PC
  • Experience using source code control systems and tools such as Git/Repo and code collaboration tools such as Gerrit
  • Experience and passion using and leading agile software development processes including SAFe
  • Knowledge of Java, Kotlin, C++
  • Experience in Android Apps and Services development
  • Experience in integration of python base test tool with JIRA
  • Experience in building Simulators/Emulators for Android base devices
  • Exposure to embedded system, IoT and connected car environment
  • Understanding of Android based devices architecture, Pub/Sub architecture
  • Understanding of technologies/protocols like JSON, XML, WebSockets, Pub/Sub(MQTT) etc.

About GM

Our vision is a world with Zero Crashes, Zero Emissions and Zero Congestion and we embrace the responsibility to lead the change that will make our world better, safer and more equitable for all.

Why Join Us

We aspire to be the most inclusive company in the world. We believe we all must make a choice every day - individually and collectively - to drive meaningful change through our words, our deeds and our culture. Every day, we want every employee, no matter their background, ethnicity, preferences, or location, to feel they belong to one General Motors team.

Total Rewards | Benefits Overview

From day one, we're looking out for your well-being-at work and at home-so you can focus on realizing your ambitions. Learn how GM supports a rewarding career that rewards you personally by visiting Total Rewards resources.

Diversity Information

General Motors is committed to being a workplace that is not only free of unlawful discrimination, but one that genuinely fosters inclusion and belonging. We strongly believe that workforce diversity creates an environment in which our employees can thrive and develop better products for our customers. We encourage interested candidates to review the key responsibilities and qualifications for each role and apply for any positions that match their skills and capabilities. Applicants in the recruitment process may be required, where applicable, to successfully complete a role-related assessment(s) and/or a pre-employment screening prior to beginning employment. To learn more, visit How we Hire

Equal Employment Opportunity Statement (U.S.)

General Motors is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.

Accommodations (U.S. and Canada)

General Motors offers opportunities to all job seekers including individuals with disabilities. If you need a reasonable accommodation to assist with your job search or application for employment, email us or call us at . In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.