Gem

Senior Software Engineer

Gem
Apply
4 months ago
Remote, Canada or Toronto, CanadaSenior

Responsibilities

  • Design, architect, and implement large-scale multi-tenant SaaS applications using Spring Boot, microservices, shared-nothing architecture, and event-driven patterns.
  • Own end-to-end feature delivery including scoping, design, implementation, testing, rollout, and operations.
  • Define domain models and data schemas supporting accuracy, auditability, and maintainability.
  • Build high-throughput, low-latency services with strong consistency and reliability guarantees.
  • Implement event-driven workflows using message queues and streaming platforms such as Kafka, Kinesis, RabbitMQ, SNS/SQS, and webhooks.
  • Drive design reviews, RFCs, continuous integration, code reviews, observability, and CI/CD practices.
  • Provide architecture guidance and mentor engineers in distributed systems, database modeling, and scalability.
  • Establish and improve production SLIs/SLOs for latency, throughput, accuracy, and availability.
  • Collaborate with Product and cross-functional teams to translate requirements into fault-tolerant system designs.
  • Write and maintain automated unit, integration, and end-to-end tests and apply test-driven development practices.

Requirements

  • Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
  • At least 5 years of professional software development experience building large-scale distributed backend systems.
  • At least 5 years of experience with Java or JVM languages and microservices frameworks such as Spring Boot.
  • Deep knowledge of relational databases, including schema design, indexing, and performance optimization.
  • Experience with multi-tenant or sharded database architectures and scale and isolation strategies.
  • Hands-on experience with event-driven architectures and streaming or messaging platforms such as Kafka, Kinesis, RabbitMQ, or Pub/Sub.
  • Understanding of consistency models, idempotency, exactly-once and at-least-once processing, and eventual consistency.
  • Experience with AWS, GCP, or Azure and cloud-native services including containers, serverless, and managed data services.
  • Strong SQL skills and database performance profiling and tuning experience.
  • Experience with concurrent programming, thread safety, observability, and production performance and reliability troubleshooting.
  • Experience writing and maintaining automated tests, with familiarity with Playwright or similar test automation tools.
  • Strong portfolio or examples of past projects and code, plus communication and collaboration skills.
  • Preferred experience includes finance, billing, subscriptions, payments, revenue-lifecycle systems, Snowflake, NoSQL or time-series databases, enterprise-scale systems, Salesforce or other CRM/ERP platforms, and AI-assisted development tools such as Claude Code or Codex.

Categories

Gem

About Gem

501-1,000 employees
Contact me