Title: Embedded Software DeveloperLocation: CanadaTerms: Contract JOB DESCRIPTION: The Embedded Software Developer will participate in the development, productization and maintenance of specific software modules. MAIN RESPONSIBILITIES: �Collaborate with experienced engineers in the design, coding, testing, and maintenance of software applications. �Develop and maintain embedded software modules using programming languages like C++ and Python. �Assist in the implementation of networking solutions, ensuring seamless communication between software components. �Contribute to the development of software tools, libraries, and frameworks to enhance overall product quality and efficiency. �Participate in code reviews, providing constructive feedback to enhance code quality and adherence to coding standards. �Collaborate with the team to troubleshoot and resolve software defects and technical issues. �Support the integration of software components on Linux operating systems. �Assist in the testing and validation of software features, ensuring functionality and performance meet specified requirements. �Utilize cloud technologies to enhance software deployment and management. �Collaborate with cross-functional teams, including product managers and designers, to understand requirements and contribute to technical discussions. �Maintain clear and organized documentation of software designs, processes, and development tasks. �Demonstrate effective teamwork and communication skills, both orally and in writing. Lead the design, development, and implementation of advanced satellite ground segment software systems, ensuring high performance, scalability, and reliability.
EDUCATION & EXPERIENCE REQUIRED �Bachelor's or Master's degree in computer science, Electrical Engineering, or a related field. �Experience in software development, focusing on embedded systems. �Basic understanding of networking concepts and protocols. �Proficiency in using the Linux operating system. �Cloud technology familiarity is a plus. �Strong analytical and problem-solving skills. �Team player with the ability to collaborate effectively within a diverse team. �Good oral and written communication skills. �Enthusiasm for learning new technologies and tools. �Detail-oriented with a commitment to producing high-quality software. �Ability to design software with consideration for hardware resource constraints.
DECISION MAKING & SUPERVISION: �This role has no direct reports, but will work and interact with multi-disciplinary engineering, teams.
WORKING CONDITIONS: �This role offers hybrid work environment. �Working conditions are generally comfortable typical of an office environment.The successful candidate must be able to work in Canada and obtain clearance under the Canadian Controlled Goods program (CGP)."