W skrócie
- Zadania: Integruj modele ML w produkcie i twórz AI agentów oraz API.
- Firma: Sky Spy - innowacyjny startup rozwijający rozwiązania RF dla trudnych środowisk.
- Benefity: Atrakcyjne wynagrodzenie, elastyczne godziny pracy i możliwość rozwoju zawodowego.
- Pozostałe informacje: Dynamiczne środowisko z możliwościami szybkiego rozwoju kariery.
- Dlaczego ta praca: Pracuj z najnowszymi technologiami i wpływaj na realne projekty.
- Kwalifikacje: Silna znajomość Pythona i doświadczenie w inżynierii oprogramowania.
Przewidywane wynagrodzenie mieści się w przedziale 67500 - 82500 zł za rok.
Poszukujemy inżyniera oprogramowania Python, który dołączy do naszego zespołu inżynieryjnego i będzie pracować na styku rozwoju oprogramowania, uczenia maszynowego i systemów wbudowanych. Głównym celem tej roli jest integracja modeli uczenia maszynowego i sieci neuronowych opracowanych przez naszych inżynierów ML do produktów produkcyjnych, a także rozwijanie agentów AI, usług backendowych, interfejsów API oraz warstw integracyjnych dla systemów wewnętrznych i zewnętrznych. Większość naszych produktów działa na urządzeniach opartych na systemie Linux, dlatego rola ta wymaga praktycznego podejścia inżynieryjnego z uwagą na wydajność, niezawodność, ograniczenia zasobów i wdrożenie.
To przede wszystkim rola inżyniera oprogramowania, a nie badacza modeli czy specjalisty ds. danych.
Lokalizacja: To jest pełnoetatowa, hybrydowa rola z siedzibą w Warszawie, Polska. Możliwość pomocy w relokacji.
Obowiązki:
- Integracja modeli ML i sieci neuronowych opracowanych przez inżynierów ML do aplikacji produkcyjnych.
- Budowanie i utrzymywanie potoków inferencyjnych i usług opartych na Pythonie.
- Rozwój komponentów oprogramowania, które łączą modele ML z istniejącą funkcjonalnością produktu.
- Rozwój agentów AI i przepływów pracy opartych na agentach, w tym wywoływanie narzędzi, usługi zewnętrzne i interfejsy API.
- Projektowanie i implementacja interfejsów API REST / interfejsów integracyjnych dla produktów i usług zewnętrznych.
- Rozwój oprogramowania dla środowisk Linux wbudowanych.
- Optymalizacja kodu inferencyjnego i aplikacyjnego dla urządzeń z ograniczonym CPU, pamięcią, przechowywaniem lub innymi ograniczeniami sprzętowymi.
- Integracja aplikacji Python z usługami systemowymi, interfejsami sprzętowymi, bazami danych, brokerami wiadomości i zewnętrznymi interfejsami API.
- Współpraca z inżynierami ML w celu określenia kontraktów wejścia/wyjścia modeli i interfejsów inferencyjnych produkcji.
- Pakowanie i wdrażanie aplikacji oraz komponentów ML.
- Implementacja logowania, monitorowania, obsługi błędów i diagnostyki.
- Pisanie testów jednostkowych i integracyjnych.
- Rozwiązywanie problemów w różnych warstwach aplikacji, inferencji ML, systemu operacyjnego, sieci i wdrożenia.
- Udział w dyskusjach dotyczących architektury i projektowania technicznego.
- Utrzymywanie dokumentacji technicznej dla zaimplementowanych komponentów i integracji.
Wymagane umiejętności:
- Silna znajomość Pythona i praktyczne doświadczenie w rozwijaniu oprogramowania produkcyjnego.
- Dobre zrozumienie zasad inżynierii oprogramowania i architektury aplikacji.
- Doświadczenie w budowaniu interfejsów API REST i usług backendowych, najlepiej przy użyciu frameworków takich jak FastAPI, Flask lub podobnych.
- Doświadczenie w pracy z systemem Linux.
- Zrozumienie procesów, sieci, systemów plików, uprawnień, usług i narzędzi wiersza poleceń Linux.
- Doświadczenie w integracji bibliotek, SDK, interfejsów API lub usług zewnętrznych.
- Dobre zrozumienie programowania asynchronicznego, wielowątkowości lub koncepcji wieloprocesowości.
- Doświadczenie z Gitem i standardowymi przepływami pracy w rozwoju oprogramowania.
- Umiejętność debugowania złożonych problemów integracyjnych.
- Zrozumienie automatycznego testowania i praktyk jakości kodu.
Umiejętności integracji ML / AI:
- Głębokie doświadczenie w badaniach ML nie jest wymagane, ale kandydat powinien czuć się komfortowo pracując z modelami ML jako komponentami oprogramowania.
- Oczekiwana wiedza obejmuje: podstawowe zrozumienie uczenia maszynowego i sieci neuronowych.
- Zrozumienie typowego cyklu życia inferencji ML: wejście → wstępne przetwarzanie → inferencja modelu → postprocessing → logika aplikacji.
- Doświadczenie lub znajomość jednego lub więcej frameworków/runtimów ML, takich jak: PyTorch, TensorFlow, ONNX / ONNX Runtime, TensorRT, OpenVINO, TFLite.
- Umiejętność pracy z modelami, tensorami, wejściami/wyjściami modeli, potokami wstępnego przetwarzania i interfejsami API inferencyjnymi.
- Umiejętność współpracy z inżynierami ML w celu przeniesienia modeli z eksperymentów do środowisk produkcyjnych.
Agenci AI:
- Doświadczenie z agentami AI lub aplikacjami opartymi na LLM jest bardzo pożądane.
- Relewantne doświadczenie może obejmować: budowanie aplikacji zasilanych LLM, architektury wywoływania narzędzi/agenta, integrację z zewnętrznymi interfejsami API i usługami, wywoływanie funkcji i strukturalne wyjścia, systemy RAG, protokoły integracji narzędzi MCP lub podobnych, ramy orkiestracji agentów takie jak LangGraph, LangChain lub podobne, praca z komercyjnymi lub otwartoźródłowymi interfejsami API LLM.
Doświadczenie w Embedded / Linux:
- Ponieważ wiele naszych produktów to urządzenia z systemem Linux wbudowanym, doświadczenie w następujących obszarach byłoby dużą zaletą: rozwój Linuxa wbudowanego, platformy oparte na ARM, środowiska kompilacji krzyżowej, praca z ograniczonymi zasobami obliczeniowymi i pamięciowymi, usługi Linux i systemd, komunikacja urządzeń i interfejsy sprzętowe, Docker na Linuxie lub urządzeniach wbudowanych/edge, AI na krawędzi / inferencja ML na urządzeniu, profilowanie wydajności i optymalizacja.
- Głębokie doświadczenie w C/C++ nie jest obowiązkowe, ale znajomość środowisk rozwoju wbudowanego jest korzystna.
DevOps — Podstawowa wiedza oczekiwana:
- Nie oczekujemy, że kandydat będzie dedykowanym inżynierem DevOps, ale podstawowe praktyczne doświadczenie DevOps jest pożądane. Przykłady obejmują: Docker i konteneryzacja, CI/CD, GitHub Actions, GitLab CI, Jenkins lub podobne narzędzia, wdrażanie aplikacji Linux, zarządzanie środowiskiem i konfiguracją, podstawowe umiejętności sieciowe i rozwiązywania problemów, logowanie aplikacji i monitorowanie, podstawowe zrozumienie Kubernetes jest plusem.
Co będzie dodatkowym atutem:
- Doświadczenie z MATLAB lub zrozumienie jego składni.
- Znajomość C/C++ i doświadczenie w integracji Pythona z bibliotekami natywnymi.
- Doświadczenie z AI na krawędzi lub systemami AI wbudowanymi.
- Doświadczenie w optymalizacji inferencji sieci neuronowych.
- Doświadczenie z NVIDIA Jetson, ARM, NPU, GPU lub podobnymi akceleratorami sprzętowymi.
- Doświadczenie z gRPC, WebSockets lub architekturami opartymi na zdarzeniach.
- Doświadczenie z MQTT, Kafka, RabbitMQ lub podobnymi technologiami przesyłania wiadomości.
- Doświadczenie z PostgreSQL, SQLite, Redis lub innymi bazami danych.
- Doświadczenie z MLflow lub innymi narzędziami MLOps.
- Doświadczenie z mikroserwisami.
- Doświadczenie w rozwijaniu SDK lub interfejsów API dla integracji zewnętrznych.
Czego szukamy:
Poszukujemy inżyniera, który czuje się komfortowo pracując między różnymi dziedzinami technicznymi: rozwój Pythona → modele ML → Linux → urządzenia wbudowane → interfejsy API → agenci AI → wdrożenie produkcyjne. Nie musisz być ekspertem w każdej dziedzinie. Idealny kandydat to silny programista Pythona, który potrafi wziąć model ML, prototyp lub zdolność AI i przekształcić go w niezawodny, łatwy w utrzymaniu komponent oprogramowania gotowy do produkcji.
O Sky Spy: Sky Spy to szybko rozwijający się startup dual-use, rozwijający rozwiązania inteligencji RF nowej generacji dla kontestowanych środowisk. Jesteśmy wspierani przez wiodące europejskie fundusze VC, weteranów walki i technologów. Naszą misją jest dostarczanie informacji, które ratują życie i wspierają sojusznicze siły na całym świecie.
Python Software Engineer in Warsaw – pracodawca: Sky Spy Inc
Sky Spy to dynamic startup, który oferuje wyjątkowe możliwości rozwoju zawodowego w Warszawie. Nasza kultura pracy opiera się na innowacyjności i współpracy, co pozwala pracownikom na rozwijanie swoich umiejętności w obszarze integracji AI/ML oraz inżynierii oprogramowania. Oferujemy elastyczne warunki pracy oraz wsparcie w relokacji, co czyni nas idealnym miejscem dla ambitnych inżynierów szukających znaczącej i satysfakcjonującej kariery.