← All jobs

EU remote

Python Test Architecture Engineer - IT Contracting

Michael PageInternational, Poland

About this role

Python Test Architecture Engineer - IT Contracting Michael Page Daily tasks: - 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. Musts: Python 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. 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. Branża: Technology & Telecoms Obszar: IT Systems & Testing Oferujemy Praca hybrydowa - 3 dni w tygodniu z biura w Krakowie, 2 dni zdalnie Umowa B2B via Michael Page Współpraca długoterminowa

Source listing: nofluffjobs_main