Staff Software Engineer - Full Stack
Role details
Job location
Tech stack
Job description
We're looking for a Staff Software Engineer - Full Stack to lead the design and delivery of end-to-end software systems that power internal platforms, simulation tools, and data-driven applications across GM. The ideal candidate is passionate about building world-class software, has a proven track record in scalable enterprise software, and thrives in collaborative environments. Strong software engineering fundamentals, great communication skills and experience in engineering best practices for highly scalable, reliable services., * Own end-to-end architecture for complex systems: backend services, APIs, front-end applications, data flows, and integrations.
- Design and implement full-stack features (frontend + backend) that support internal users such as simulation engineers, robotics teams, and manufacturing stakeholders.
- Build scalable, backend services (e.g., microservices, event-driven systems) with strong reliability, security, and observability.
- Demonstrated experience building and operating distributed systems in production - event-driven architectures, message brokers, service decomposition, and the operational realities of running them
- Collaborate with product, platform, and domain teams to translate requirements into clear architectural designs, technical roadmaps, and implementation plans.
- Define and champion coding standards, testing strategies, and CI/CD practices to raise the bar on code quality and delivery speed.
- Conduct design and code reviews, provide technical guidance, and mentor engineers across multiple teams.
- Evaluate and introduce modern technologies and frameworks where they add clear value (performance, developer experience, scalability).
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or related field; MS/PhD or equivalent experience preferred.
- 8+ years of professional software engineering experience, including significant full-stack and architectural responsibilities.
- Strong proficiency in at least one backend language (e.g., C#, Java, , C++, Python) and one frontend framework (e.g., React, Angular, Vue).
- Proven experience designing and operating distributed systems (microservices, containers, orchestration, APIs, messaging), with the broader stack: GraphQL, gRPC, PostreSQL, Docker, and Kubernetes
- Solid understanding of system design, scalability, performance, and security trade-offs.
- Strong communication and collaboration skills; ability to influence technical direction across teams and clearly articulate architectural decisions.
Nice to Have
- Experience building tools or platforms for simulation, robotics, manufacturing, or data/ML workflows.
- Experience Integrating with enterprise systems (e.g., telemetry/IoT, PLM/CAD, MES, analytics platforms) to keep digital twins up to date, synchronized, and interactive.
- Experience building Maps backends and graph databases
- Familiarity with event streaming, service meshes, and advanced observability (tracing, metrics, logs).
- Track record of technical leadership: driving architecture, mentoring engineers, and shaping engineering culture.