Praca
Z kanału partnera
Inżynier testów jądra systemu Linux Ubuntu
Cena na życzenie
Szczegóły
- Typ zatrudnienia
- Pełny etat
- Zdalnie
- Tak
- Firma
- Canonical
- Poziom
- Senior
Opis
Automatyczne tłumaczenie z języka English. Oryginał jest wiążący. Tłumaczenie maszynowe — trwają prace nad dokładniejszą wersją.
Ubuntu to najpowszechniej używana dystrybucja Linuksa na świecie, dostarczająca jądra w szerokiej gamie wersji, architektur i konfiguracji – z nawet 15-letnimi zobowiązaniami dotyczącymi bezpieczeństwa i konserwacji w przypadku wersji Long Term Support (LTS). Zapewnienie jakości i niezawodności tych jąder wymaga dedykowanego, systematycznego podejścia do testowania na dużą skalę.
Zespół Canonical Kernel Team poszukuje inżyniera testowego, który przejmie odpowiedzialność za naszą strategię i infrastrukturę testowania jądra. Będziesz projektować i utrzymywać plany testów obejmujące poprawność funkcjonalną, stabilność, wydajność i bezpieczeństwo. Będziesz budować i rozwijać zautomatyzowane platformy testowe – obejmujące testowanie warunków skrajnych, fuzzing, analizę pokrycia kodu i wykrywanie regresji – które nie tylko muszą pozostać skuteczne w wielu współbieżnie obsługiwanych wersjach jądra przez lata konserwacji, ale muszą być w stanie skalować się wraz z dużym zapotrzebowaniem na jądra Ubuntu (obecnie ponad 160 objętych aktywnym wsparciem).
Wybrany kandydat będzie posiadać duże umiejętności w zakresie Pythona, znajomość wewnętrznych elementów jądra Linuksa i doświadczenie w budowaniu skalowalnej infrastruktury testowej. Będziesz ściśle współpracować z inżynierami jądra, aby wcześnie wykryć regresje, zweryfikować poprawki i upewnić się, że każde dostarczane przez nas jądro spełnia najwyższe standardy niezawodności.
Lokalizacja: stanowisko to będzie zlokalizowane zdalnie w regionie APAC, z wyjątkiem Tajpej na Tajwanie i Pekinu w Chinach, gdzie znajdują się biura.
Jak będzie wyglądał Twój dzień
• Projektuj, opracowuj i utrzymuj kompleksowe plany testów obejmujące poprawność funkcjonalną, stabilność, wydajność i bezpieczeństwo jąder Ubuntu Linux
• Buduj i ulepszaj zautomatyzowaną infrastrukturę testową w celu ciągłej weryfikacji jakości jądra w wielu wersjach jądra i architekturach
• Utrzymuj trwałe zestawy testów, które ewoluują wraz z wieloma jednocześnie obsługiwanymi wersjami jądra Ubuntu przez lata konserwacji
• Opracowywanie i utrzymywanie potoków CI/CD w celu ciągłej walidacji jakości jądra
• Przeprowadź testy porównawcze wydajności i wykrywanie regresji w różnych wersjach jądra
• Mierz i ulepszaj pokrycie kodu jądra, identyfikując luki w pokryciu testami i tworząc testy, aby je wyeliminować
• Wykonywanie i analizowanie testów obciążeniowych obejmujących planowanie procesora, zarządzanie pamięcią, podsystemy we/wy, obciążenie sieci i systemu plików
• Opracowywanie i utrzymywanie wiązek fuzzingowych w celu wykrywania luk w jądrze i problemów z niezawodnością przy użyciu narzędzi takich jak syzkaller, Trinity lub niestandardowe fuzzery
• Regularna i proaktywna współpraca z zespołem rozproszonym na całym świecie
• Wkład w tworzenie zewnętrznych zestawów testów i platform testowych
• Dokumentuj metodologie testów, wyniki i luki w zakresie pokrycia
Czego w Tobie szukamy
• Znaczące doświadczenie w programowaniu w Pythonie
• Doświadczenie ze frameworkami testowymi, takimi jak LTP, kselftest, xfstests, stress-ng, fio lub podobnymi
• Doświadczenie w projektowaniu i wykonywaniu testów na poziomie systemu: testów funkcjonalnych, obciążeniowych, wydajnościowych lub regresyjnych
• Znajomość systemów CI/CD (Jenkins, GitHub CI lub podobnych)
• Doświadczenie w utrzymywaniu zestawów testów przez długi czas, dostosowując się do ewoluującego oprogramowania w wielu obsługiwanych wersjach
• Znajomość Linuksa (preferowane Ubuntu lub Debian, ale nie wymagane), wewnętrznych elementów jądra Linuksa i podsystemów
• Doświadczenie w administracji i automatyzacji systemów Linux
• Solidne tło z git
• Dobrze zorganizowana, samoczynna i zdolna do realizacji dostaw według ustalonych harmonogramów
• Profesjonalny język angielski w mowie i piśmie oraz doskonałe umiejętności komunikacyjne
• Możliwość wyjazdów dwa razy w roku na imprezy firmowe trwające do dwóch tygodni każde
Dodatkowe umiejętności, które możesz również przynieść
• Znajomość narzędzi i technik fuzzowania jądra (np. syzkaller, Trinity, AFL lub niestandardowe uprzęże)
• Doświadczenie w zakresie instrumentów pokrycia kodu (np. pokrycie oparte na źródłach gcov, kcov, LLVM)
• Znajomość narzędzi do śledzenia jądra i obserwowalności (np. ftrace, perf, bpftrace, eBPF)
• Znajomość narzędzi do analizy statycznej (np. sparse, smatch, Coccinelle) w ramach przepływu pracy testowej
• Doświadczenie ze frameworkami wstrzykiwania błędów (np. Failslab, Fail_make_request) do testowania niezawodności
• Wcześniejsze doświadczenie z infrastrukturą testową na dużą skalę (zaopatrywanie, orkiestracja, agregacja wyników)
• Doświadczenie z pakietami Ubuntu/Debian lub Snap
• Znajomość technologii wirtualizacji (KVM, QEMU) i środowisk wykonawczych kontenerów
• Doświadczenie w infrastrukturze chmurowej (AWS, GCP, Azure lub OpenStack)
• Wcześniejsze zaangażowanie w społeczności lub projekty testujące oprogramowanie open source
Co Ci oferujemy
Twoje wynagrodzenie podstawowe będzie zależeć od różnych czynników, w tym od położenia geograficznego, poziomu doświadczenia, wiedzy i umiejętności. Oprócz powyższych korzyści, niektóre stanowiska kwalifikują się również do dodatkowych korzyści i nagród, w tym rocznych premii i zachęt sprzedażowych opartych na przychodach lub wykorzystaniu. Nasza filozofia wynagrodzeń polega na zapewnieniu równości wszystkim pracownikom na całym świecie.
Oprócz konkurencyjnego wynagrodzenia podstawowego zapewniamy wszystkim członkom zespołu dodatkowe świadczenia, które odzwierciedlają nasze wartości i ideały. Pamiętaj, że w zależności od miejsca pracy mogą obowiązywać dodatkowe świadczenia, o więcej informacji na ich temat możesz zapytać na późniejszych etapach procesu rekrutacji.
• W pełni zdalne środowisko pracy – pracujemy zdalnie od 2004 roku!
• Budżet na naukę i rozwój osobisty w wysokości 2000 USD rocznie
• Coroczny przegląd wynagrodzeń
• Nagrody uznania
• Coroczny urlop wypoczynkowy
• Urlop rodzicielski
• Program Pomocy Pracownikom
• Możliwość podróżowania do nowych lokalizacji, aby spotkać się z kolegami na „sprintach”
• Priority Pass na podróże i podwyżki w przypadku imprez firmowych na trasach długodystansowych…
Źródło: Jobicy (https://jobicy.com/jobs/145995-ubuntu-linux-kernel-test-engineer)
Zespół Canonical Kernel Team poszukuje inżyniera testowego, który przejmie odpowiedzialność za naszą strategię i infrastrukturę testowania jądra. Będziesz projektować i utrzymywać plany testów obejmujące poprawność funkcjonalną, stabilność, wydajność i bezpieczeństwo. Będziesz budować i rozwijać zautomatyzowane platformy testowe – obejmujące testowanie warunków skrajnych, fuzzing, analizę pokrycia kodu i wykrywanie regresji – które nie tylko muszą pozostać skuteczne w wielu współbieżnie obsługiwanych wersjach jądra przez lata konserwacji, ale muszą być w stanie skalować się wraz z dużym zapotrzebowaniem na jądra Ubuntu (obecnie ponad 160 objętych aktywnym wsparciem).
Wybrany kandydat będzie posiadać duże umiejętności w zakresie Pythona, znajomość wewnętrznych elementów jądra Linuksa i doświadczenie w budowaniu skalowalnej infrastruktury testowej. Będziesz ściśle współpracować z inżynierami jądra, aby wcześnie wykryć regresje, zweryfikować poprawki i upewnić się, że każde dostarczane przez nas jądro spełnia najwyższe standardy niezawodności.
Lokalizacja: stanowisko to będzie zlokalizowane zdalnie w regionie APAC, z wyjątkiem Tajpej na Tajwanie i Pekinu w Chinach, gdzie znajdują się biura.
Jak będzie wyglądał Twój dzień
• Projektuj, opracowuj i utrzymuj kompleksowe plany testów obejmujące poprawność funkcjonalną, stabilność, wydajność i bezpieczeństwo jąder Ubuntu Linux
• Buduj i ulepszaj zautomatyzowaną infrastrukturę testową w celu ciągłej weryfikacji jakości jądra w wielu wersjach jądra i architekturach
• Utrzymuj trwałe zestawy testów, które ewoluują wraz z wieloma jednocześnie obsługiwanymi wersjami jądra Ubuntu przez lata konserwacji
• Opracowywanie i utrzymywanie potoków CI/CD w celu ciągłej walidacji jakości jądra
• Przeprowadź testy porównawcze wydajności i wykrywanie regresji w różnych wersjach jądra
• Mierz i ulepszaj pokrycie kodu jądra, identyfikując luki w pokryciu testami i tworząc testy, aby je wyeliminować
• Wykonywanie i analizowanie testów obciążeniowych obejmujących planowanie procesora, zarządzanie pamięcią, podsystemy we/wy, obciążenie sieci i systemu plików
• Opracowywanie i utrzymywanie wiązek fuzzingowych w celu wykrywania luk w jądrze i problemów z niezawodnością przy użyciu narzędzi takich jak syzkaller, Trinity lub niestandardowe fuzzery
• Regularna i proaktywna współpraca z zespołem rozproszonym na całym świecie
• Wkład w tworzenie zewnętrznych zestawów testów i platform testowych
• Dokumentuj metodologie testów, wyniki i luki w zakresie pokrycia
Czego w Tobie szukamy
• Znaczące doświadczenie w programowaniu w Pythonie
• Doświadczenie ze frameworkami testowymi, takimi jak LTP, kselftest, xfstests, stress-ng, fio lub podobnymi
• Doświadczenie w projektowaniu i wykonywaniu testów na poziomie systemu: testów funkcjonalnych, obciążeniowych, wydajnościowych lub regresyjnych
• Znajomość systemów CI/CD (Jenkins, GitHub CI lub podobnych)
• Doświadczenie w utrzymywaniu zestawów testów przez długi czas, dostosowując się do ewoluującego oprogramowania w wielu obsługiwanych wersjach
• Znajomość Linuksa (preferowane Ubuntu lub Debian, ale nie wymagane), wewnętrznych elementów jądra Linuksa i podsystemów
• Doświadczenie w administracji i automatyzacji systemów Linux
• Solidne tło z git
• Dobrze zorganizowana, samoczynna i zdolna do realizacji dostaw według ustalonych harmonogramów
• Profesjonalny język angielski w mowie i piśmie oraz doskonałe umiejętności komunikacyjne
• Możliwość wyjazdów dwa razy w roku na imprezy firmowe trwające do dwóch tygodni każde
Dodatkowe umiejętności, które możesz również przynieść
• Znajomość narzędzi i technik fuzzowania jądra (np. syzkaller, Trinity, AFL lub niestandardowe uprzęże)
• Doświadczenie w zakresie instrumentów pokrycia kodu (np. pokrycie oparte na źródłach gcov, kcov, LLVM)
• Znajomość narzędzi do śledzenia jądra i obserwowalności (np. ftrace, perf, bpftrace, eBPF)
• Znajomość narzędzi do analizy statycznej (np. sparse, smatch, Coccinelle) w ramach przepływu pracy testowej
• Doświadczenie ze frameworkami wstrzykiwania błędów (np. Failslab, Fail_make_request) do testowania niezawodności
• Wcześniejsze doświadczenie z infrastrukturą testową na dużą skalę (zaopatrywanie, orkiestracja, agregacja wyników)
• Doświadczenie z pakietami Ubuntu/Debian lub Snap
• Znajomość technologii wirtualizacji (KVM, QEMU) i środowisk wykonawczych kontenerów
• Doświadczenie w infrastrukturze chmurowej (AWS, GCP, Azure lub OpenStack)
• Wcześniejsze zaangażowanie w społeczności lub projekty testujące oprogramowanie open source
Co Ci oferujemy
Twoje wynagrodzenie podstawowe będzie zależeć od różnych czynników, w tym od położenia geograficznego, poziomu doświadczenia, wiedzy i umiejętności. Oprócz powyższych korzyści, niektóre stanowiska kwalifikują się również do dodatkowych korzyści i nagród, w tym rocznych premii i zachęt sprzedażowych opartych na przychodach lub wykorzystaniu. Nasza filozofia wynagrodzeń polega na zapewnieniu równości wszystkim pracownikom na całym świecie.
Oprócz konkurencyjnego wynagrodzenia podstawowego zapewniamy wszystkim członkom zespołu dodatkowe świadczenia, które odzwierciedlają nasze wartości i ideały. Pamiętaj, że w zależności od miejsca pracy mogą obowiązywać dodatkowe świadczenia, o więcej informacji na ich temat możesz zapytać na późniejszych etapach procesu rekrutacji.
• W pełni zdalne środowisko pracy – pracujemy zdalnie od 2004 roku!
• Budżet na naukę i rozwój osobisty w wysokości 2000 USD rocznie
• Coroczny przegląd wynagrodzeń
• Nagrody uznania
• Coroczny urlop wypoczynkowy
• Urlop rodzicielski
• Program Pomocy Pracownikom
• Możliwość podróżowania do nowych lokalizacji, aby spotkać się z kolegami na „sprintach”
• Priority Pass na podróże i podwyżki w przypadku imprez firmowych na trasach długodystansowych…
Źródło: Jobicy (https://jobicy.com/jobs/145995-ubuntu-linux-kernel-test-engineer)
To ogłoszenie pochodzi z feedu partnera. Aplikuj na stronie źródłowej.
Źródło: Canonical
Ogłoszenie pochodzi od Canonical.