Emploi
De la source partenaire
Ingénieur de test du noyau Linux Ubuntu
Prix sur demande
Détails
- Type de contrat
- Temps plein
- À distance
- Oui
- Entreprise
- Canonical
- Niveau
- Senior
Description
Traduit automatiquement depuis English. Le texte original fait foi. Traduction automatique — une traduction plus précise est en préparation.
Ubuntu est la distribution Linux la plus utilisée au monde, fournissant des noyaux dans une vaste matrice de versions, d'architectures et de configurations – avec jusqu'à 15 ans d'engagements en matière de sécurité et de maintenance pour les versions LTS (Long Term Support). Garantir la qualité et la fiabilité de ces noyaux nécessite une approche dédiée et systématique des tests à grande échelle.
L'équipe Canonical Kernel recherche un ingénieur de test pour s'approprier notre stratégie et notre infrastructure de tests de noyau. Vous concevrez et maintiendrez des plans de test couvrant l’exactitude fonctionnelle, la stabilité, les performances et la sécurité. Vous créerez et ferez évoluer des cadres de tests automatisés - y compris les tests de résistance, le fuzzing, l'analyse de la couverture de code et la détection de régression - qui doivent non seulement rester efficaces sur de nombreuses versions de noyau prises en charge simultanément sur des années de maintenance, mais doivent également être capables d'évoluer avec la forte demande de noyaux Ubuntu (actuellement plus de 160 sous support actif).
Le candidat retenu apportera de solides compétences en Python, une familiarité avec les composants internes du noyau Linux et une expérience dans la création d'une infrastructure de test évolutive. Vous travaillerez en étroite collaboration avec les ingénieurs du noyau pour détecter rapidement les régressions, valider les correctifs et garantir que chaque noyau que nous livrons répond aux normes de fiabilité les plus élevées.
Emplacement : Ce rôle sera basé à distance dans la région APAC, à l'exception de Taipei, Taiwan et Pékin, Chine, qui sont des bureaux.
À quoi ressemblera votre journée
• Concevoir, développer et maintenir des plans de test complets couvrant l'exactitude fonctionnelle, la stabilité, les performances et la sécurité des noyaux Ubuntu Linux.
• Créer et améliorer une infrastructure de test automatisée pour une validation continue de la qualité du noyau sur plusieurs versions et architectures du noyau
• Maintenir des suites de tests à long terme qui évoluent parallèlement aux nombreuses versions du noyau Ubuntu prises en charge simultanément sur des années de maintenance.
• Développer et maintenir des pipelines CI/CD pour une validation continue de la qualité du noyau
• Effectuer une analyse comparative des performances et une détection de régression dans les versions du noyau
• Mesurer et améliorer la couverture du code du noyau, en identifiant les lacunes dans la couverture des tests et en créant des tests pour y remédier.
• Exécuter et analyser des tests de stress couvrant la planification du processeur, la gestion de la mémoire, les sous-systèmes d'E/S, la mise en réseau et les charges de travail du système de fichiers.
• Développer et maintenir des harnais de fuzzing pour découvrir les vulnérabilités du noyau et les problèmes de fiabilité à l'aide d'outils tels que syzkaller, Trinity ou des fuzzers personnalisés.
• Collaborer régulièrement et de manière proactive avec une équipe répartie à l'échelle mondiale
• Contribuer aux suites de tests et aux cadres de tests en amont
• Documenter les méthodologies de test, les résultats et les lacunes de couverture
Ce que nous recherchons chez vous
• Expérience significative en programmation en Python
• Expérience avec des frameworks de test tels que LTP, kselftest, xfstests, stress-ng, fio ou similaire
• Expérience dans la conception et l'exécution de tests au niveau du système : tests fonctionnels, de contrainte, de performance ou de régression.
• Familiarité avec les systèmes CI/CD (Jenkins, GitHub CI ou similaire)
• Expérience dans la maintenance de suites de tests sur de longues périodes, en s'adaptant à l'évolution des logiciels sur plusieurs versions prises en charge
• Familiarité avec Linux (Ubuntu ou Debian préféré mais non obligatoire), les composants internes et les sous-systèmes du noyau Linux.
• Expérience avec l'administration et l'automatisation des systèmes Linux
• Expérience solide avec git
• Bien organisé, autonome et capable de livrer selon des horaires fixes
• Anglais professionnel écrit et parlé avec d'excellentes compétences en communication
• Possibilité de voyager deux fois par an, pour des événements d'entreprise d'une durée maximale de deux semaines chacun.
Compétences supplémentaires que vous pourriez également apporter
• Familiarité avec les outils et techniques de fuzzing du noyau (par exemple syzkaller, Trinity, AFL ou harnais personnalisés)
• Expérience avec l'instrumentation de couverture de code (par exemple, gcov, kcov, couverture basée sur la source LLVM)
• Connaissance des outils de traçage et d'observabilité du noyau (par exemple ftrace, perf, bpftrace, eBPF)
• Familiarité avec les outils d'analyse statique (par exemple, sparse, smatch, Coccinelle) dans le cadre d'un flux de travail de test
• Expérience avec les frameworks d'injection de fautes (par exemple failslab, fail_make_request) pour les tests de fiabilité
• Expérience préalable avec une infrastructure de test à grande échelle (provisionnement, orchestration, agrégation des résultats)
• Expérience avec le packaging Ubuntu/Debian ou Snap
• Connaissance des technologies de virtualisation (KVM, QEMU) et des runtimes de conteneurs
• Expérience en infrastructure cloud (AWS, GCP, Azure ou OpenStack)
• Implication préalable dans des communautés ou des projets de tests open source
Ce que nous vous proposons
Votre salaire de base dépendra de divers facteurs, notamment votre situation géographique, votre niveau d'expérience, vos connaissances et vos compétences. En plus des avantages ci-dessus, certains postes sont également éligibles à des avantages et récompenses supplémentaires, notamment des primes annuelles et des incitations à la vente basées sur les revenus ou l'utilisation. Notre philosophie de rémunération est de garantir l’équité au sein de notre personnel mondial.
En plus d'un salaire de base compétitif, nous offrons à tous les membres de l'équipe des avantages supplémentaires qui reflètent nos valeurs et nos idéaux. Veuillez noter que des avantages supplémentaires peuvent s'appliquer en fonction du lieu de travail et, pour plus d'informations à ce sujet, vous pouvez demander lors des dernières étapes du processus de recrutement.
• Environnement de travail entièrement à distance : nous travaillons à distance depuis 2004 !
• Budget personnel d'apprentissage et de développement de 2 000 USD par an
• Revue annuelle des rémunérations
• Récompenses de reconnaissance
• Congé annuel
• Congé parental
• Programme d'aide aux employés
• Possibilité de voyager vers de nouveaux endroits pour rencontrer des collègues lors de « sprints »
• Priority Pass pour les voyages et les surclassements de voyage pour les événements d'entreprise long-courriers…
Source : Jobicy (https://jobicy.com/jobs/145995-ubuntu-linux-kernel-test-engineer)
L'équipe Canonical Kernel recherche un ingénieur de test pour s'approprier notre stratégie et notre infrastructure de tests de noyau. Vous concevrez et maintiendrez des plans de test couvrant l’exactitude fonctionnelle, la stabilité, les performances et la sécurité. Vous créerez et ferez évoluer des cadres de tests automatisés - y compris les tests de résistance, le fuzzing, l'analyse de la couverture de code et la détection de régression - qui doivent non seulement rester efficaces sur de nombreuses versions de noyau prises en charge simultanément sur des années de maintenance, mais doivent également être capables d'évoluer avec la forte demande de noyaux Ubuntu (actuellement plus de 160 sous support actif).
Le candidat retenu apportera de solides compétences en Python, une familiarité avec les composants internes du noyau Linux et une expérience dans la création d'une infrastructure de test évolutive. Vous travaillerez en étroite collaboration avec les ingénieurs du noyau pour détecter rapidement les régressions, valider les correctifs et garantir que chaque noyau que nous livrons répond aux normes de fiabilité les plus élevées.
Emplacement : Ce rôle sera basé à distance dans la région APAC, à l'exception de Taipei, Taiwan et Pékin, Chine, qui sont des bureaux.
À quoi ressemblera votre journée
• Concevoir, développer et maintenir des plans de test complets couvrant l'exactitude fonctionnelle, la stabilité, les performances et la sécurité des noyaux Ubuntu Linux.
• Créer et améliorer une infrastructure de test automatisée pour une validation continue de la qualité du noyau sur plusieurs versions et architectures du noyau
• Maintenir des suites de tests à long terme qui évoluent parallèlement aux nombreuses versions du noyau Ubuntu prises en charge simultanément sur des années de maintenance.
• Développer et maintenir des pipelines CI/CD pour une validation continue de la qualité du noyau
• Effectuer une analyse comparative des performances et une détection de régression dans les versions du noyau
• Mesurer et améliorer la couverture du code du noyau, en identifiant les lacunes dans la couverture des tests et en créant des tests pour y remédier.
• Exécuter et analyser des tests de stress couvrant la planification du processeur, la gestion de la mémoire, les sous-systèmes d'E/S, la mise en réseau et les charges de travail du système de fichiers.
• Développer et maintenir des harnais de fuzzing pour découvrir les vulnérabilités du noyau et les problèmes de fiabilité à l'aide d'outils tels que syzkaller, Trinity ou des fuzzers personnalisés.
• Collaborer régulièrement et de manière proactive avec une équipe répartie à l'échelle mondiale
• Contribuer aux suites de tests et aux cadres de tests en amont
• Documenter les méthodologies de test, les résultats et les lacunes de couverture
Ce que nous recherchons chez vous
• Expérience significative en programmation en Python
• Expérience avec des frameworks de test tels que LTP, kselftest, xfstests, stress-ng, fio ou similaire
• Expérience dans la conception et l'exécution de tests au niveau du système : tests fonctionnels, de contrainte, de performance ou de régression.
• Familiarité avec les systèmes CI/CD (Jenkins, GitHub CI ou similaire)
• Expérience dans la maintenance de suites de tests sur de longues périodes, en s'adaptant à l'évolution des logiciels sur plusieurs versions prises en charge
• Familiarité avec Linux (Ubuntu ou Debian préféré mais non obligatoire), les composants internes et les sous-systèmes du noyau Linux.
• Expérience avec l'administration et l'automatisation des systèmes Linux
• Expérience solide avec git
• Bien organisé, autonome et capable de livrer selon des horaires fixes
• Anglais professionnel écrit et parlé avec d'excellentes compétences en communication
• Possibilité de voyager deux fois par an, pour des événements d'entreprise d'une durée maximale de deux semaines chacun.
Compétences supplémentaires que vous pourriez également apporter
• Familiarité avec les outils et techniques de fuzzing du noyau (par exemple syzkaller, Trinity, AFL ou harnais personnalisés)
• Expérience avec l'instrumentation de couverture de code (par exemple, gcov, kcov, couverture basée sur la source LLVM)
• Connaissance des outils de traçage et d'observabilité du noyau (par exemple ftrace, perf, bpftrace, eBPF)
• Familiarité avec les outils d'analyse statique (par exemple, sparse, smatch, Coccinelle) dans le cadre d'un flux de travail de test
• Expérience avec les frameworks d'injection de fautes (par exemple failslab, fail_make_request) pour les tests de fiabilité
• Expérience préalable avec une infrastructure de test à grande échelle (provisionnement, orchestration, agrégation des résultats)
• Expérience avec le packaging Ubuntu/Debian ou Snap
• Connaissance des technologies de virtualisation (KVM, QEMU) et des runtimes de conteneurs
• Expérience en infrastructure cloud (AWS, GCP, Azure ou OpenStack)
• Implication préalable dans des communautés ou des projets de tests open source
Ce que nous vous proposons
Votre salaire de base dépendra de divers facteurs, notamment votre situation géographique, votre niveau d'expérience, vos connaissances et vos compétences. En plus des avantages ci-dessus, certains postes sont également éligibles à des avantages et récompenses supplémentaires, notamment des primes annuelles et des incitations à la vente basées sur les revenus ou l'utilisation. Notre philosophie de rémunération est de garantir l’équité au sein de notre personnel mondial.
En plus d'un salaire de base compétitif, nous offrons à tous les membres de l'équipe des avantages supplémentaires qui reflètent nos valeurs et nos idéaux. Veuillez noter que des avantages supplémentaires peuvent s'appliquer en fonction du lieu de travail et, pour plus d'informations à ce sujet, vous pouvez demander lors des dernières étapes du processus de recrutement.
• Environnement de travail entièrement à distance : nous travaillons à distance depuis 2004 !
• Budget personnel d'apprentissage et de développement de 2 000 USD par an
• Revue annuelle des rémunérations
• Récompenses de reconnaissance
• Congé annuel
• Congé parental
• Programme d'aide aux employés
• Possibilité de voyager vers de nouveaux endroits pour rencontrer des collègues lors de « sprints »
• Priority Pass pour les voyages et les surclassements de voyage pour les événements d'entreprise long-courriers…
Source : Jobicy (https://jobicy.com/jobs/145995-ubuntu-linux-kernel-test-engineer)
Cette annonce provient d'un flux partenaire. Postulez sur le site source.
Source: Canonical
Annonce fournie par Canonical.