Senior Microservices Developer
Employment Type: Full time
Job Description:
This role is categorized as hybrid. The successful candidate is expected to report to Austin, TX, Warren, MI, Atlanta, GA, or Mountain View, CA, three times per week, at minimum.
Position Overview
We are seeking an experienced and highly motivated Senior Microservices Developer to lead the design, development, and optimization of the mobile back-office framework. This role involves building robust and scalable microservices using Spring Boot, driving Test-Driven Development (TDD) practices, and leveraging Azure cloud services and Grafana for monitoring and observability. As a senior developer, you will provide technical leadership, mentor team members, and champion the adoption of best practices across the team. Lead innovative projects that integrate mobile applications with GM's enterprise systems.
Responsibilities
- Design and implement microservices, REST & GraphQL APIs, and WebSocket solutions using Spring Boot while ensuring security, scalability, and business alignment.
- Deploy and manage microservices on Azure, leveraging AKS, API Management, Functions, Cosmos DB, SQL Database, and Monitoring tools, optimizing cloud resources for scalability, reliability, and cost-effectiveness.
- Implement advanced monitoring using Grafana, Prometheus, Loki, and Azure Monitor, optimizing APIs, database queries, and WebSocket traffic for high performance and resiliency.
- Utilize Test-Driven Development (TDD) to ensure high-quality, maintainable code with strong unit, integration, and functional testing.
- Define and maintain CI/CD pipelines on Azure DevOps, automating builds, testing, and deployments using Docker & AKS.
- Mentor and guide junior developers in microservices design, Spring Boot, TDD, and monitoring best practices, while collaborating with cross-functional teams to deliver business-aligned solutions.
- Maintain comprehensive system documentation for architecture, APIs, and workflows, while championing best practices in coding, testing, deployment, and monitoring.
Skills & Abilities (Required Qualifications)
- Bachelor’s degree in computer science, Engineering, or related field, or equivalent work experience.
- 5+ years of experience in software development using Java with expertise in Spring Boot for microservices.
- Strong experience with RESTful APIs development.
- Proficiency in Test-Driven Development (TDD) using tools like JUnit, Mockito, and familiarity with 12-factor microservice development patterns.
- Knowledge of CI/CD tools within the Azure ecosystem (e.g., Azure Pipelines, GitHub Actions) and version control systems like Git and Bitbucket.
- Database expertise in SQL (Oracle, Postgres).
- Strong communication and collaboration skills, with the ability to work across teams and translate technical feedback into solutions.
Competitive Edge (Preferred Qualifications)
- Bachelor’s degree in computer science, Engineering, or related field, or equivalent work experience.
- 5+ years of experience in software development using Java with expertise in Spring Boot for microservices.
- Experience with GraphQL, WebSocket protocols, and NoSQL databases (Cassandra).
- Familiarity with GM back-office systems or similar enterprise platforms.
- Knowledge of Chaos Engineering, Node.js, TypeScript, and mobile backend workflows.
- Expertise in security best practices (OAuth, JWT) and API gateways/service mesh.
- Hands-on experience with Azure services (AKS, API Management, Functions, Cosmos DB, SQL, Monitor, Application Insights).
- Proficiency in Grafana, Prometheus, and Loki for monitoring and observability.
- Strong leadership, problem-solving, and agile development skills.
Additional Information
- This job may be eligible for relocation benefits.
- Compensation: The compensation information is a good faith estimate only.