Développeur, systèmes embarqués de streaming vidéo-Automne 2 023 (S-01-02)
Résumé du poste
Le groupe logiciel Matrox est composé d’équipes expérimentées chacune composée d’environ 5 concepteurs logiciels développant des produits dans les environnements Microsoft Windows et Linux. Nous cherchons une personne passionnée par la programmation logicielle, qui aime les défis ainsi que le travail en équipe. Nous intégrons les stagiaires dans nos équipes de développement; vous aurez donc l’opportunité d’apprendre à effectuer les mêmes tâches qu'un employé permanent. Le stage aura lieu soit complètement sur place, soit en mode hybride (50% sur place, 50% à distance). Il est souvent possible de prolonger le stage ou de revenir pour un stage subséquent.
Responsabilités
Le développement logiciel consiste à créer de nouvelles fonctionnalités à de nouveaux produits en développement ou apporter des améliorations et ajouter de nouvelles fonctions et caractéristiques à des produits existants toujours en évolution et peut inclure les tâches suivantes, selon votre expérience:
- Concevoir et développer les composantes logicielles (logique opérationnelle de systèmes embarqués, interface usager, utilitaires, pilotes de périphériques) tout en respectant les procédures et les standards de développement;
- Effectuer l’entretien du code en enquêtant les bugs, en étroite collaboration avec l’équipe d’assurance qualité et des rapports d’incidents provenant de clients d’un peu partout sur la planète;
- Développer des tests dans le but de vérifier le bon fonctionnement de votre code;
- Participer à la revue de code créé ou modifié par les membres de l’équipe;
- Documenter la conception et l’implantation de votre code.
- Former l’équipe d’assurance qualité à l’utilisation des nouvelles fonctionnalités que vous créez ou modifiez.
Exigences
- Étudiant au baccalauréat en génie logiciel, génie informatique, science informatique ou génie électrique;
- Cumuler un minimum de 30 crédits et avoir une moyenne générale supérieure à 2.9/4.3 ou 2.7/4.0;
- Être efficace dans au moins un des langages de programmation suivants : C++, C#, javascript, java;
- Sera considéré comme un atout :
- Être familier avec les outils de débogage associés aux langages cités plus haut;
- Toute familiarité avec un des environnements de développement suivants :
- MS-Windows (Visual Studio, VS Code)
- Linux (VS Code, GNU toolchain);
- Des connaissances dans les domaines suivants : systèmes embarqués, interface usager (Angular, WPF, GTK), protocoles réseaux de gestion des flux multimédias (ex. : RTP, RTSP), encodage/décodage audio/vidéo numérique, pilotes de périphériques sous Windows/Linux;
- Excellent sens de l’organisation, souci du détail, esprit d’équipe;
- Bonne communication, à l’oral et à l’écrit;
- Avoir soif d’apprendre!