Senior Software Developer
Pollard Digital Solutions
- Location
- Canada
- Job Type
- full-time
- Salary
- Unknown
- Posted
- October 11, 2025
Job Description
We’re looking for an impactful Senior Software Developer to join our team remotely within Canada, ideally located in the Eastern or Central Time Zones.
Our Senior Software Developers play a pivotal role within one of our high-impact, cross-functional product development teams, helping to build the foundation that powers lotteries around the world. From crafting exceptional customer experiences to developing innovative features, they work across the stack to deliver scalable, extensible products.
As a senior individual contributor, you’ll lead by example- shaping system design, mentoring engineers, and driving the technical direction of your team. You’ll work closely with peers across Product, Architecture, and Engineering to ensure we deliver scalable, secure, and maintainable systems that meet user needs.
This is a hands-on development role within an agile team, focused on building a microservices-based SaaS platform. You’ll contribute to every stage of the development lifecycle- from planning and architecture to delivery- bringing secure, scalable, and engaging experiences to lottery players everywhere.
Who We Are
Experience the forefront of innovation with Pollard Digital Solutions a division of Pollard Banknote, where we lead the charge in revolutionizing digital solutions for state lotteries. From groundbreaking initiatives like iLottery to crafting immersive player experiences that champion noble causes globally, our team's innovative spirit is driving impactful changes in the industry. Join us in this exhilarating journey, where every contribution makes a difference in shaping the future of lottery gaming.
What We Offer
- Competitive compensation
- Profit sharing program – every role plays a part in our success!
- Company pension
- Comprehensive Group Benefits
- Opportunities for professional development
- Tuition reimbursement
- Employee & Family Assistance Program
- Remote Work Environment
What You'll Do
- Lead technical direction for a cross-functional development team, breaking down complex challenges and guiding high-quality solutions.
- Set and uphold coding standards and software quality practices through code reviews, pair programming, and mentorship.
- Design for Scale and Impact: Develop robust, scalable APIs and microservices that support millions of lottery players, with a focus on performance, security, and maintainability.
- Elevate the Team’s Craft: Participate in code reviews, pair programming, and technical mentorship to help raise the bar across the engineering organization.
- Shape the Platform’s Future: Collaborate on architectural decisions and technical standards that support the long-term evolution of the Catalyst platform.
- Build Across Borders: Work closely with engineering teams in Canada, Serbia, and Iceland to design and evolve Pollard’s cloud-native iLottery platform.
- Own code quality: write clean, well-tested, maintainable code; adopt CI/CD, logging and telemetry practices; address technical debt and support your team in continuously improving software quality.
- Think Open First: Prioritize open standards and open source technologies before turning to proprietary solutions.
- Deliver with Discipline: Contribute to planning and execution to ensure timely, high-quality releases that align with business goals.
- Grow Others as You Grow: Mentor junior engineers, sharing knowledge and guiding them through challenges to support their growth.
Who You Are
- A collaborative team player who communicates clearly and contributes to a positive team dynamic
- A natural problem solver who can simplify complexity and make sound architectural decisions under uncertainty
- A mentor and multiplier who helps elevate the skills of those around you, both formally and informally.
- A curious and adaptable developer who’s always eager to learn and grow
- A thoughtful problem solver who approaches challenges with care and creativity
- An advocate of high-quality engineering practices—automated testing, CI/CD, observability, and security-by-design
What You'll Bring
- Bachelor’s degree or higher in Computer Science or equivalent professional experience.
- 5+ years of proven experience developing scalable, high-performance software applications or API platforms.
- Experience mentoring other developers and influencing team-level SDLC practices.
- Extensive hands-on knowledge of Enterprise Java and frameworks such as Spring, Spring Boot, and Hibernate. Familiarity with Go or Python is a plus.
- Hands-on experience designing, deploying, and managing scalable applications using cloud platforms such as AWS, Azure, or Google Cloud Platform, leveraging cloud-native, micro-services architectures and services.
- Solid understanding of the principles and patterns behind scalable, maintainable, and testable software architectures.
- Proven experience designing, building, and consuming APIs (REST, GraphQL, WebSockets, webhooks).
- Strong proficiency with relational databases (e.g., PostgreSQL) and familiarity with NoSQL databases.
- Practical experience using message queues (RabbitMQ preferred).
- Hands-on experience deploying and managing applications with Docker and Kubernetes in production environments.
- Ability to communicate clearly and collaborate effectively within a team.
π― Who is this job for?
This role is ideal for a Senior Software Developer with 5+ years of experience in Java (Spring Boot/Hibernate) and building scalable microservices on cloud platforms (AWS, Azure, or GCP). Candidates should have strong knowledge of API design, Docker/Kubernetes, messaging systems (RabbitMQ), and CI/CD practices. It's best suited for someone experienced in mentoring, system design, and contributing to cross-functional, cloud-native product teams.
π¬ Potential Interview Questions
-
What are the main advantages of using Spring Boot for building scalable APIs?
Spring Boot simplifies setup and development, supports microservices architecture, and includes built-in features like embedded servers, configuration management, and health checks. -
How do you design scalable and secure RESTful APIs in a microservices environment?
By following REST principles, using versioning, authentication (e.g., OAuth2), rate limiting, monitoring, and structuring endpoints around resources with clear separation of concerns. -
Describe your experience with Docker and Kubernetes in production deployments.
I use Docker to containerize applications and Kubernetes for orchestration, auto-scaling, load balancing, and rolling deployments in cloud environments like AWS or GCP. -
How do you manage inter-service communication in microservices architecture?
I use REST for synchronous calls and message queues like RabbitMQ for asynchronous communication, ensuring resilience through retries, circuit breakers, and proper message routing. -
What’s your approach to mentoring junior developers on a cross-functional team?
I pair program, conduct code reviews, encourage open questions, and provide constructive feedback, while promoting best practices and continuous learning. -
How do you ensure your codebase is maintainable and testable over time?
By following SOLID principles, writing unit and integration tests, maintaining clear documentation, using consistent naming and modular design, and regularly refactoring code. -
How have you implemented observability and monitoring in past projects?
I integrate tools like Prometheus, Grafana, and ELK stack to track metrics, logs, and alerts, and use health checks and distributed tracing for root-cause analysis. -
Explain how RabbitMQ fits into a distributed application architecture.
RabbitMQ enables decoupled communication between services via queues, improving scalability, reliability, and enabling asynchronous processing of tasks. -
How do you handle data persistence and schema changes in PostgreSQL in production?
I use migration tools like Flyway or Liquibase, apply schema changes incrementally, test in staging, and ensure backward compatibility during deployments. -
What are your considerations when choosing between a relational and NoSQL database?
I choose relational for structured data with ACID requirements and complex queries; NoSQL for high-volume, flexible schema data, or when low latency and scalability are priorities.
π Job Summary
Join Pollard Digital Solutions, a division of Pollard Banknote, as a Senior Software Developer and help shape the future of digital lottery experiences used globally. You’ll lead technical direction on a cloud-native, microservices-based SaaS platform using Java (Spring Boot), Docker, Kubernetes, PostgreSQL, AWS, and more. This remote role within Canada (preferably Eastern/Central time) offers competitive compensation, profit sharing, pension, and tuition reimbursement. Be part of a collaborative, mission-driven team where your code impacts millions and innovation fuels real-world change.