Senior Backend Developer
Software Engineering
Toronto, ON, Canada · Remote
CAD 135k-165k / year
Senior Backend Developer
Description
Senior Backend Developer
About Viafoura
About the Role
Key Responsibilities
- Architect and implement highly scalable, distributed microservices-based applications.
- Design resilient, event-driven architectures and API contracts that support high-volume real-time data processing.
- Drive technical decision-making for long-term system maintainability, scalability, and performance optimization.
- Design, develop, and maintain robust microservices using Java on non-blocking frameworks (Vert.x).
- Implement efficient code patterns, conducting thorough code reviews to ensure quality and adherence to best practices.
- Architect and optimize high-performance data storage solutions, including MySQL, OpenSearch, and other NoSQL stores and caches.
- Build and maintain reliable pub/sub messaging systems and real-time data pipelines (Apache Kafka).
- Plan and execute complex, zero-downtime data migrations — evolving schemas and moving live data (dual-write, backfill, cutover) while systems serve production traffic.
- Optimize database performance, query efficiency, and complex data models.
- Own projects end-to-end: write the design doc, defend it in review, lead implementation across multiple engineers, and carry it through production rollout and post-launch operation.
- Collaborate with product and cross-functional teams to define service boundaries and deliver new capabilities.
- Mentor junior developers and lead initiatives that improve engineering processes and team excellence.
- Participate in our on-call rotation (currently one week on, three weeks off) and troubleshoot production issues to maintain system reliability.
Required Qualifications
- 5+ years of senior backend development experience in Java, including work across more than one framework or runtime model — e.g., non-blocking/reactive stacks (Vert.x, Netty, RxJava) — not solely Spring Boot.
- Strong JVM fundamentals independent of any framework: concurrency and threading models, event loops vs. thread-per-request, memory and GC behaviour under load.
- Track record as the technical owner of a project end-to-end — from design doc through production rollout — and the accountable engineer when things went wrong: incidents, rollbacks, postmortems on systems you designed.
- Proven experience building and scaling high-volume microservices architectures.
- Expertise in event-driven design using Apache Kafka for high-throughput data streams.
- Strong command of SQL (MySQL) and NoSQL database design, query optimization, and performance tuning.
- Proficiency in containerization (Docker) and orchestration (Kubernetes) within distributed environments.
- Experience with modern CI/CD pipelines, observability (logging/monitoring), and debugging in production.
Nice to Have
- Hands-on experience with a full datastore migration — schema and live data both moved, with a zero-downtime cutover.
- Proficiency in additional languages (Rust, Go, Node.js).
- Deep knowledge of cloud-native development (AWS) and Infrastructure as Code.
- Experience with alternative messaging platforms (SQS, RabbitMQ).
- Background in performance engineering and automated testing.
What We Offer
- Comprehensive health benefits
- Professional development opportunities
- Remote-friendly work environment
- Collaborative and innovative team culture
