General Motors Android Software Developer - GCC0000940 in Detroit, Michigan
Make your car and phone…one with each other!
At GM Global Connected Customer Experience, we are finding ways to bring your digital life into your car and your car into your digital life. One way is with your phone. OnStar RemoteLink gives you new ways to connect with your OnStar equipped vehicle. Among other things, you are able to see diagnostic information and start your car. You can help determine what it will do next! With 4G LTE connected cars becoming available in Europe as well as North America, RemoteLink is going global. We are looking for ambitious and creative Android developers who are passionate about mobile apps, the connected car, and the fast growing technology hub Detroit and want to develop ground breaking features in GM’s flagship mobile app (learn more about RemoteLink at http://www.onstar.com/remotelink ).
As a team member,you will be involved in all aspects of developing new features including user story elaboration, estimation, analysis, design, programming, unit/integration testing and debugging following Agile development practices such as Scrum and Extreme Programming (XP).In this highly collaborative, cross-functional, and Agile environment, you will…
• Elaborate, estimate, and design for small increments of work…just-in-time
• Commit to completing well-defined work and deliver on those commitments
• Swarm around tasks along with other Scrum team members
• Perform technology evaluation and design spikes
• Test-drive code (Test Driven Development)
• Pair program with different people in many situations
• Report status of assigned software development tasks
• Consistently follow the specified software development methodology
• Model courageous and continuous learning to the team. Actively help team members continuously learn
• Promote improvements in programming practices such as functional/acceptance test driven development, continuous integration, and test automation
• Continuously learn and challenge the organization concerning new practices, processes, technologies, and languages
• Build a strong team using their collaboration skills. Interview and mentor team members.
• * Provide leadership and assistance among and across teams/organizations*
You will enjoy this position if you possess a significant degree of business insight, creativity, decision making skills, a drive for results, the ability to negotiate, the ability to develop peer relationships, and a strong technical learning capability.
• BS in Computer Science or other field of study and applicable work experience
• Most likely 3+ years of experience on a team developing native Android app(s) available in Google Play store
• Proven experience/responsibility for design and architectural decisions of app
• Experience developing apps that interact with Web Services (REST, XML/JSON)
• Experience with native Android UI development for phones and tablets (multi-resolution support; resource utilization such as images, layouts, strings)
• Proven knowledge and practical application of design patterns
• The ability to identify and write appropriate tests leveraging mocking/spying frameworks for isolation of the subject component (JUnit, Mockito, Robolectric)
• Experience with local storage and SQL Lite on Android
• Knowledge of and desire to work in an Agile development environment
• Must have strong teamwork orientation and the ability to foster collaboration within and across teams
You might also have:
• Experience working on Agile development teams following Scrum
• Experience working on a team following Extreme Programming (XP) practices
• Experience writing automated functional tests against a mobile app (Gherkin, Calabash, Ruby)
• Experience mentoring team members in the adoption and practice of XP
• Awareness of the Android UI/UX guidelines and platform specific UI constructs/widgets (able to visualize platform specific approach to UI design given a user story)
• Experience with mapping and search providers
• Experience with Internationalization and Localization
Experience with USB, Bluetooth, and Bluetooth Low Energy (BLE) networking
All qualified applicants will receive consideration for employment without regard to race, color, religion, age, sex, national origin, disability, sexual orientation, gender identity/expression, or protected veteran status.