Senior Software Engineer
Description
Remote: This position does not require the employee to be on-site full time to perform most effectively. The employee's role enables them to work off-site on a permanent basis.
This is a remote position
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 technologies
Demonstrate mastery of many programming languages, tools and/or technologies
Performance tuning, usability assessment/improvement
Aggressively 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 issues
Integrate software with existing software/systems
Automates unit/end-to-end testing of software systems within their domain, focused on software quality and maintainability
Strong Knowledge of maintaining and debugging live software systems. Dedicatedly engage in the remediation of software issues related to code/solutions quality and/or security
Provides guidance and mentoring of fellow software developers and other team members
Possess technical writing knowledge around system design specification and user documentation of software systems and ensure that technical documentation meets GM standards
Understand and maintain compliance with GM standards and industry standard methodology
Holds 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/patterns
Coding, unit testing and debugging applications in various software languages
Software testing and quality assurance
Performance tuning, improvement, balancing, usability, automation
Document software code and ensure that technical documentation i.e. configuration guides, install guides meet requirements
Integrate software with existing systems
Maintain standards compliance
Implement localization or globalization of software
Work 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/configuration
Automates testing processes by developing unit test scripts, as needed
Minimum Qualifications:
Minimum 7 years of professional software development experience
Minimum 3 years of experience developing mobile applications within the Android OS for devices or tablets.
Excellent technical knowledge of Java for Android
Demonstrates strong experience/knowledge of the Android SDK
Good understanding of software development best practices
Experience working in an agile environment
Extensive UI Design experience
Strong knowledge and understanding of different Android platforms
Additional Description
About the role
The Senior software developer is responsible to lead, design and drive development of new and improved systems architectures and technical platforms. The person needs to have strong business and technical acumen to understand complex manufacturing systems, evaluate, identify, recommend and architect the solutions that can best improve current applications implementations to bring business benefits.
The Senior software developer will drive the adoption and transformation of more efficient way to integrate different applications layers using a highly scalable event-based messaging architecture in capturing and distributing substantial data transactions across the manufacturing plant floor.
Specific areas of responsibility include:
- Define and develop event-based plant messaging strategy to improve data communication and distribution
- Define and develop integration strategy with PLC/devices, Kepware, CIMPLICITY with OPCUA and other technologies
- Identify opportunities to automate PLC and controller configuration for large number of plant PLC and devices
- HMI and SCADA systems development and integration with PLC
- Micro Service development with .NET Core with C#
- Track emerging technologies in the industry, and provide technology recommendations, risk assessments, trade studies, and analyses
- Rapid prototype
- To digest, design and deploy solutions based on research artifacts
- Minimize the technical, operational, and economic barriers relative to adoption of sophisticated robotic solutions
- Support and enhance critical MES apps
Preferred Skill Set / Experience
- Bachelor's Degree in Computer Science or related field or related practical experience
- 10+ years of professional experience in software development
- Proficient in multiple software development languages (e.g. .NET Core, C#, Java, Python)
- Strong background in C/C++ a plus
- Strong background in PLC programming
- Strong background in HMI and SCALA layers (e.g. Cimplicity)
- Strong background with messaging architecture, development and deployment (e.g. Pulsar, Kafka, IoT, Queue)
- Proven development knowledge with database technology (e.g. Postgress, Oracle, MSSQL)
- Proven experience in Cloud Technologies such as Pivotal Cloud Foundry, Docker, K8, OpenShift and more generically on HPC platforms.
- Should be a platform thinker, not just focus on application design and development.
- Proven track of record of designing and building complex solutions
- Ability to convert business requirements into technical specifications and designs as well as estimate the amount of effort necessary to complete the tasks
- Excellent oral and written communication skills
- Strong analytical, troubleshooting and problem-solving skills
Must be able to quickly grasp complex concepts and learn new technologies
Compensation: The compensation information is a good faith estimate only.
The median level range of salary compensation for this role is $126,756-157,176
- Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.
- Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation & holidays, tuition assistance programs, employee assistance program, GM vehicle discounts and more.
#LI-Remote
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. Our Work Appropriately philosophy supports our foundation of inclusion and provides employees the flexibility to work where they can have the greatest impact on achieving our goals, dependent on role needs. 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 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 understand and embrace the variety through which people gain experiences whether through professional, personal, educational, or volunteer opportunities. GM is proud to be an equal opportunity employer.
We encourage interested candidates to review the key responsibilities and qualifications and apply for any positions that match your skills and capabilities.
Equal Employment Opportunity Statements
The policy of General Motors is to extend opportunities to qualified applicants and employees on an equal basis regardless of an individual's age, race, color, sex, religion, national origin, disability, sexual orientation, gender identity/expression or veteran status. Additionally, General Motors is committed to being an Equal Employment Opportunity (EEO) Employer and 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 at [email protected] or call us at 800-865-7580. 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.