Career Opportunities Contact Us Français Italiano
Home Services Solutions Profile
In order to meet the growing needs of our customers, we are constantly searching for dynamic, qualified individuals to join the CTC resource team. Currently, there are several career opportunities available at CTC. If you feel you satisfy the qualifications for one of the positions listed on this page, please send your CV to identifying the position(s) you are interested in. Qualified individuals will be contacted by our human resources department.
CTC006150 : IoT Senior NodeJS Developer
Location : Montreal, Quebec
Field : Dev
Position Type : Contract
Starting : August 23, 2021
Ending : February 25, 2022
Resources Required : 1
Position Description


Note from manager - For a senior developer, it takes about 7 hours to complete the take-home assignment. We allow 3 calendar days for the candidate to complete it. Please tell the suppliers to let their candidates know that this assignment is a miniature of the actual projects they will do once hired. If they cannot complete this assignment, they won't be able to handle the actual tasks.

Work from home until COVID-19 situation allows us back to office. This might happen gradually starting from September of this year, depending on Administration’s final decision.

Hours per week 37.5 hours

Day to day -

  • Designing and developing the applications – about 75% of the time
  • Code-review – about 15% of the time
  • Attend the mandatory meetings (daily scrum meeting, IoT weekly meeting, bi-weekly sprint review and retrospection sessions) – about 10% of the time

Top 3 functions of the role -

  • Participating in the designing of the services
  • Implementing the services
  • Reviewing colleagues’ code and providing constructive feedback

In the first 6 months -

  • Implementing the technical debt of the existing device-registry service for BBM
  • Deliver with other team members the tenant service for the zero-touch-provisioning ecosystem
  • Deliver with other team members the device registry service for the zero-touch-provisioning ecosystem (has not started yet)

Top 3 skills -

  • Senior level RESTful API designing and implementation
  • Senior level coding skills of JavaScript using Node and Express
  • Test-driven mindset and senior level experience of using test frameworks for JavaScript applications

Qualifications -

  • Hands-on in designing and implementing backend services in JavaScript
  • Extremely familiar with Node and Express
  • Eager to learn new technologies
  • Motivated to take the role as a contributing and learning role
  • Teamwork

The ideal candidate needs to be a hands-on person as this is an actual senior developer role

The candidate must be willing to learn new technologies, even in his own time, as there are a lot of technologies he/she may not know yet

The candidate needs to be cooperative with no ungrounded arrogance

Full time - Yes, depending on the candidate’s performance and the team’s situation. IoT team has converted a lot of contractors to full-time employees.


  • A degree in software engineering or computer science or equivalent practical experience
  • 5+ years of hands-on experience with software development with JavaScript as the major programming language
  • Willing to learn new skills in working hours and your own time, which is critical as you may encounter new technologies you are not familiar with

Mandatory Skill Set:

  • Senior-level MEN stack (MongoDB, Express, Node)
  • REST API designing and implementation
  • Microservice development
  • Proficient in writing clean, clear, reusable, and testable code
  • Versatile in using popular JavaScript testing frameworks
  • Competent in providing constructive and critical code-review
  • Experience working with Cloud and Unix/Linux environments

Nice-to-Have Skill Set:

  • Angular, Vue, or React
  • TypeScript
  • DevOps (Terraform, Kubernetes, Docker, Docker Compose)
  • CI/CD, preferably - GitLab
  • Azure in general; IoT Hub, Event Hubs, AKS in particular
  • Advanced shell scripting

Hiring Procedure:

  • 30-minute screening phone interview
  • Complete a take-home programming assessment assignment
  • 90-minute final video interview