Python Test Architecture Engineer - IT Contracting

Michael Page

Town of Poland (NY)

Hybrid

USD 47,482 - 84,412

Full time

14 days+

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Hybrid work 3 days/week in Krakow

Job summary

Michael Page poszukuje specjalisty Pythona do pracy w modelu hybrydowym w Krakowie, 3 dni w biurze, 2 dni zdalnie. Rola koncentruje się na projektowaniu bibliotek i frameworków dla środowisk emulacyjnych oraz zapewnianiu spójnych kontraktów między komponentami sprzętu.

Wymagane jest min. 5 lat doświadczenia w Pythonie, znajomość abc.ABCMeta, dataclasses i pytest, a także doświadczenie z testami kontraktowymi i projektowaniem interfejsów.

Qualifications

  • Minimum 5 years of commercial Python experience.
  • Doświadczenie w tworzeniu bibliotek, frameworków lub komponentów architektonicznych.
  • Bardzo dobra znajomość abc.ABCMeta i @abstractmethod.
  • Praktyczne doświadczenie w projektowaniu kontraktów i abstrakcyjnych interfejsów.
  • Bardzo dobra znajomość dataclasses, konfiguracji frozen=True, kw_only=True, __post_init__ i pracy z obiektami niemutowalnymi.
  • Doświadczenie w wielodziedziczeniu i kompozycji interfejsów.
  • Znajomość metaklas i MRO.
  • Znajomość enum.IntFlag i operacji bitowych.
  • Praktyczne użycie functools.cached_property i bezpieczeństwo wielowątkowe.
  • Doświadczenie w projektowaniu testów kontraktowych dla abstrakcyjnych interfejsów.
  • Bardzo dobra znajomość pytest.
  • Doświadczenie w testach jednostkowych i integracyjnych.
  • Gotowość do pracy w środowisku emulacji sprzętu.

Responsibilities

  • Projektowanie i rozwijanie abstrakcyjnych interfejsów kontraktów dla komponentów emulacji sprzętu i generatorów bodźców.
  • Tworzenie warstw abstrakcji wykorzystywanych przez wiele implementacji i rodzin produktów.
  • Projektowanie niemutowalnych modeli konfiguracji z walidacją reguł na etapie tworzenia obiektów.
  • Definiowanie architektonicznych wzorców wspierających framework testowy.
  • Łączenie interfejsów z wykorzystaniem wielodziedziczenia przy zachowaniu poprawnej struktury architektonicznej.

Skills

Python
ABCMeta
abstractmethod
Dataclasses
Frozen dataclasses
Multiple inheritance
MRO
pytest
Contract design
Documentation
Emulation hardware

Tools

Hypothesis

Job description

  • Praca hybrydowa - 3 dni w tygodniu z biura w Krakowie
  • Umowa B2B via Michael Page
O naszym kliencie

Klient z branży technologicznej (IT / elektronika użytkowa). Zespół odpowiedzialny za tę rekrutację tworzy i rozwija framework testowy wspierający różnorodne platformy sprzętowe oraz kolejne generacje produktów.

Stanowisko zostało utworzone z myślą o dalszym rozwoju wspólnych komponentów architektonicznych wykorzystywanych przez inżynierów testów i programistów pracujących przy środowiskach emulacyjnych oraz automatyzacji testów. Osoba zatrudniona na tym stanowisku będzie współtworzyć fundamenty techniczne, na których opiera się rozwój kolejnych narzędzi i implementacji.

Jest to propozycja dla specjalistów, którzy najlepiej odnajdują się w projektowaniu bibliotek, frameworków i wzorców architektonicznych, a nie wyłącznie w tworzeniu przypadków testowych. Rola daje możliwość realnego wpływu na jakość, skalowalność i spójność rozwiązań wykorzystywanych przez szersze grono inżynierów w organizacji.

Środowisko pracy obejmuje ścisłą współpracę z komponentami związanymi z emulacją sprzętu, obsługą sygnałów analogowych i cyfrowych oraz definiowaniem uniwersalnych kontraktów dla wielu implementacji sprzętowych.

Opis stanowiska
  • Projektowanie i rozwijanie abstrakcyjnych interfejsów definiujących kontrakty dla komponentów odpowiedzialnych za emulację sprzętu oraz generowanie bodźców testowych.
  • Tworzenie spójnych warstw abstrakcji wykorzystywanych przez wiele implementacji i rodzin produktów.
  • Projektowanie niemutowalnych modeli konfiguracji wraz z walidacją reguł biznesowych i technicznych już na etapie tworzenia obiektów.
  • Definiowanie rozszerzalnych wzorców architektonicznych wspierających rozwój frameworku testowego.
  • Łączenie interfejsów w oparciu o wielodziedziczenie przy zachowaniu poprawnej struktury architektonicznej, zgodności metaklas oraz jednoznacznego porządku rozwiązywania metod.
  • Projektowanie i implementacja mechanizmów opisujących możliwości sprzętu oraz cechy poszczególnych komponentów z wykorzystaniem flag i kompozycji funkcjonalności.
  • Opracowywanie logiki filtrowania i doboru implementacji na podstawie dostępnych funkcji oraz charakterystyk urządzeń.
  • Tworzenie współdzielonych testów kontraktowych weryfikujących zgodność wszystkich implementacji z wymaganiami interfejsów.
  • Rozwijanie testów jednostkowych, integracyjnych oraz opartych o podejście property-based testing.
  • Implementacja mechanizmów leniwego obliczania i buforowania kosztownych operacji związanych ze stanem sprzętu lub emulatorów.
  • Dokumentowanie kontraktów programistycznych, zachowań interfejsów oraz zasad związanych z cache'owaniem i bezpieczeństwem wielowątkowym.
  • Współpraca z zespołem odpowiedzialnym za rozwój środowiska testowego dla systemów embedded.
