Mobile Developer

General Motors   •  

Detroit, MI

Industry: Manufacturing & Automotive

  •  

Less than 5 years

Posted 39 days ago

This job is no longer available.

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…


  • Build industry leading mobile apps for connected vehicles on a global scale
  • 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



Prospective candidates possess a high 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.



Required experience and skills


  • 2+ years of experience on a team developing: React Native, native Android, or native iOS apps.
  • Design and write software technical specifications, write software code and perform unit testing
  • Apply current technology to solve technical problems and ensure system and application performance is optimized
  • Work with business units to improve efficiency and remove barriers in applications
  • Work with product teams on new product ideas, designs, prototypes and estimates
  • Maintain coding standards to facilitate code maintenance and enhancement
  • Provide deep systems support (programming, architecture, system analysis) for the Applications team
  • Document processes and development projects


Preferred mobile experience - in one or more of the following platforms


React Native


  • Experience on a team developing React Native app(s) available in the app store
  • Experience with TypeScript
  • Experience with Unit Testing frameworks such as Jest and UI testing frameworks like Detox
  • Experience with Redux Sagas for state management
  • Experience developing apps that interact with Web Services (REST, JSON) – Axios is a plus
  • Experience developing bridges to native components
  • Experience with IntelliJ, React Native Debugger


Android


  • Most likely 3+ years of experience on a team developing native Android app(s) available in the Google Play store
  • Experience with Java 8 and RX Java in a production application
  • Experience developing apps that interact with web services (REST, JSON) – Retrofit is a plus
  • Experience with frameworks such as Dagger and design patterns such as MVP, Singleton, Factory
  • Experience with native Android HIG and UI development best practices – Android Material Design
  • Experience with data persistence frameworks such as Realm or Active Android
  • Experience with Google Play Services is a plus
  • Experience with Android Studio
  • Experience with the publishing process for Google app store
  • Experience with Android Auto is a plus


iOS


  • Most likely 3+ years of experience on a team developing native iOS app(s) available in the App Store
  • Experience with Swift and Objective-C in a production application
  • Experience developing apps that interact with web services (REST, JSON) – AF Networking and Mantle are a plus
  • Experience with native iOS HIG and UI development best practices including a deep knowledge of UIKit and AutoLayout
  • Experience developing for Apple Watch or CarPlay are a plus
  • Experience with the publishing process for the iOS app store


Preferred general experience and skills


  • Experience designing and developing mobile applications in a complex operating environment; financial industry experience strongly preferred
  • Proven experience/responsibility for design and architectural decisions of app
  • 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
  • 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
  • Understanding of object-oriented design, client-server architecture, and relational database design
  • Experience with notification platforms such as FCM, APNS
  • Experience developing location-based services with MapKit, Google Maps or similar framework
  • Experience in Jenkins, Fastlane, and Fabric for continuous integration and deployment
  • Experience with multithreading, memory management, and caching mechanisms specific to mobile devices
  • Familiarity with SCRUM as a development method for Agile Development
  • Proven ability to quickly learn and apply new technologies
  • Bachelor's degree in Computer Science or an equivalent of work-related experience


Education


BS in Computer Science or other related field of study and applicable work experience


Experience


2 – 6 years of experience as a software developer on production project