freehire launches on Product Hunt on 26 August.

Follow →

Python Test Architecture Engineer - IT Contracting

  • 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.



Praca hybrydowa - 3 dni w tygodniu z biura w KrakowieUmowa B2B via Michael Page
  • 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.
  • Praca hybrydowa - 3 dni w tygodniu z biura w Krakowie, 2 dni zdalnie
  • Umowa B2B via Michael Page
  • Współpraca długoterminowa

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available