Profil kandydata
  • Minimum 5 lat doświadczenia komercyjnego w programowaniu w Pythonie.
  • Doświadczenie w tworzeniu bibliotek, frameworków lub komponentów architektonicznych wykorzystywanych przez innych programistów.
  • Bardzo dobra znajomość mechanizmów opartych na abc.ABCMeta oraz @abstractmethod.
  • Praktyczne doświadczenie w projektowaniu kontraktów i abstrakcyjnych interfejsów.
  • Bardzo dobra znajomość dataclasses, w szczególności konfiguracji frozen=True, kw_only=True, walidacji w __post_init__ oraz bezpiecznej pracy z obiektami niemutowalnymi.
  • Doświadczenie w projektowaniu rozwiązań wykorzystujących wielodziedziczenie oraz kompozycję interfejsów.
  • Dobra znajomość zagadnień związanych z metaklasami i mechanizmem C3 linearization (MRO).
  • Praktyczne wykorzystanie enum.IntFlag i operacji bitowych do modelowania funkcjonalności oraz możliwości systemu.
  • Znajomość functools.cached_property, jego ograniczeń związanych z bezpieczeństwem wielowątkowym oraz interakcji z niemutowalnymi obiektami.
  • Doświadczenie w projektowaniu testów kontraktowych dla interfejsów abstrakcyjnych.
  • Bardzo dobra znajomość pytest.
  • Doświadczenie w pracy z testami jednostkowymi oraz integracyjnymi.
  • Gotowość do pracy w środowisku związanym z emulacją sprzętu oraz systemami hardware-adjacent.
  • Umiejętność tworzenia czytelnej dokumentacji technicznej i skutecznej komunikacji pisemnej.
Mile widziane
  • Doświadczenie związane z testowaniem urządzeń HID.
  • Znajomość systemów hardware-in-the-loop.
  • Doświadczenie z urządzeniami wykorzystującymi DAC/ADC oraz układami analogowymi.
  • Praktyczna znajomość hypothesis i metodologii property-based testing.
  • Doświadczenie w obszarze mutation testing.
  • Wiedza z zakresu systemów embedded lub środowisk firmware.
Oferujemy
  • Praca hybrydowa - 3 dni w tygodniu z biura w Krakowie, 2 dni zdalnie
  • Umowa B2B via Michael Page
  • Współpraca długoterminowa
Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

[OGŁOSZENIE TESTOWE] Senior QA Automation Engineer (Test-Automation)
[OGŁOSZENIE TESTOWE] Senior QA Automation Engineer (Test-Automation)

zdalna Praca • Town of Poland (NY)

Hybrid
Elastyczny tryb pracy
Sprzęt wysokiej klasy
Budżet szkoleniowy
+4
Tester manualny / Testerka Manualna (obszar płatności)
Tester manualny / Testerka Manualna (obszar płatności)

ASTEK Polska • Town of Poland (NY)

Hybrid
Senior Python Test Architect - Hybrid (Kraków)
Senior Python Test Architect - Hybrid (Kraków)

Michael Page • Town of Poland (NY)

Hybrid
USD 47,000 - 85,000
Hybrid work 3 days/week in Krakow
Fullstack Python Developer
Fullstack Python Developer

MARGO • Warsaw (IN)

Hybrid
USD 47,000 - 64,000
Manual QA Engineer
Manual QA Engineer

ITLT • Town of Poland (NY)

On-site
USD 16,000 - 21,000
opieka medyczna
dowiedziona karta MultiSport
ubezpieczenia
Automation Tester/QA room Katowice
Automation Tester/QA room Katowice

Scalosoft • Town of Poland (NY)

Hybrid
Pełna opieka medyczna
Karta MultiSport
Program poleceń
+1
Manual Tester (K/M)
Manual Tester (K/M)

Neontri • Town of Poland (NY)

Hybrid
USD 33,000 - 37,000
Automation Tester (f/m)
Automation Tester (f/m)

NATEK • Town of Poland (NY)

On-site
USD 90,000 - 120,000
Program Mobilności Wewnętrznej
Program Poleceń – bonus
Karta Multisport
+5
Senior Test Automation Engineer
Senior Test Automation Engineer

HeadHR • Town of Poland (NY)

Hybrid
Karta sportowa
Prywatna opieka zdrowotna
QA Automation Tester (Java) room
QA Automation Tester (Java) room

Scalosoft • Town of Poland (NY)

Remote
USD 28,000 - 46,000
Stawka 125 PLN/h + VAT