Logo
General Motors

Senior Software Engineer

General Motors, Jackson, Mississippi, United States,


Job Description

Hybrid:

This role is categorized as hybrid. This means the successful candidate is expected to report onsite at the GM Global Technical Center - Cole Engineering Center Podium three times per week minimum or other frequency dictated by the business. This job may be eligible for relocation benefits.We are hiring a senior software engineer for our Vehicle Update Service (VUS) core backend team. The VUS team is responsible for the Over The Air (OTA) Software delivery platform for General Motors. Our vision is to build a unified channel that ensures every GM customer knows their vehicle is always up to date and improves without needlessly interrupting their lives.The VUS Core Team is responsible for the Firmware OTA (FOTA) backend system, which orchestrates software update campaign execution, and delivery of FOTA updates to GM vehicles. The team follows DevOps principles, owning end to end responsibility of multiple critical microservices powering various OTA workflows, including software package building, and all types of vehicle interactions. We design and implement business features and are responsible for our software’s quality, deployment, production monitoring, and support.Our platform is a highly complex collection of microservices built based on REST & Event Driven Architecture following Domain Driven Design principles. We integrate with multiple vehicle clients, BIGDATA platforms, and multiple GM internal systems which are crucial for OTA vehicle updates. Our main objective of the platform is to deliver software updates to GM vehicles at scale (1M backend transactions per day) and increase the success rate of vehicle software updates, thereby reducing customer dealer visits and continuously enhancing GM vehicles in all aspects.As part of this role, you will be doing the following activities:Ensure high performance, scalability, and reliability of the distributed backend platform responsible for executing and delivering software updates to vehicles.Serve as a trusted senior software developer in the team with expertise in JAVA / Spring Boot microservices, developing & designing components that execute at the expected performance levels, monitoring the backend components for performance bottlenecks, debugging/triaging issues in the distributed environment, and implementing solutions.Understand the OTA business flows and the complex microservices interactions via event-driven architecture within the platform and suggest performance tuning considerations right from design.Understand and analyze the transactional and reporting data that’s replicated into BIGDATA platform, implement complex queries required for throughput analysis on the data, and come up with recovery actions as needed.Design and execute load test scenarios and work with cross-functional teams for capacity planning to handle peak loads.Own & control the performance environment, deploying changes into the environment for every upgrade made in the platform.Lead complex triage and debug of system-level issues, building and executing the tools and tests required for running our production systems at scale. Leverage and improve CI / CD pipelines, track key metrics, and tune the system to achieve performance.Understand the observability needs for the platform, propose enhancements to tracing, logging, and monitoring of microservices, implement them in different services as needed, and guide other team members to enhance observability.Implement operational visualization techniques to create interactive dashboards and visualizations in both Load test and PROD environments that provide insights into system performance and behavior.Work closely with different cross-functional teams, architects, operational stakeholders, and enterprise tools team to implement best practices, resiliency, and build a highly scalable and efficient OTA platform.Technologies leveraged include: Java / Spring Boot / ORACLE / Postgres / REST / KAFKA / PULSAR / Microservices / Cloud Foundry / Azure Cloud / JMeter / Prometheus / Grafana / CI CD pipeline tools / Automation Suites / bash/shell/ PowerShell / Kibana / Python etc.Qualifications

Bachelor’s degree in computer science, Engineering, or related field.8+ years of experience in Software Engineering, Systems Reliability Engineering (SRE), or a similar role, preferably in a cloud-native environment.Strong understanding of microservices and event-driven architecture using KAFKA and performance optimization techniques.Proficiency in performance testing tools and methodologies, such as JMeter, Gatling, etc.Strong scripting and automation skills using languages like Python, Bash, Shell or similar.Experience with operational visualization tools such as Grafana, Kibana, or Tableau.Excellent analytical and problem-solving skills with a keen attention to detail.Effective communication skills and ability to collaborate with cross-functional teams.Proven track record of driving performance improvements in complex distributed systems environments.Solid understanding of cloud computing concepts and experience with cloud platforms like Cloud Foundry, AWS, Azure, or Google Cloud.

#J-18808-Ljbffr