Software Developer/Architect

Overview

Hybrid
$125,000 - $135,000
Full Time

Skills

C++
Embedded Systems
MEF.

Job Details

Title : Software Developer/Architect Embedded Systems ---- Developpeur/Architecte logiciel Systemes embarques
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 (METRO ETHERNET FORUMS) 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

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.