Sr. Backend Developer (Node.js) – Fully Remote (Canada)
Location: Fully Remote (Canada) | Position: Full-time, Permanent | Salary: $60,000 - $80,000 CAD per year (commensurate with experience)
About the Role
We are seeking a passionate and skilled Backend Developer to join our fully remote engineering team. You will be a key contributor in designing, building, and maintaining the robust APIs and services that power our platform. You will own your work from conception to deployment and beyond, embracing a culture of quality and problem solving.
Technical Stack
- Core Stack (Required)
- Language: JavaScript (ES6+)
- Runtime: Node.js
- Web Framework: Hapi.js or Express.js
- Database: MySQL
- Paradigm: Strong Object-Oriented Programming (OOP) principles
- Supporting "Good-to-Have" Stack
- Cloud Services (AWS): Lambda, SQS, EC2, RDS, S3
- ORM: Sequelize
- Testing: Mocha, Chai
- Version Control: Git
- Environment: Experience working on projects for US or European markets (data privacy, time zones, etc.)
Roles & Responsibilities
- 1. API Development & Architecture
- Design and implement RESTful API endpoints that are intuitive, consistent, and adhere to industry best practices (proper HTTP status codes, standardized response structures, versioning strategies).
- Develop robust, secure, and well-documented APIs using Node.js with Hapi.js or Express.js.
- Optimize API performance to reduce latency and improve response times.
- Incorporate security practices: input validation, sanitization, authentication/authorization checks, and protection against common vulnerabilities (e.g., SQL injection, XSS).
- 2. Database Management & Optimization
- Design and maintain efficient MySQL schemas that support business requirements (normalized or strategically denormalized).
- Write complex, optimized raw SQL queries and use EXPLAIN plans to optimize performance.
- Utilize Sequelize ORM for standardized data interactions, with ability to fall back to raw SQL for performance-critical operations.
- Plan and execute safe database migrations to evolve the schema without downtime or data loss.
- 3. Ownership End-to-End Delivery
- Act as the Technical Owner for specific product components or services, including health and future direction.
- Full lifecycle involvement: requirements discussion, technical specs, development, testing, deployment, and post-launch monitoring.
- Evaluate multiple approaches, considering trade-offs in scalability, maintainability, and time-to-market.
- Collaborate on Deployment DevOps: contribute to CI/CD pipelines and infrastructure discussion for AWS serverless components like Lambda and messaging with SQS.
- 4. Quality Assurance Testing
- Write clean, maintainable code following OOP principles and style guidelines.
- Develop unit tests with Mocha and Chai (or Jest/Sinon) and strive for high test coverage.
- Participate in code reviews to maintain code quality and adherence to standards.
- Debug and troubleshoot issues across environments (development, staging, production).
- 5. Collaboration & Communication
- Work closely with front-end engineers to define API contracts and with product managers for requirements and feasibility feedback.
- As a fully remote team member, excel in asynchronous communication and document work clearly using tools like Slack, Jira, or Confluence.
- Share knowledge and mentor others to help the team grow.
- 6. Proactive Initiatives (Nice-to-Haves)
- Experience with AWS Lambda and SQS for serverless architectures.
- Experience with US/European projects and data privacy considerations (GDPR, CCPA).
- Proactive identification of technical debt and infrastructure improvements; stay updated with new technologies.
Must-Haves
- 4 to 8 years of professional backend development experience.
- Minimum 3 years hands-on experience with Node.js, JavaScript, and MySQL.
- Proven API development experience using Hapi.js or Express.js.
- Strong understanding of Object-Oriented Programming (OOP).
- Experience as a technical owner of a project or significant component.
- End-to-end ownership mindset and focus on scalable solutions.
Nice-to-Haves
- Hands-on AWS experience with Lambda and SQS.
- Proficiency with Sequelize or other Node.js ORMs.
- Experience writing unit and integration tests with Mocha/Chai (or Jest/Sinon).
- Experience working on distributed teams for US or European companies/clients.
- Familiarity with CI/CD pipelines and DevOps principles.