Software Developer

  • General Motors
  • Warren, MI, USA
  • Nov 09, 2020
[Information Technology]

Job Description

**About GM**Theres never been a more exciting time to work for General Motors.To achieve our vision of a world with Zero Crashes, Zero Emissions and Zero Congestion, we need people to join us who are passionate about creating safer, better and more sustainable ways for people to get around. This bold vision wont happen overnight, but just as we transformed how the world moved in the last century, we are committed to transforming how we move today and in the future.**Why Work for Us**Our culture is focused on building inclusive teams, where differences and unique perspectives are embraced so you can contribute to your fullest potential as you pursue your career. Our locations feature a variety of work environments, including open work spaces and virtual connection platforms to inspire productivity and flexible collaboration. And we are proud to support our employees volunteer interests, and make it a priority to join together in efforts that give back to our communities.**Job Description**In recent years, GM Information Technology has successfully executed the largest IT transformation in the history of the automotive industry, fully insourcing what once was a nearly completely outsourced IT function. Today GM IT is a dynamic and fast paced organization that designs, develops and maintains all IT infrastructure, applications and solutions enabling GMs global operations. From designing and building the next generation of electric and other vehicles to developing a world-class GM experience for our dealers and customers, GM IT is driving real change in the most iconic automaker on the planet. Our team delivers unique enterprise-wide IT solutions in cutting-edge technologies such as mobility, telematics, mission-critical business systems, supercomputing, cloud, vehicle engineering and real-time computing. We offer challenging positions for passionate professionals looking to advance their careers and be a part of an IT organization focused on innovation, speed and business value.In this software development role, you will be responsible for developing software applications using sound, repeatable, industry standard methodologies. You will have the opportunity to work hands-on writing software or solutions, based on detailed requirements and system specifications. Development activities will include updating existing software and/or developing new software solutions to address a specific need or solve a particular business problem. Additionally, you will drive development activities in accordance with appropriate methodologies and application of a repeatable, systematic and quantifiable approach to the development process. You will coach/mentor software developers and will review the software being developed. This role will also work closely with architects and/or data scientists to ensure code alignment with design patterns/frameworks.For this role you will expected to have demonstrated success in software project delivery experience in leading technical efforts developing applications using a variety of tools, languages, frameworks and technologiesDemonstrate mastery of many programming languages, tools and/or technologiesPerformance tuning, usability assessment/improvementAggressively engage in the identification / remediation of software issues related to code or solutions quality, security, and/or pattern/frameworks and software usability or end user related issuesIntegrate software with existing software/systemsAutomates unit/end-to-end testing of software systems within their domain, focused on software quality and maintainabilityStrong Knowledge of maintaining and debugging live software systems. Dedicatedly engage in the remediation of software issues related to code/solutions quality and/or securityProvides guidance and mentoring of fellow software developers and other team membersPossess technical writing knowledge around system design specification and user documentation of software systems and ensure that technical documentation meets GM standardsUnderstand and maintain compliance with GM standards and industry standard methodologyHolds themselves and others accountable for demonstrating GMs values and cultural behaviors. Models GM behaviors and builds a winning culture.The position is responsible for developing and testing mobile applications using repeatable industry best practices and in accordance with GM's software development project methodology. The Software Developer will work hands-on designing and writing code based on detailed requirements and system specifications. Developers will specialize in mobile development software packaging and coding languages. Development activities will include updating existing software and/or developing new mobile applications to address a specific customer need or to solve a particular business problem. This role will contribute to all development activities including design, coding, testing, certification, documentation and deployment. The Software Developer for Mobility should have a strong eye for Usability especially within Mobile Form Factors. This role will involve a great deal of creativity and initiative. Role Responsibilities:Full lifecycle application development using standard frameworks and coding standards/patternsCoding, unit testing and debugging applications in various software languagesSoftware testing and quality assurancePerformance tuning, improvement, balancing, usability, automationDocument software code and ensure that technical documentation i.e. configuration guides, install guides meet requirementsIntegrate software with existing systemsMaintain standards complianceImplement localization or globalization of softwareWork closely with senior developers and software engineers to gain additional knowledge and expertise.Proactively engage in the remediation of software issues such as code quality, pattern mismatch, and security issues related to the code/configurationAutomates testing processes by developing unit test scripts, as needed Minimum Qualifications:Minimum 7 years of professional software development experienceMinimum 3 years of experience developing mobile applications within the Android OS for devices or tablets.Excellent technical knowledge of Java for AndroidDemonstrates strong experience/knowledge of the Android SDKGood understanding of software development best practicesExperience working in an agile environmentExtensive UI Design experienceStrong knowledge and understanding of different Android platforms**Additional Job Description**At least 10 years experience writing Java/J2EE, .NET, or SOA code and leading medium large development teamsA strong balance of leadership, business acumen and technical skillsExtensive experience with various development methodologies (e.g. Agile, Scrum, Iterative, Waterfall, etc.)Experience in attractive the best talent and managing teams of high-performance developersExperience in crafting detailed design specifications as well as test plans for unit and integration testingA bachelors degree in a technical discipline or equivalent experience**Preferred Qualifications:**Experience in managing highly technical team and capability to provide technical direction in terms of design and implementation and align with strategic plans and initiativesDemonstrated knowledge in multiple software development disciplines (i.e. Agile, Scrum, SDLC)Experience with high throughput messaging systems (Apache Kafka)Experience with modern web technologies and frameworks (Node.js, React, Spring Boot, Electron)Required strong technical leader, especially in the domain knowledge of diagnostics and v
Associated topics: .net, algorithm, application, backend, develop, devops, perl, software developer, software development engineer, software engineer