Spécialiste en génie logiciel (C++) | Software Engineering Specialist (C++)
Pourquoi joindre les rangs de Grass Valley?
Grâce à sa technologie primée et à son expertise reconnue, Grass Valley permet aux créateurs, aux diffuseurs et aux organisations médiatiques de produire du contenu exceptionnel qui captive le public et connecte les gens par la magie des médias.
En tant que chef de file de la R&D de l’industrie, nous offrons la gamme la plus étendue et approfondie de solutions de pointe dans le secteur. Nous sommes le partenaire de confiance de nombreux grands noms créatifs du secteur des médias et du divertissement, car nous aidons nos clients à créer des entreprises médiatiques prospères et à s’adapter à l’évolution rapide du paysage médiatique.
Pour de plus informations, veuillez consulter notre site www.grassvalley.com.
L’opportunité
Chez Grass Valley, nous façonnons l'avenir du divertissement et de l'information en développant des technologies de pointe pour la création, la transmission et la distribution de contenu. Nous recherchons un ou une Spécialiste en génie logiciel (C++) talentueux (euse) et passionné(e) par la vidéo et l'audio de diffusion pour rejoindre notre équipe. Dans ce rôle, le ou la Spécialiste en génie logiciel (C++) serez à l'avant-garde de la conception, du développement et des tests de systèmes embarqués innovants qui alimentent la prochaine génération d'expériences de diffusion. Si vous êtes prêt à avoir un impact durable et à repousser les limites de la technologie dans l'industrie des médias, nous souhaitons vous avoir dans notre équipe !
Votre rôle
- Concevoir, développer, tester, déployer et maintenir des solutions logicielles embarquées, en garantissant un logiciel de haute qualité répondant aux exigences des clients ;
- Diriger la conception et le développement de composants et de fonctionnalités logicielles majeures, en guidant l'équipe d'ingénierie sur les approches techniques ;
- Planifier et participer à toutes les étapes du cycle de vie du développement logiciel, y compris la planification et l'estimation des tâches ;
- Appliquer les meilleures pratiques d'ingénierie logicielle, telles que les tests unitaires, les tests automatisés et les revues de code, afin de garantir des livrables de haute qualité ;
- Intégrer le code des autres équipes et collaborer de manière transversale pour assurer une intégration fluide du système ;
- Améliorer et maintenir les processus de construction des logiciels en utilisant des outils CI/CD comme Jenkins ;
- Développer des distributions Linux personnalisées avec des outils comme Buildroot et Yocto, et gérer le code source avec Git ;
- Dépanner et déboguer les problèmes système sur le matériel cible, en assurant des performances optimales ;
- Rester informé(e) des nouvelles tendances émergentes de l'industrie, en particulier dans les technologies de vidéo et d’audio en diffusion.
- Baccalauréat en génie logiciel, génie informatique, ou domaine connexe ;
- Minimum de cinq (5) ans d'expérience en développement C++ avec une forte concentration sur les systèmes Linux embarqués ;
- Expérience solide en programmation C++ pour les systèmes embarqués ;
- Expérience avérée en développement et débogage d'applications Linux ;
- Expérience en cross-compilation et en création de logiciels pour du matériel cible ;
- Compétent dans l'utilisation de débogueurs sur du matériel cible pour résoudre les problèmes ;
- Solide connaissance des scripts shell pour les tâches d'automatisation ;
- Expérience approfondie avec des systèmes de construction comme Buildroot et Yocto pour créer votre propre distribution ;
- Connaissance de la méthode de développement pilotée par les tests (TDD) ;
- Maîtrise de la gestion de code source avec Git ;
- Solide connaissance des bus de processeurs courants (PCI, PCIe) et des interfaces courantes (SPI, I2C, RS232) ;
- Maintenir une approche positive, collaborative et constructive lors des revues de code et des retours ;
- Maîtrise du français et de l’anglais à l’oral et à l’écrit.
- Une connaissance de l’anglais appropriée aux fonctions est nécessaire, car la personne titulaire doit travailler dans des équipes de recherche et développement interfonctionnelles situées dans différents pays tels que les États-Unis, le Royaume-Uni et la Pologne.
- Expérience avec les internals du noyau Linux et les pilotes de périphériques Linux, un atout ;
- Connaissance des protocoles vidéo tels que SMPTE ST2110, ST2022 et ST2059, un atout ;
- Familiarité avec les chargeurs de démarrage tels que u-boot, un atout ;
- Expérience avec des outils de gestion de projet comme Jira, Stash et Confluence, un atout.
Vos Conditions de Travail
- Une rémunération concurrentielle
- Un environnement de travail accueillant et dynamique
- Cette description de poste a pour but de décrire la nature générale et le niveau du travail qu’implique cet emploi. Il ne s’agit pas d’une liste exhaustive de toutes les responsabilités, tâches et compétences requises pour celui-ci.
- Grass Valley est un employeur qui adhère au principe de l’équité et prend ses décisions en matière d’emploi sans tenir compte du sexe, de l’état civil, de la race, de la religion, de la couleur, de l’âge, du handicap, de l’orientation sexuelle ou du statut de vétéran protégé.
Why Join Grass Valley?
With our award-winning technology and trusted expertise, Grass Valley enables and empowers creators, broadcasters and media organizations to produce brilliant content that captivates audiences and connects people through the magic of media.
As the industry’s R&D powerhouse, we offer the widest and deepest range of best-in-class solutions in the industry. We are the trusted partner to many of the biggest and most creative names in the media and entertainment business as we help our customers to build successful media businesses and navigate the rapidly shifting mediascape.
For more information, please visit www.grassvalley.com.
The Opportunity
At Grass Valley, we're shaping the future of entertainment and information by developing cutting-edge technology for content creation, transmission, and distribution. We're on the lookout for a talented Software Engineering Specialist (C++) with a passion for Broadcast Video and Audio to join our team. In this role, the Software Engineering Specialist (C++) will be at the forefront of designing, developing, and testing innovative embedded systems that power the next generation of broadcast experiences. If you're ready to make a lasting impact and push the boundaries of technology in the media industry, we want you on our team!
Your Role
- Design, develop, test, deploy, and maintain embedded software solutions, ensuring high-quality software that meets client requirements;
- Lead the design and development of major software components and features, guiding the engineering team on technical approaches;
- Plan and participate in all stages of the software development lifecycle, including scheduling and task estimation;
- Apply best software engineering practices, such as unit testing, automated testing, and code reviews, to ensure high-quality deliverables;
- Integrate code from other teams and collaborate cross-functionally to ensure seamless system integration;
- Improve and maintain software build processes using CI/CD tools like Jenkins;
- Develop custom Linux distributions with tools like Build root and Yocto and manage source code using Git;
- Troubleshoot and debug system issues on target hardware, ensuring optimal performance;
- Stay updated on emerging industry trends, particularly in broadcast video and audio technologies.
Who you are
- Bachelor’s degree in software engineering, computer engineering, computer science or related field;
- Minimum of five (5) years experience in C++ development with a strong focus on embedded Linux systems.
- Strong experience in C++ programming for embedded systems;
- Proven experience in Linux application development and debugging;
- Experience with cross-compiling and building software for target hardware;
- Proficient in running debuggers on target hardware to troubleshoot and resolve issues;
- Strong knowledge of shell scripting for automation tasks;
- Extensive experience with build systems like Build root and Yocto to "roll your own distribution";
- Familiarity with Test-Driven Development (TDD);
- Proficiency in source code management using Git;
- Strong knowledge of common processor buses (PCI, PCIe) and common interfaces (SPI, I2C, RS232);
- Maintain a positive, collaborative, and constructive approach to code reviews and feedback;
- Fluency in French and English, both oral and written.
- Knowledge of English appropriate to the duties is required, as the incumbent is expected to work in cross-functional research and development teams located in different countries such as the United States, the United Kingdom, and Poland.
- Experience with Linux kernel internals and Linux device drivers, an asset;
- Knowledge of video protocols such as SMPTE ST2110, ST2022, and ST2059, an asset;
- Familiarity with bootloaders such as u-boot, an asset;
- Experience with project management tools like Jira, Stash, and Confluence, an asset.
Working Conditions
- Competitive Compensation packages
- Energizing and supportive work environment
- This job description is intended to describe the general nature and level of work involved for this job. It is not an exhaustive list of all responsibilities, duties and skills required of this job.
- Grass Valley is an equal opportunity employer and makes employment decisions without regard to gender, marital status, race, religion, colour, age, disability, sexual orientation or protected veteran status.