About the job C++ Developer (Lead)
Lead C++ Developer to lead small team to develop customer-specific solutions using C++ for a multinational energy conglomerate
Full-time, permanent
Montreal (Hybid)
The client is accelerating and leading the industry with its digital offerings to utility customers. As a lead software developer, you will be responsible for developing C++ code and customer-specific solutions based on our Substation Automation family of products. In this role, you will play a leading role in our software development team and contribute to the execution of customer-paid development projects. We strive to deliver dependable, simplified, and best-in-class solutions to help utilities leverage their assets and manage a smarter grid.
Responsibilities:
- Designs, implements, and maintains efficient, reliable, and reusable code.
- Analyzes technical specifications and proposes innovative solutions.
- Writes unit tests and automated integration tests, performs manual testing, reviews peer-written code and writes reports.
- Participates in the investigation of problems by gathering enough information to find the root causes and fix them.
- Lead system architectures and designs.
- Has the ability to lead small projects with the assistance of a few other developers.
- Help transforming customer requirements in generic features that will be integrated in our family of product and that will be reusable by other customers.
- Provide input to project planning by estimates of development activities.
- Contribute to the growth of the team, with technical coaching of junior developers and supervision of contractors that help dealing with variations on the workload.
Must Have:
- 7+ years of experience in software development.
- 2+ years of recent experience developing C++ applications.
- 1+ year of experience leading and coaching new and experienced software developers.
- Fluency in English and French (working proficiency).
Prefered
- Bachelors degree in Computer Science, Computer Engineering, etc.
- Understanding of object-oriented design and programming skills, including the use of design patterns.
- Experience developing software for embedded devices, creating APIs and desktop applications.
- Experience ensuring cybersecurity practices in embedded software
- Experience designing real-time control systems.
- Comprehensive knowledge of IP networking protocols (TCP/UDP/IP).
- Experience with Industrial IP protocols: Modbus TCP, DNP3, OPC-UA
- Experience working in the electric utility market and/or power systems.
- Experience with Agile using Scrum