Ed Tech companies you'll love to work for

1,135
companies
27,493
Jobs

Sr. Full-Stack Developer

Nelson

Nelson

Software Engineering
Toronto, ON, Canada
Posted on Oct 25, 2024

As the largest Canadian-owned and operated K-12 publisher, Nelson Education Ltd. is Canada's only heritage education content provider, known for its innovative products and solutions catering to learners across the country.

Nelson is on a mission to make learning accessible, engaging, and effective for all. That's why Nelson continuously strives to create dynamic curriculum-aligned content that caters to diverse learning styles, fostering critical thinking, creativity, and life-long learning.

In response to the evolving education landscape, Nelson developed Edwin, a digital learning ecosystem. Edwin is a learning platform for classroom success, providing curriculum-linked content, engaging tools and unparalleled support to reach every student.

Nelson is redefining education and making a positive impact on the way knowledge is acquired and shared by creating the possible, one learner at a time.

About the Role

Reporting to the Engineering Manager, the Sr. Full-Stack Developer (Developer III) is responsible for instrumenting, deploying, and improving multiple public-facing web apps in our cloud-based Kubernetes clusters or Cloudflare edge workers. This role is also responsible to design and develop the services used to support the front-end apps, such as the user auth, APl's, and analytics systems, and is an integral part of our Development team responsible for responding to and diagnosing issues in our production environment.

Key Accountabilities

  • Design client-side and service-side architecture.
  • Design and develop new features and functionality for web applications using technologies such as Golang, gRPC, messages, caching, TypeScript, HTML, CSS, and one or more JavaScript frameworks such as React, or NextJS.
  • Write clean, maintainable, and efficient code.
  • Collaborate with cross-functional teams, including product management and design, to understand requirements and develop solutions.
  • Troubleshoot and debug issues as needed.
  • Write automated tests to ensure code quality and reliability.
  • Continuously improve the development process and best practices.
  • Participate in code reviews and mentor junior developers.
  • Write effective APIs.
  • Implement dependency injection to decouple component creation from business logic, enhancing modularity and testability.
  • Use the strategy pattern and factory patterns to encapsulate algorithms and object creation processes, making the system easier to understand and modify.
  • Create security and data protection settings.
  • Write technical documentation.
  • Stay current with new and evolving web technologies and techniques.
  • Actively participate in the SCRUM process. Our process involves minimally necessary meetings and ceremonies. It’s based on an evolving process directed by the principle of keep what works and change what doesn’t.