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.
Tech Stack
Apache KafkaAWSAzureGoogle Cloud PlatformJavaMySQLNode.jsPostgreSQLRabbitMQReactSnowflakeSpring BootSQL
