Title : Software Developer/Architect – Embedded Systems ---- Développeur/Architecte logiciel – Systèmes embarqués
Location : Ottawa (On site 4 days/week)
Duration : 12 months
The candidate must have the following qualifications:
Background:
The specialist will work with development teams primarily to deploy and integrate embedded systems (hardware and software) in advanced network environments.
60% Architecture, Design, and Mentoring
40% Development
- Requirements: Minimum 5 years of experience in software development and architecture, and test design for network solutions, including:
- Communication satellites, mesh networking, edge computing, or any other relevant embedded system
- Minimum 2 years of experience with MEF protocols and standards
- Solid understanding of IP/TCP/Routing fundamentals
- Proficiency in Agile environments
- Familiarity with Jira and GIT
- Experience in test automation using Python scripts
- Candidate will need to get a CGP clearance
- 100% English speaking – Level 5/5 required
- Nice to Have:Knowledge or experience with SR-MPLS technology
Job Description:
As a key member of a Scrum team, the Lead Developer will contribute to the design, development, and testing of next-generation software, working closely with the testing and support teams to ensure comprehensive test coverage and efficient defect resolution. They will also play a leadership role in technical discussions and decision-making, while documenting discussions and architectural choices.
In this role, the Developer will assume responsibility for specific embedded software modules, overseeing their development, quality, testing, and functionality.
- Main Responsibilities: Collaborate with experienced engineers on the design, programming, testing, and maintenance of embedded software applications
- Develop, test, and maintain embedded software modules in C++
- Participate in the implementation of software solutions, ensuring seamless communication between different components
- Contribute to the development of software tools, libraries, and frameworks to improve overall product quality and efficiency
- Participate in code reviews and suggest improvement opportunities to ensure quality and compliance with standards
- Identify and resolve bugs and technical issues
- Supervise software testing practices for cutting-edge embedded systems
- Integrate software components into Linux-based systems
- Collaborate with multidisciplinary teams (product, design) to understand functional requirements and participate in technical decisions
- Maintain clear and structured documentation on designs, processes, and development tasks
- Provide technical leadership and support the development of high-performance, reliable, and secure software evolving