Accuenergy is a Toronto-based company dedicated to research, design and manufacturing of multifunction power meters and other instruments. We also provide advanced technological solutions for distribution and industrial power system automation.
- Design and develop software functionalities for energy metering products and communication modules - Implement in C/C++ for ARM-based Linux
- Document system analysis, software designs and test plans
- Develop and debug embedded software using C/C++ in a Linux environment.- Configure and maintain build systems using CMake and GCC cross-compilation tools for embedded targets.
- Design and optimize software for ARM-based embedded systems, focusing on threading, memory management, and performance optimization.
- Utilize version control systems effectively, following best practices in Git for software development and collaboration.
- Implement and integrate communication protocols such as Modbus RTU/TCP, TCP/IP, BACnet/IP, SNMP, DNP, IEC61850, EtherNet/IP, MQTT, and Profinet.
- Develop and debug communication interfaces including SPI, I2C, UART, and RS485 for embedded system communication.
- Design and maintain RESTful APIs for seamless integration with external systems.
- Manage embedded database operations using SQLite for efficient data storage and retrieval.
- Write and maintain Shell scripts for automation, system configuration, and debugging.
- Apply object-oriented programming principles to design scalable, maintainable, and modular software solutions.
- Support and assist the product verification team in developing and executing test plans, validation procedures, and debugging activities.
- Other duties as assigned
- Ensure Occupational Health and Safety compliance with health and safety laws and regulations.
- Follow all procedures in compliance of Accuenergy (Canada) Inc standard policy and operation regulations.
- Any other operation-related responsibilities may be added as company continues to grow.
- Education: Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- 2+ years of embedded software development experience, with a focus on Linux-based application development.- Proven experience with communication protocols (e.g., Modbus, MQTT, DNP3).
- Experience with data logging, control systems, and web server implementations (e.g., HTTP, FTP, Restful APIs).- Expertise in C/C++ programming for embedded systems.
- Experience with Linux build systems (Yocto, Buildroot) and cross-compilation toolchains.
- Strong understanding of communication protocols (e.g., TCP/IP, Modbus, MQTT, DNP3).
- Knowledge of real-time Linux features.
- Proficiency with debugging and profiling tools (e.g., GDB, Valgrind, strace).
- Familiarity with Git or similar version control systems.
- Understanding of cybersecurity practices for embedded systems, including secure boot and encryption.
We thank you for your interest in joining the Accuenergy team and for submitting your application for our positions.
We appreciate the time and effort you invested in your application. Please note that only candidates selected for the next stage of the hiring process will be contacted.
We value your interest in Accuenergy and wish you the best of luck in your job search.
Thank you once again for considering a career with us
- Dental care
- Discounted or free food
- Extended health care
- On-site parking
- Paid time off
- Vision care
- Yocto: 5 years (preferred)
- Modbus: 5 years (preferred)
- C/C++ programming for embedded linux system: 5 years (preferred)- HTTP/FTP/RESTFUL APIs: 5 years (preferred)