Real-Time Developer in Gdańsk

Real-Time Developer in Gdańsk

Gdańsk Pełny etat 135000 - 165000 zł / rok (szac.) Stacjonarnie
L

W skrócie

  • Zadania: Twórz i wdrażaj zaawansowane rozwiązania do monitorowania wydajności w systemach Windows.
  • Firma: AMD - lider w technologii zabezpieczeń sprzętowych.
  • Benefity: Atrakcyjne wynagrodzenie, możliwość pracy zdalnej i rozwój zawodowy.
  • Pozostałe informacje: Możliwość rozwoju kariery w ekscytującym obszarze bezpieczeństwa IT.
  • Dlaczego ta praca: Pracuj nad innowacyjnymi projektami w dynamicznym środowisku technologicznym.
  • Kwalifikacje: Doświadczenie w programowaniu systemowym oraz umiejętności współpracy w zespole.

Przewidywane wynagrodzenie mieści się w przedziale 135000 - 165000 zł za rok.

AMD buduje platformę zabezpieczeń wspomaganą sprzętowo, która wykorzystuje liczniki monitorowania wydajności (PMC) na poziomie krzemu oraz uczenie maszynowe na chipie do wykrywania zaawansowanych zagrożeń końcowych, w tym ransomware, złośliwego oprogramowania bezplikowego i cryptojacking, na poziomie procesora, poniżej poziomu OS. Platforma zbiera telemetrię behawioralną CPU, klasyfikuje ją za pomocą silnika wnioskowania ML i udostępnia sygnały zagrożenia partnerom oprogramowania zabezpieczającego poprzez ustandaryzowane API. Projekt obejmuje pełną ścieżkę inżynieryjną od telemetrii krzemu i generacji danych przez szkolenie i walidację ML, wnioskowanie w czasie rzeczywistym, kwalifikację laboratoryjną i integrację z partnerami.

Programista czasu rzeczywistego będzie prowadzić strumień pracy związany z uruchamianiem i integracją, w tym niskolatencyjny pipeline danych Windows, integrację z czasem wnioskowania ML oraz rozwój warstwy SDK/API używanej przez partnerów oprogramowania zabezpieczającego. Jest to rola skoncentrowana na systemie Windows, wymagająca regularnej pracy na miejscu w Gdańsku. Dodatkowe szczegóły dotyczące wdrożenia zostaną przekazane podczas procesu rekrutacji zgodnie z obowiązującymi wymaganiami poufności.

Obowiązki:

  • Projektowanie i wdrażanie wysokoprzepustowych, niskolatencyjnych pipeline'ów danych, które przesyłają telemetrię CPU z komponentu w trybie jądra Windows do użytkowego czasu wnioskowania ML.
  • Rozwój niezawodnych mechanizmów komunikacyjnych między komponentami w trybie jądra Windows a komponentami w przestrzeni użytkownika.
  • Rozwój i utrzymanie warstwy integracji wnioskowania w czasie rzeczywistym, w tym ładowanie modeli, przygotowanie wejść, wykonanie wnioskowania, obsługę wyników i odzyskiwanie błędów.
  • Integracja produkcyjnych czasów wnioskowania ML, takich jak ONNX Runtime, OpenVINO lub równoważne technologie.
  • Projektowanie i wdrażanie stabilnej warstwy SDK/API do dostarczania zatwierdzonych sygnałów zagrożenia partnerom oprogramowania zabezpieczającego.
  • Wsparcie cyklu życia API, takie jak rejestracja konsumentów, zgodność, wersjonowanie, obsługa błędów i dokumentacja integracji.
  • Implementacja dokładnej atrybucji telemetrycznej i wyników wnioskowania na poziomie procesu i wątku.
  • Profilowanie i optymalizacja przepustowości pipeline'u, latencji, użycia pamięci, synchronizacji i obciążenia CPU.
  • Projektowanie dla współbieżności i przewidywalnej wydajności przy użyciu odpowiednich mechanizmów, takich jak pamięć dzielona, bufory pierścieniowe, kolejki bezblokujące, przetwarzanie asynchroniczne lub równoważne techniki.
  • Rozwój testów jednostkowych, integracyjnych, regresyjnych, obciążeniowych i stresowych dla pipeline'u czasu rzeczywistego i warstwy integracji z partnerami.
  • Wsparcie weryfikacji sprzętu w pętli na odpowiednich platformach Windows i konfiguracjach systemowych.
  • Współpraca z inżynierami laboratorium i ML w celu odtworzenia przechwyconej telemetrii, walidacji integracji modelu i badania zachowania end-to-end.
  • Diagnozowanie i rozwiązywanie problemów w komponentach w trybie jądra, usługach w przestrzeni użytkownika, czasach wnioskowania i interfejsach skierowanych do partnerów.
  • Dokumentowanie architektury runtime, protokołów komunikacyjnych, specyfikacji API, charakterystyk wydajności, procedur integracyjnych i znanych ograniczeń.
  • Regularna praca na miejscu w Gdańsku i bliska współpraca z środowiskiem walidacji sprzętu.

