Senior C#/.NET Developer (Systemy integracyjne / on-premise / backend + desktop)
Szukamy Senior C#/.NET Developera (min. 5 lat doświadczenia) do projektu klasy enterprise, realizowanego w środowisku on-premise, związanego z budową rozwiązania do bezpiecznego gromadzenia, przetwarzania i udostępniania danych wraz z metadanymi.
Rozwiązanie będzie wdrażane i utrzymywane w infrastrukturze klienta (on-premise) i obejmie komponent serwerowy oraz lokalne usługi integrujące się z istniejącymi systemami i urządzeniami po stronie klienta. Kluczowym elementem projektu jest bezpieczne przesyłanie, gromadzenie i organizacja danych oraz metadanych, z naciskiem na niezawodność transmisji, odporność na przerwania oraz pracę w środowiskach o ograniczonej przepustowości.
To rola dla osoby, która potrafi prowadzić temat end-to-end: od analizy i decyzji technicznych, przez PoC, aż po wdrożenie produkcyjne i stabilizację rozwiązania.
Czym będziesz się zajmować
Przeprowadzisz analizę dobranych technologii dla bezpiecznego transferu oraz składowania dużych plików i danych binarnych
Zaprojektujesz i wdrożysz mechanizmy transferu odporne na zakłócenia (chunking, wznowienia transmisji, retry, kontrola przepustowości)
Zaprojektujesz oraz rozwiniesz lokalnych agentów w formie serwisów Windows, integrujących się z API/SDK systemów i urządzeń działających w środowisku klienta
Rozwiniesz usługi odpowiedzialne za odbiór, walidację, organizację i obsługę cyklu życia danych oraz metadanych
Zaprojektujesz i rozwiniesz warstwę danych w MS SQL Server (model danych, statusy procesów, ścieżki do plików, metadane operacyjne)
Zintegrujesz system z zewnętrznymi źródłami zdarzeń (systemy biznesowe / operacyjne / inne integracje), które automatycznie wyzwalają uruchamianie procesów i obieg danych
Rozwiniesz istniejącą aplikację desktopową (GUI) wspierającą obsługę zgłoszeń, zadań i procesów oraz procesy pracy użytkowników
Będziesz współtworzyć architekturę rozwiązania, identyfikować ryzyka techniczne i proponować usprawnienia zwiększające niezawodność, bezpieczeństwo i skalowalność systemu
Ta oferta jest dla Ciebie, jeśli
Masz minimum 5 lat doświadczenia w programowaniu w C# / .NET
Masz praktyczne doświadczenie w tworzeniu i utrzymaniu Windows Services
Projektowałeś/aś lub rozwijałeś/aś systemy rozproszone i komunikację sieciową (REST API, TCP/IP, HTTPS, VPN)
Masz praktyczne doświadczenie w projektowaniu i utrzymaniu aplikacji współbieżnych / wielowątkowych w .NET (m.in. przetwarzanie równoległe, kolejki zadań, retry, obsługa błędów i stabilność pod obciążeniem)
Masz bardzo dobrą praktykę pracy z MS SQL Server: projektujesz modele danych pod systemy produkcyjne, piszesz i optymalizujesz zapytania T-SQL oraz dbasz o wydajność i spójność warstwy danych przy rosnącej liczbie operacji i metadanych
Masz doświadczenie w pracy z Windows Server w kontekście wdrażania i utrzymania usług backendowych (konfiguracja środowiska, diagnostyka problemów, stabilność działania usług, logi, uprawnienia)
Masz praktyczne doświadczenie w projektowaniu i implementacji mechanizmów transferu dużych plików (streaming/chunking, wznowienia transmisji, retry, kontrola przepustowości, odporność na niestabilne łącza)
Potrafisz samodzielnie prowadzić R&D / PoC: umiesz porównać podejścia, ocenić ryzyka i trade-offy, zaproponować kierunek techniczny i doprowadzić rozwiązanie do etapu gotowego do wdrożenia
Masz doświadczenie w rozwoju i utrzymaniu aplikacji desktopowych (GUI), najlepiej w środowisku enterprise z wykorzystaniem DevExpress (rozbudowa istniejących ekranów, formularzy, workflow i logiki klienckiej)
Piszesz czytelny, utrzymywalny kod i dbasz o jakość techniczną rozwiązań (spójne standardy, sensowny podział odpowiedzialności, refaktoryzacja)
Stosujesz w praktyce zasady projektowe (w tym SOLID) i potrafisz dobrać podejście do skali problemu, bez dogmatyzmu
Bierzesz odpowiedzialność za bezpieczeństwo, jakość, stabilność i utrzymanie dostarczanych rozwiązań oraz potrafisz jasno komunikować i uzasadniać decyzje techniczne
Mile widziane
Praktyczna znajomość C++ w kontekście utrzymania lub rozwoju istniejących komponentów/systemów
Doświadczenie w integracji z systemami systemami on-premise lub urządzeniami z wykorzystaniem SDK/API producentów (wymiana danych, zdarzenia, metadane)
Znajomość protokołów, formatów i podstaw przetwarzania dużych danych/binarnych (w tym zagadnień istotnych przy archiwizacji i odtwarzaniu)
Doświadczenie w projektowaniu lub utrzymaniu monitoringu infrastruktury i usług (status usług, zajętość przestrzeni dyskowej, alerting, diagnostyka)
Doświadczenie w modernizacji i refaktoryzacji istniejących aplikacji desktopowych w środowisku enterprise (np. poprawa stabilności, wydajności lub ergonomii pracy użytkownika)
Doświadczenie z technologiami mobilnymi, jeśli obejmowało integrację z systemami backendowymi lub wsparcie istniejących wdrożeń
Znajomość zagadnień związanych z bezpieczeństwem danych i usług (uprawnienia, audytowalność, integralność danych, bezpieczna komunikacja)
Kompetencje miękkie
Wysoka samodzielność i umiejętność domykania tematów end-to-end, od analizy problemu po stabilne wdrożenie rozwiązania
Dojrzałość techniczna i decyzyjność, szczególnie w warunkach niepełnych danych, zmiennych założeń lub presji czasu
Analityczne podejście do rozwiązywania problemów oraz umiejętność pracy z przyczyną źródłową (root cause analysis), a nie tylko objawami
Dobra organizacja pracy własnej i priorytetyzacja zadań w środowisku projektowym łączącym development, integracje i utrzymanie
Umiejętność jasnej komunikacji technicznej i uzasadniania decyzji architektonicznych wobec różnych odbiorców (zespół developerski, integratorzy, administratorzy, interesariusze biznesowi), z uwzględnieniem ryzyk, kosztów utrzymania i wpływu na dalszy rozwój systemu
Proaktywność w identyfikowaniu ryzyk oraz proponowaniu usprawnień zwiększających niezawodność, bezpieczeństwo i skalowalność rozwiązania
Odpowiedzialność za jakość współpracy w zespole, w tym konstruktywny feedback, dzielenie się wiedzą i wspieranie dobrych praktyk inżynierskich
Dbałość o standard pracy i profesjonalizm w codziennej współpracy (terminowość, transparentność, ownership)
Co oferujemy
Kluczową rolę techniczną w projekcie budowanym od podstaw, z realnym wpływem na architekturę, standardy implementacyjne i decyzje technologiczne
Odpowiedzialny produkt o wysokiej wartości biznesowej, w którym jakość, niezawodność i bezpieczeństwo rozwiązań mają realne znaczenie operacyjne
Dużą samodzielność decyzyjną i przestrzeń do prowadzenia tematów end-to-end (od analizy i PoC po wdrożenie i stabilizację produkcyjną)
Pracę przy wymagających zagadnieniach inżynierskich: transfer dużych plików, integracje z systemami CCTV/POS, usługi Windows, przetwarzanie metadanych i odporność na problemy sieciowe
Współpracę z doświadczonym zespołem technicznym oraz dostęp do środowisk testowych i infrastruktury klienta, potrzebnych do rzetelnego wdrażania i diagnostyki
Możliwość realnego kształtowania dobrych praktyk inżynierskich w projekcie (architektura, jakość kodu, podejście do utrzymania, standardy integracyjne)
Stabilne warunki współpracy oraz długofalowy projekt z przestrzenią na rozwój roli technicznej
Formę współpracy B2B lub UoP, preferujemy tryb pracy stacjonarny w siedzibie firmy w Krakowie, dopuszczamy hybrydowy tryb pracy
Pracę na zwirtualizowanym środowisku należącym do firmy.
Darmowy parking na terenie firmy
Możliwość dołączenia do prywatnej opieki medycznej
Karta Multisport
Tech stack i środowisko pracy
C# / .NET (docelowo .NET 8; lokalne usługi, backend centralny, komponenty integracyjne)
Windows Services / Worker Services (usługi działające on-premise w infrastrukturze klienta)
MS SQL Server + T-SQL (model danych, metadane, statusy procesów, optymalizacja zapytań)
DevExpress + aplikacja desktopowa WinForms lub WPF (w zależności od technologii istniejącej aplikacji klienckiej)
REST API / HTTP / HTTPS (komunikacja z systemami zewnętrznymi i usługami)
TCP/IP + VPN (komunikacja między lokalizacjami i centralą)
API / SDK producentów systemów i urządzeń on-premise (eksport nagrań, zdarzenia, metadane)
Integracje z systemami zewnętrznymi i źródłami zdarzeń (API/systemy zdarzeniowe wyzwalające procesy biznesowe i operacyjne)
Przetwarzanie współbieżne w .NET: async/await, Task Parallel Library (TPL), kolejki zadań / mechanizmy retry
Transfer dużych plików: streaming, chunking, transfer z możliwością wznowienia, throttling (kontrola przepustowości)
Windows Server (wdrożenie i utrzymanie usług, diagnostyka, logi, uprawnienia)
Visual Studio (codzienna praca developerska i utrzymanie rozwiązania)
Senior C#/.NET Developer (Systemy integracyjne / on-premise / backend + desktop)
Senior C#/.NET Developer (Systemy integracyjne / on-premise / backend + desktop)