Software Engineer



Software Engineering
Markham, ON, Canada
Posted on Friday, September 15, 2023

Company Overview

Cence Power is at the forefront of the DC revolution, where we are changing the way we use and distribute electricity. We develop intelligent, low and high voltage, direct current power systems, wireless sensor networks, and AI-powered building automation software. Our goal is to conserve energy and reduce emissions for all building types. We achieve this by providing innovative solutions that are more efficient and effective than the traditional AC power systems.

Who we are

We are a growth-stage company, backed by strategic investors, with partners in industry leading positions in commercial real estate and construction verticals. We are integrated with leading engineering firms to enhance the electrical industry.

We are also passionate about our people and our customers. We take pride in finding solutions for customers for the greater good of the company and our clients. We act on data driven plans, always ensuring we base decisions on facts and open, honest dialogue. Our team is innovative and agile and applies these attributes to our development process. We are curious, and always learning and testing our ideas. And lastly we are making an impact towards a better planet, through our hard work and innovations.

What does it mean to be a part of our team?

As a Software Developer with a passion for growing in the field, you will be participating in all aspects of technical development. As a new addition to our growing team, you will develop high performance APIs as well as create the visual components that our users interact with every day. You’ll have the opportunity to work on a platform used by customers across Canada.

You will become familiar with our entire technology stack, from using React and Apollo in the frontend to Node.js, Graphql, Redis in the backend, and integrating with cloud services and other databases. You will have an opportunity to grow with our company as we scale up, and enter the market with our all-in-one smart building platform.

As a member of our team, you are someone who is passionate about tackling complex problems in application development and coming up with functional, stable and beautiful UI/UX interfaces. You are someone who has a genuine desire to design and implement superb software solutions. You are also intimately familiar (and up to date) with development ecosystems for making sound decisions when it comes to choosing the right tool or library for the job, as well as collectively overseeing the integrity of the codebase.

What will you be specifically doing?

As a Software Developer you will be responsible for developing innovative software that enables easy and intuitive building automation and control. You will be working in the IoT, machine learning, data analytics, AI and real time control area to build best-in-class AaaS (Automation as a service).

You will also be responsible for the designing, programming, testing and deploying of our web application as well as maintaining our cloud infrastructure. You will work closely with other engineers on our team to build designs that are elegant and efficient.

You will have the opportunity to flex your problem-solving skills, and contribute your technical knowledge to come up with creative solutions on a wide variety of projects.

Your key area of responsibilities will be:

  • Software Development: Develop and implement innovative software solutions for building automation, integrating IoT, machine learning, data analytics, AI, and real-time control methodologies.
  • Web Application Development: Design, code, test, and deploy our web application, ensuring optimal performance, security, and user experience.
  • Cloud Infrastructure Management: Design and maintain our cloud infrastructure on platforms such as AWS, ensuring scalability and reliability.
  • APIs & Backend Development: Build high-performance APIs using technologies like Node.js and GraphQL, ensuring seamless data transfer and system integration.
  • Database Management: Design and manage our MongoDB database structure, optimizing for performance, data integrity, and scalability.
  • UI/UX Development: Create intuitive and aesthetically pleasing user interfaces using Reactjs, ensuring user-friendly experiences.
  • Optimization & Performance: Enhance application performance by leveraging caching solutions like Redis and optimize database queries.
  • Integration of AaaS: Develop and integrate Automation as a Service (AaaS) functionalities into the platform, ensuring user requirements are met.
  • Collaboration: Work closely with other software engineers, taking collective decisions and brainstorming on design and architectural challenges.
  • Problem-Solving: Tackle complex software problems, employing innovative solutions and optimizing code.
  • Continuous Learning: Stay updated with the latest trends, tools, and best practices in software development, particularly in domains like IoT, AI, and machine learning, to guide the product's evolution.
  • Technical Support & Maintenance: Address bugs, troubleshoot issues, and provide updates to ensure the software runs smoothly and meets user requirements.

Who are you?

  • Experience as a professional software developer (Preference given to those with 4+ years)
  • Experience with React (Minimum 4+ years)
  • Experience with Apollo+Graphql (Minimum 4+ years)
  • Experience with IoT and communication e.g. MQTT, COAP (Minimum 3+ years)
  • Experience developing REST APIs with Node.js (Minimum 4+ years)
  • Experience maintaining and working with AWS EC2, Elastic Beanstalk, AWS IoT, Cognito and other AWS services (Minimum 3+ Years)
  • Strong UI/UX design portfolio
  • Proficiency in writing automated tests in Jest, Enzyme, Mocha-Chai, Cypress
  • Experience with Jira, Confluence, SCRUM, Kanban management styles
  • Strong software development fundamentals (data structures, algorithms, etc.)
  • Consume and understand business, functional, and technical requirements for complex enterprise data-rich web applications.
  • Conduct research to develop a thorough understanding of the targeted users, their needs, environment, and behaviors.
  • Create and revise user flows, sitemaps and wireframes based on specifications, goals, needs and limitations.
  • Solid understanding of creating user-centered experiences with complex requirements
  • Expert level familiarity with modern Javascript (ES6+: Classes, modules, arrow functions, async/await, destructuring, etc.).
  • Intimate knowledge of JS ecosystem (tooling, libraries, etc.).
  • Knowledge of good practices, preferred design patterns, and writing - idiomatic Javascript code.
  • Deep understanding of performance implications and scalability of code.
  • Keenness for writing good, meaningful tests and maintaining thorough test coverage. Experience with large, complex code bases and know how to maintain them.
  • Experience using Git to handle version control

We’d love it if you have:

  • Familiarity with IoT development frameworks/OS - FreeRTOS, Zephyr
  • Experience with Python
  • Familiarity with BACnet


  • Total compensation Summary: $60,000 - $90,000 based on experience level
  • Bonuses and salary increases available to candidates that excel in the position
  • Medical Benefits available after probation period



Our ideal candidate is technically sound in computer science and computer engineering, with the ability to apply strong logical thinking to creative designs.