Wymagane umiejętności:

  • 4+ lata doświadczenia zawodowego w programowaniu systemowym w języku C lub C++. Doświadczenie w Rust również jest istotne, gdy jest wspierane przez silne doświadczenie w systemach niskiego poziomu.
  • Praktyczne doświadczenie z koncepcjami programowania jądra Windows i mechanizmami komunikacji między sterownikami a przestrzenią użytkownika.
  • Doświadczenie w rozwijaniu, integrowaniu, debugowaniu lub walidacji sterowników w trybie jądra Windows lub ściśle powiązanych komponentów Windows niskiego poziomu.
  • Doświadczenie w budowaniu oprogramowania czasu rzeczywistego, bliskiego rzeczywistości, o wysokiej przepustowości lub niskiej latencji.
  • Praktyczna wiedza na temat jednego lub więcej mechanizmów komunikacji o wysokiej wydajności lub współbieżności, takich jak pamięć dzielona, pamięć mapowana I/O, bufory pierścieniowe, kolejki bezblokujące, asynchroniczne I/O lub wielowątkowe pipeline'y.
  • Silne zrozumienie współbieżności, synchronizacji, zarządzania pamięcią, zachowania procesów i wątków oraz projektowania oprogramowania wrażliwego na wydajność.
  • Silne umiejętności debugowania i profilowania w komponentach Windows w trybie jądra i przestrzeni użytkownika.
  • Doświadczenie w rozwijaniu niezawodnego oprogramowania produkcyjnego z wyraźnym zarządzaniem błędami, diagnostyką, testowaniem i łatwością konserwacji.
  • Doświadczenie w rozwijaniu testów jednostkowych, integracyjnych, regresyjnych, obciążeniowych lub stresowych dla oprogramowania systemowego.
  • Umiejętność analizy i redukcji latencji, obciążenia CPU, użycia pamięci, kontencji i innych wąskich gardeł wydajności w czasie działania.
  • Umiejętność pracy z dokumentacją techniczną i dokumentowania architektury, interfejsów, protokołów i procedur integracyjnych.
  • Umiejętność regularnej pracy na miejscu w Gdańsku.
  • Wykształcenie wyższe w dziedzinie informatyki, inżynierii elektrycznej, inżynierii komputerowej lub pokrewnej dziedziny.

Umiejętności dodatkowe:

  • Doświadczenie w integrowaniu czasów wnioskowania ML, takich jak ONNX Runtime, OpenVINO, TensorRT, DirectML lub równoważne technologie.
  • Doświadczenie w rozwijaniu SDK, bibliotek lub API używanych przez zewnętrznych partnerów lub wielu niezależnych konsumentów.
  • Doświadczenie z wersjonowaniem API, zgodnością wsteczną, projektowaniem schematów, zarządzaniem subskrybentami lub wsparciem integracji z partnerami.
  • Znajomość monitorowania wydajności sprzętu x86-64, telemetrii CPU, PMC, PMU, śledzenia systemu lub profilowania procesora.
  • Doświadczenie z ramami sterowników Windows, zestawem narzędzi Windows Driver Kit, WinDbg, śledzeniem ETW/ETL, KMDF, UMDF, IOCTL lub pokrewnymi technologiami Windows.
  • Doświadczenie z testowaniem sprzętu w pętli, walidacją platformy lub integracją w różnych konfiguracjach sprzętowych.
  • Doświadczenie w optymalizacji oprogramowania dla GPU, NPU, DSP lub innych akceleratorów sprzętowych.
  • Znajomość technologii obliczeniowych GPU AMD, przyspieszenia AI w Windows lub porównywalnych modeli programowania GPU/NPU.
  • Doświadczenie z atrybucją telemetryczną na poziomie procesu lub wątku.
  • Tło w zakresie bezpieczeństwa końcowego, oprogramowania EDR, monitorowania systemu, oprogramowania antywirusowego lub innych systemów wrażliwych na bezpieczeństwo.
  • Zrozumienie przygotowania wejść modelu, pakowania, wykonania wnioskowania, interpretacji wyników i obsługi błędów w czasie działania.
  • Znajomość procesów podpisywania sterowników lub certyfikacji sterowników Windows. Doświadczenie z WHQL jest pomocne, ale nie jest wymagane w fazie dowodu koncepcji.
  • Doświadczenie w pracy w różnych obszarach firmware, sterowników, usług systemowych, platform sprzętowych i interfejsów na poziomie aplikacji.

Real-Time Developer in Gdańsk – pracodawca: Luxoft Poland

Nasza firma to doskonały pracodawca, który oferuje stabilne zatrudnienie oraz bogaty pakiet benefitów, w tym prywatną opiekę medyczną i programy rozwoju zawodowego. Pracując jako DevOps/Cloud Engineer w dynamicznym środowisku, będziesz miał możliwość pracy z nowoczesnymi technologiami, takimi jak Azure i Kubernetes, a także korzystania z programów wewnętrznych, które wspierają rozwój kariery i mobilność między projektami. Nasza kultura pracy sprzyja innowacyjności i współpracy, co czyni nas idealnym miejscem dla osób poszukujących satysfakcjonującej i znaczącej kariery.

L

Dane kontaktowe:

Zespół rekrutacyjny Luxoft Poland

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Real-Time Developer in Gdańsk

C/C++
Rust
Windows kernel programming
Driver-to-user-space communication
Real-time software development
High-performance communication mechanisms
Concurrency mechanisms