Concepteur logiciel embarqué - traitement de paquets / Embedded Software Developer - Packet Processing
Syntronic
- Montreal, QC
- Permanent
- Full-time
- Collaborer avec des ingénieurs expérimentés dans la conception, le codage, les tests et la maintenance d'applications logicielles.
- Développer et maintenir des modules logiciels embarqués à l'aide de langages de programmation comme C++ et Python.
- Aider à la mise en œuvre de solutions de mise en réseau, en assurant une communication transparente entre les composants logiciels.
- Contribuer au développement d'outils logiciels, de bibliothèques et de cadres pour améliorer la qualité et l'efficacité globales des produits.
- Participer aux révisions de code, en fournissant des commentaires constructifs pour améliorer la qualité du code et le respect des normes de codage.
- Collaborer avec l'équipe pour dépanner et résoudre les défauts logiciels et les problèmes techniques.
- Prend en charge l'intégration de composants logiciels sur les systèmes d'exploitation Linux.
- Aider aux tests et à la validation des fonctionnalités du logiciel, en garantissant que la fonctionnalité et les performances répondent aux exigences spécifiées.
- Utilisez les technologies cloud pour améliorer le déploiement et la gestion des logiciels.
- Collaborer avec des équipes interfonctionnelles, y compris les chefs de produits et les concepteurs, pour comprendre les exigences et contribuer aux discussions techniques.
- Maintenir une documentation claire et organisée des conceptions logicielles, des processus et des tâches de développement.
- Diriger la conception, le développement et la mise en œuvre de systèmes logiciels avancés pour le segment terrestre des satellites, garantissant des performances, une évolutivité et une fiabilité élevées.
- 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.
- Lead the design, development, and implementation of advanced satellite ground segment software systems, ensuring high performance, scalability, and reliability.
- Baccalauréat ou maîtrise en informatique, en génie électrique ou dans un domaine connexe.
- Plus de 10 ans d'expérience dans le développement de logiciels, axés sur les systèmes embarqués.
- Expérience en télécommunications et/ou communications par satellite
- Connaissance et expérience pratique de l'utilisation du C++ moderne (standard v20 et versions ultérieures) et du STL.
- Compréhension de base des concepts et des protocoles de mise en réseau.
- Maîtrise de l'utilisation du système d'exploitation Linux.
- Solides compétences analytiques et de résolution de problèmes.
- Souci du détail et engagement à produire des logiciels de haute qualité.
- Capacité à concevoir des logiciels en tenant compte des contraintes de ressources matérielles.
- Le candidat retenu doit être capable de travailler au Canada et d'obtenir une accréditation de sécurité dans le cadre du programme canadien des marchandises contrôlées (CGP).
- Bachelor's or master's degree in computer science, Electrical Engineering, or a related field.
- 10+ years experience in software development, focusing on embedded systems.
- Experience in telecom and/or satellite communications
- Knowledge and practical experience using modern C++ (standard v20 and later) and STL.
- Basic understanding of networking concepts and protocols.
- Proficiency in using the Linux operating system.
- Strong analytical and problem-solving skills.
- Detail-oriented with a commitment to producing high-quality software.
- Ability to design software with consideration for hardware resource constraints.
- The successful candidate must be able to work in Canada and obtain clearance under the Canadian Controlled Goods program (CGP).
- Familiarité avec les technologies cloud
- Expérience dans la conception d'applications multithread et multiprocessus complexes.
- Connaissance approfondie des frameworks de traitement de paquets (DPDK)
- Expérience dans la mise en œuvre et l'intégration de protocoles réseau.
- Bonne maîtrise des protocoles L2 MPLS et Ethernet.
- Familiarité avec les protocoles SR-MPLS, MEF, SDN.
- Expérience de travail avec l'architecture ARM.
- Excellente contribution au travail d'équipe
- Sens élevé de l'organisation, de l'auto-suffisance, avec une mentalité d'équipe
- Excellentes aptitudes de communication orale et écrite, dont la capacité à produire de la documentation claire pour les collègues et les clients.
- Excellents talents analytiques et aptitudes de solution de problèmes
- De l'entregent, une prédisposition et un désir à la collaboration amicale et respectueuse avec autrui
- Cloud technology familiarity
- Experience designing complex multithreaded, multiprocess applications.
- Expert knowledge of packet processing frameworks (i.e. DPDK)
- Experience implementing and integrating network protocols.
- Good handle on L2 MPLS and Ethernet protocols.
- Familiarity with SR-MPLS, MEF protocols, SDN.
- Experience working with ARM architecture.
- Great team player
- Organized, goal-oriented, self-starter, with a team focused mentality
- Excellent communication skills
- Outstanding analytical skills and problem-solving ability
- Excellent written and oral communication skills with the ability to produce clear documentation for both colleagues and customer
- A friendly willingness to collaborate and play nice with others