Role Summary
This role is responsible for software functionality that enables GM vehicles to establish network connectivity. We are seeking a Senior Software Engineer to build and support Java-based services in a microservices environment. The role emphasizes Spring Boot development, third-party API integration, RESTful services, event-based messaging, production troubleshooting and Agile delivery. These microservices manage mobile/GSM carriers (MNOs) in support of Connected Vehicle service enablement and the broader mobile ecosystem. Knowledge and experience of mobile technologies is a strong advantage. For example M2M (SM-DP) & Consumer (SM-DP+) eSIM concepts, SCM and SM-SR workflows, ICCID Profile Swaps, Carrier Integrations, and related connectivity operations that supports Vehicle Connectivity in a multi-carrier environment.
Key Responsibilities
- Design, develop, and support Java applications and Spring Boot microservices.
- Work with third-party vendors and dependencies, with a particular focus on API integration.
- Build and maintain RESTful APIs and event-based messaging integrations, including Kafka and/or Azure EventHub patterns.
- Troubleshoot issues across a complex microservices ecosystem.
- Deliver user stories with minimal guidance in a fast-paced Agile environment.
- Translate business requirements into user stories and technical tasks.
- Support production deployments and perform post-deployment validation.
Required Qualifications
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- 5+ years of software development experience in Java.
- Experience with Spring Boot–based microservices.
- Proficiency with Azure Cloud Services, Jira, Confluence, Slack, GitHub, and GitHub Actions.
- Experience with TDD, JUnit, and mocking frameworks.
- Experience with CI, build, and delivery practices using Spring / Spring Boot.
- Familiarity with RESTful APIs and event-based messaging.
- Familiarity with Azure EventHub (and some legacy Kafka)
- Experience with Azure Cloud Services.
- Ability to troubleshoot complex distributed systems.
- Experience working in Agile development environments.
- Ability to work independently and deliver with minimal guidance.
- Experience supporting deployments and post-release validation activities.
- Experience converting business needs into user stories and engineering tasks.
Preferred Ways of Working
- Hands-on approach to software architecture solutions.
- Experience with iterative and incremental product development.
- Ability to understand complex application flows and system interactions.
- Strong focus on quality output and development-integration testing.
- Strong teamwork, collaboration, and communication skills.
Why Join Us
At GM, you will have the opportunity to work on meaningful technology that impacts customers at scale. You’ll join a collaborative engineering environment focused on innovation, quality, and continuous improvement while helping shape the future of connected mobility.
Hybrid
This role is categorized as hybrid. The successful candidate is expected to report to the assigned GM office three times per week, at minimum, or as dictated by business needs.