Fast Facts
A Senior Software Developer role focusing on creating end-to-end software solutions and collaborating effectively in a fast-paced agile environment.
Responsibilities: Design, develop, and maintain software solutions, collaborate with cross-functional teams, own the software development lifecycle, and troubleshoot production issues.
Skills: Proficiency in backend technologies (Node.js, Java, Python) and frontend frameworks (Angular, React), DevOps tools, and strong database skills (SQL and NoSQL).
Qualifications: Bachelor’s or Master’s degree in Computer Science or related field; experience in SaaS applications and technical leadership preferred.
Location: Toronto, ON, Canada
Compensation: Not provided by employer. Typical compensation ranges for this position are between CAD 100,000 - CAD 130,000.
SUMMARY
This role will be expected to be comfortable working in a fast paced agile/scrum environment. Strong verbal and written collaboration and communication skills are needed, as well as the ability to communicate across all levels of an organization and with external contractors and vendors. Being a team player is key in order to accomplish the desired results and outcomes on various projects. To be successful in this role, the ideal candidate will be self-motivated to learn new technologies and achieve objectives. The candidate needs to have the ability to both multi-task and work independently.
PRIMARY RESPONSIBILITIES
- Design, develop, and maintain end-to-end software solutions, spanning frontend, backend, and infrastructure components.
- Collaborate cross-functionally with Product Management, QA, Design, and DevOps teams to deliver scalable and high-quality features.
- Own the full software development lifecycle — from technical design and coding to deployment, monitoring, and support.
- Build and maintain RESTful APIs, microservices, and responsive web interfaces using modern frameworks.
- Implement best practices for CI/CD, containerization, and cloud deployment to ensure smooth releases and reliable operations.
- Participate in architecture discussions and contribute to improving system scalability, performance, and security.
- Conduct code reviews, mentor junior engineers, and maintain a high standard of code quality.
- Troubleshoot complex technical issues across the full stack and ensure timely resolution of production incidents.
- Engage in Agile ceremonies — sprint planning, stand-ups, and retrospectives — and contribute to continuous improvement initiatives.
REQUIREMENTS
- 5+ years of hands-on experience in full-stack development within a product-based environment.
- Strong proficiency in backend technologies such as Node.js, Java, or Python, and modern frontend frameworks like Angular, React.
- Solid understanding of data structures, algorithms, system design, and software architecture principles.
- Proven experience working on cross-functional projects, integrating efforts across teams and domains.
- Hands-on experience with DevOps tools — including CI/CD pipelines, Docker, Kubernetes, and cloud platforms (AWS, Azure, or GCP).
- Strong database skills with SQL and NoSQL systems (e.g., PostgreSQL, MySQL, MongoDB, DynamoDB).
- Familiarity with monitoring, logging, and alerting tools for production systems (e.g., Datadog, Prometheus, Grafana).
- Excellent problem-solving, analytical, and communication skills.
- Strong sense of ownership, accountability, and attention to detail.
PREFERRED SKILLS
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- Experience building and scaling SaaS or enterprise-level applications.
- Exposure to infrastructure-as-code tools (e.g., Terraform, CloudFormation, AWS CDK).
- Understanding of event-driven architectures, message queues, and asynchronous processing (Kafka, RabbitMQ, SQS/SNS).
- Experience working with security best practices, authentication, and authorization (OAuth 2.0, JWT).
- Previous involvement in technical leadership, mentorship, or cross-team initiatives.
- Passion for innovation, continuous learning, and improving engineering processes.