Software Developer
Finlink Group Voir toutes les offres
- Brampton, ON
- Permanent
- Temps-plein
- Contribute to the design and development of firmware and functional modules for embedded system controllers and supervisory control systems
- Support the design, prototyping, and validation of embedded Linux systems, programmable logic controllers (PLCs), web servers, and backend APIs
- Assist in building and maintaining functionality for web-based services and applications
- Help configure and deploy devices both in-field and within cloud infrastructure to support system operations
- Support the setup, monitoring, and control of active system deployments
- Participate in key validation processes including Code Reviews (CoR), Factory Acceptance
- Testing (FAT), Site Acceptance Testing (SAT), and User Acceptance Testing (UAT)
- Analyze system and equipment performance data to identify errors, inefficiencies, and optimization opportunities
- Perform database queries and support data analytics and modelling efforts
- Maintain clear and comprehensive technical documentation for all development work
- Develop user operation manuals and assist with training for new system deployments
- Prepare progress updates, test summaries, and site completion reports
- Provide support on ad hoc projects and cross-functional initiatives as required
- Exposure to Li-ion Battery Energy Storage Systems and Electric Vehicle Charging Infrastructure
- Insight into industries such as energy storage, microgrids, and transportation electrification
- Hands-on experience with real-time programming, embedded systems, firmware development, validation, and certification processes
- Practical knowledge of cloud infrastructure, full-stack web development, Linux environments, and relational databases
- Bachelor’s degree in Computer Engineering (Software), Engineering Science (Software), or Computer Science
- Master’s degree in a related field is considered an asset
- Strong team-oriented mindset, with a willingness to collaborate, solve complex problems, and incorporate feedback
- Proficiency in multiple programming languages, such as C/C++, Python, and LabVIEW (Sequential Logic Flowchart)
- Familiarity with ARM or RISC-based single-board computers, particularly in resource-constrained environments (limited CPU and memory)
- Hands-on experience in software design and validation, gained through internships, co-op programs, or academic projects
- Proficient with Microsoft Office tools (Word, Excel, Access, Outlook) and version control systems such as Git
- Strong habits in code documentation, commenting, and version control best practices
- Willingness to take a hands-on approach, including involvement in testing labs, manufacturing environments, and occasional site visits
- Experience with programming and debugging functional modules within systems such as
- Battery Management Systems (BMS) and EV Supply Equipment Charge Controllers (SECC)
- Exposure to embedded controller design, prototyping, and validation
- Ability to review component datasheets and support hardware sample testing
- General understanding of energy systems or power engineering concepts
- Experience working with Linux-based systems, including RT extensions, POSIX standards, or
- PLC programming (IEC 61131-3, especially Structured Text)
- Prior involvement in embedded systems design and validation projects (portfolio preferred)
- Additional experience with Python, JavaScript, or Go (Golang) is an asset