Software Developer R&D (Research & Development) at Finlink Group — NeverHard
Software Developer R&D (Research & Development) at Finlink Group in Toronto, Ontario. Skills: Analytics, Backend APIs, Battery Management Systems, C/C++, Control Logic Design. Apply on NeverHard.
Company
Finlink Group
Location
Toronto, Ontario
Type
full_time
Required skills:
Analytics
Backend APIs
Battery Management Systems
C/C++
Control Logic Design
Database Design
Database Querying
Debugging
EV Supply Equipment Charge Controllers (SECC)
Electrical Engineering
Job DescriptionJob Description
Software Developer – R&D (Research & Development)
This role focuses on designing, prototyping, and validating new embedded systems, firmware, and software components. You will work on innovation, system design, and development of next-generation energy and control systems including battery storage and EV charging technologies.
Key Responsibilities
Design, prototype, and validate embedded systems and supervisory controllers
Develop firmware and functional modules for embedded controllers and web-connected systems
Contribute to development of Battery Management Systems (BMS) and EV Supply Equipment Charge Controllers (SECC)
Assist in design and implementation of embedded Linux systems, PLC logic, backend APIs, and web services
Participate in design reviews (CoR) and technical architecture discussions
Conduct component datasheet reviews and support hardware sample testing
Perform system-level debugging and firmware optimization
Analyze system performance data to support design improvements and modeling efforts
Perform database design, querying, and assist with analytics and system modeling
Maintain technical design documentation and engineering records
Contribute to research, experimentation, and innovation projects
Required Skills & Experience
Strong programming skills in C/C++, Python (JavaScript or Go is a plus)
Experience with embedded system design, firmware development, and validation
Familiarity with Linux-based embedded systems (POSIX, RT Linux)
Knowledge of ARM/RISC embedded architectures
Experience with real-time systems or control logic design
Understanding of energy systems, power electronics, or electrical engineering concepts
Experience with version control (Git) and engineering documentation practices
Exposure to PLC programming (IEC 61131-3) is an asset
Strong debugging, prototyping, and problem-solving skills
Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, or related field (required)
Master’s degree preferred
Prior R&D, embedded systems, or research-based project experience strongly preferred
Portfolio of embedded or firmware projects is an asset
This role is a good fit if you’re more interested in building and experimenting than maintaining existing systems. It’s less about routine and more about exploration, figuring out how things should work, testing ideas, and turning them into reliable engineering solutions.
This is an exciting opportunity to work on innovative technologies in a growing industry, where you can expand your technical skillset and make a meaningful impact.