Senior Software Engineer - Notification Platform
About the role
The Role As a Senior Software Engineer on GM’s Notification Platform team, you will play a key role in designing, building, and evolving the systems that power GM’s multi-channel communications.
Responsibilities
- Lead medium-to-large technical initiatives, coordinating across teams to align requirements, dependencies, and milestones.
- Participate in the full software development lifecycle, including design, development, code review, testing, and deployment of services.
- Contribute to software project delivery efforts by writing clean, maintainable code following company development standards and best practices.
- Collaborate with partner teams and product stakeholders to define technical approaches and deliver capabilities end-to-end.
- Improve system resiliency, observability, and operational efficiency through automation, monitoring, and SLO-focused engineering.
- Contribute to architectural discussions and drive adoption of best practices for distributed systems and cloud-native design.
- Mentor junior engineers through design reviews, code reviews, and technical guidance.
- Advocate for engineering quality, including robust testing, CI/CD usage, and strong documentation.
Requirements
- Bachelor's Degree in Computer Science or related field, or equivalent work experience.
- 6+ years of industry experience in designing and operating distributed systems or high availability high throughput production systems.
- Experience contributing to the successful delivery and deployment of software projects.
- Proficiency in one or more programming languages (Java, C++, Python, or similar).
- Experience with microservices, asynchronous messaging, event-driven architectures, or service-oriented systems.
- Hands-on experience with cloud platforms (Azure, AWS, or GCP) and containerization (Docker, Kubernetes).
- Strong understanding of databases (SQL and NoSQL), data modeling, and caching strategies.
- Familiarity with observability concepts (logs, metrics, traces) and operating services in production.
- Proven ability to collaborate across engineering teams and work on projects spanning multiple products or systems.
- Strong communication skills, with the ability to break down complex problems and articulate clear solutions.
- A strong sense of ownership and accountability for mission-critical systems.
- Technical depth combined with practical decision-making and an iterative mindset.
- Strong communication skills and a collaborative mindset.
- A passion for mentoring, elevating engineering teams, and building high-performing cultures.
- Curiosity and initiative to explore new technologies, improve platforms, and simplify complex systems.
- Able to balance short-term delivery with long-term platform health and scalability.
- A mindset focused on customer impact, operational quality, and continuous improvement.
Qualifications
- Bachelor's Degree in Computer Science or related field, or equivalent work experience.
- Master's Degree in Computer Science or related field, or equivalent work experience (preferred).
- Experience with mission-critical services requiring strict SLAs, SLOs, and 24/7 reliability (preferred).
- Experience with messaging platforms, notification systems, or event streaming technologies (preferred).
- Hands-on experience with container orchestration (Kubernetes, Helm, service mesh) (preferred).
- Hands-on experience with Azure cloud services or equivalent cloud-native technologies (preferred).
- Experience improving CI/CD pipelines to enhance developer efficiency and deployment reliability (preferred).
Skills
- One or more programming languages (Java, C++, Python, or similar).
- Microservices, asynchronous messaging, event-driven architectures, or service-oriented systems.
- Cloud platforms (Azure, AWS, or GCP).
- Containerization (Docker, Kubernetes).
- Databases (SQL and NoSQL), data modeling, and caching strategies.
- Observability concepts (logs, metrics, traces).
- Collaboration across engineering teams and working on projects spanning multiple products or systems.
- Communication skills, including breaking down complex problems and articulating clear solutions.
- Ownership and accountability for mission-critical systems.
- Technical depth combined with practical decision-making and an iterative mindset.
- Mentoring, elevating engineering teams, and building high-performing cultures.
- Exploration of new technologies, improvement of platforms, and simplification of complex systems.
- Balance between short-term delivery and long-term platform health and scalability.
- Focus on customer impact, operational quality, and continuous improvement.
Pay
The compensation information is a good faith estimate only. It is based on what a successful applicant might be paid in accordance with applicable state laws. The compensation may not be representative for positions located outside of California. The expected base compensation for this role is: $174,900 - $222,000. The actual base compensation within the identified range will vary based on factors relevant to the position.
Schedule
This role is categorized as hybrid. This means the selected candidate is expected to report to a specific location at least 3 times a week {or other frequency dictated by their manager}.