{"id":69765,"url":"https://alion.io/job/publink-senior-product-engineer-react-typescript-net-2","title":"Senior Product Engineer (React + TypeScript; .NET)","company":{"id":13476,"name":"Publink","domain":"publink.com","url":"https://alion.io/company/publink","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Recruitee","truth_index":null},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":"full_time","work_mode":"remote","remote_scope":"stated_countries","remote_scope_basis":"inferred_payroll_markers","remote_working_hours":null,"hiring_geo_confidence":"inferred","locations":["Poznań, Poland"],"countries":["PL"],"hiring_countries":["PL"],"hiring_countries_total":1,"salary":{"min":25000,"max":30000,"currency":"PLN","period":"month","gross":null,"usd_annual":96240},"salary_estimate":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"ASP.NET Core","optional":false},{"name":"Azure","optional":false},{"name":"C#","optional":false},{"name":"CI/CD","optional":false},{"name":"Claude","optional":false},{"name":"Claude Code","optional":false},{"name":"Cursor","optional":false},{"name":"Function Calling","optional":false},{"name":"JavaScript","optional":false},{"name":"Jotai","optional":false},{"name":"LLM","optional":false},{"name":"MediatR","optional":false},{"name":"MS SQL","optional":false},{"name":"Prompt Engineering","optional":false},{"name":"RAG","optional":false},{"name":"React.js","optional":false},{"name":"Redux","optional":false},{"name":"SLI/SLO/SLA","optional":false},{"name":"SQL","optional":false},{"name":"TypeScript","optional":false},{"name":"Windows","optional":false},{"name":"Zustand","optional":false}],"status":"live","first_seen_at":"2026-08-22T10:00:17Z","employer_posted_date":null,"last_verified_at":"2026-08-22T10:00:17Z","board_verified":false,"closed_at":null,"days_open":56,"trust":{"level":"not_scored","repost_count":null,"flags":[],"days_open":56},"description":"W Publink budujemy GovTech jutra, czyli aplikacje dla Skarbników i Urzędników jednostek samorządu terytorialnego. Skracamy godziny jałowej biurokracji i oddajemy urzędnikom czas na to, co naprawdę ważne: sprawy obywateli. Wierzymy, że sektor publiczny może działać jak sprawny biznes i mieć przy tym bardziej ludzką twarz.\nZaczynaliśmy jako mała grupa konsultantów, a dziś jesteśmy startupem IT/SaaS i zaczynamy skalować naszą misję. Przez ostatnie 6 lat urośliśmy z 2 do 18 mln zł ARR. Im wcześniej dołączysz, tym większy możesz mieć wpływ na to, co i jak zbudujemy dalej.\nKogo szukamy?\nProduct Engineera, który będzie naszym partnerem inżynierskim i realnym współwłaścicielem produktu, a nie wykonawcą backlogu. Kogoś, kto razem z Product Builderem prowadzi produkt od hipotezy do wartości na produkcji, łącząc rozmowę z użytkownikiem, decyzje architektoniczne, działający kod i metryki. Osoby, która widzi, jak AI zmienia paradygmat budowy produktów cyfrowych, i chce być częścią tej zmiany.\nTo możesz być Ty, jeśli…\nMindset produktowy\nMasz 6+ lat komercyjnego doświadczenia jako fullstack engineer, z backendem i frontendem produkcyjnie po obu stronach.\n\nW poprzednich rolach był_ś realnym współwłaścicielem decyzji co budujemy, nie tylko jak. Pokażesz konkretny przykład, kiedy świadomie odpuścił_ś feature, mimo presji.\n\nKażdy ważny feature ma u Ciebie metrykę sukcesu zdefiniowaną przed startem prac, wybraną jako leading indicator dla efektu biznesowego (retencja, expansion, time to value), nie tylko jako wskaźnik ruchu w UI.\n\nDane wyciągasz samodzielnie z Amplitude i bazy produktowej, łączysz je w argument do dyskusji o priorytetach.\n\nDecyzyjność i ownership\nPiszesz ADR (Any Decision Record) z opcjami, kryteriami i rekomendacją zanim siądziesz do implementacji większej zmiany. To dla Ciebie standard, nie biurokracja.\n\nTwoja odpowiedzialność nie kończy się na merge'u. Idziesz z feature'em od pomysłu, przez deploy i monitoring, do rozmowy z użytkownikiem, który go używa.\n\nDORA metrics (deployment frequency, lead time, change failure rate, MTTR) traktujesz jako standard dojrzałego zespołu. Wiesz, co mierzy Twój, czego nie i co byś z tym zrobił_a.\n\nArchitektura i jakość produkcyjna\nTworzysz i utrzymujesz mapę bounded contexts modułu, projektujesz integracje między kontekstami (REST vs event-driven, sync vs async, eventual consistency).\n\nAPI projektujesz z wersjowaniem i wsteczną kompatybilnością. Migracje modułów planujesz w fazach z możliwością wycofania, nie big bangiem.\n\nDDD i bounded contexts to dla Ciebie codzienne narzędzie. Znasz archetypy rozwiązań (CQRS, Event Sourcing, saga, outbox, idempotency keys) na tyle, by je dobrać do problemu, a nie wynajdywać.\n\nOperacjonalizujesz feature od pierwszego commita: SLO/SLI, structured logging, dashboardy w Application Insights (z KQL i distributed tracing), on-call swojego obszaru, runbooki, blameless post-mortemy z konkretnymi wnioskami systemowymi.\n\nBezpieczeństwo i regulacje (UOFP, NIS2/KSC) są częścią Twojego designu od początku, nie kontrolą po fakcie.\n\nStack produkcyjny\nBackend: .NET Core / ASP.NET Core + EF Core, MediatR lub równoważny pattern command/query, MS SQL Server z umiejętnością czytania planów wykonania i świadomego indeksowania.\n\nFrontend: React + TypeScript po obu stronach, z zarządzaniem stanem (Redux, Zustand, Jotai) wybranym i uzasadnionym.\n\nChmura: Azure (App Service, Application Insights, Service Bus).\n\nSposób pracy i AI\nPipeline CI/CD to dla Ciebie kod, który modyfikujesz samodzielnie.\n\nTest pyramid (unit, integration, E2E) ma u Ciebie jasne proporcje, które potrafisz uzasadnić wybranymi ryzykami.\n\nFeature flags, canary deployments lub dark launches to standard pracy z ryzykownymi zmianami.\n\nPracujesz z Claude Code, Cursor lub równoważnym narzędziem codziennie. Pokażesz workflow, w którym AI realnie zmienia Twoje tempo lub jakość pracy.\n\nNa plus:\nDoświadczenie w GovTech, FinTech lub innej regulowanej branży (UOFP, klasyfikacja budżetowa, JPK, sprawozdawczość finansowa).\n\nProwadzenie incydentu produkcyjnego od alarmu, przez diagnozę, do post-mortem z wnioskami systemowymi.\n\nDoświadczenie z LLM-ami w produkcie: RAG, function calling, prompt engineering produkcyjnie, ewaluacja jakości promptów.\n\nDiscovery prowadzony samodzielnie: wywiady z użytkownikami, walidacja hipotez, Opportunity Solution Tree.\n\nAktywność w community: prelekcje, OSS, blog techniczny, kontrybucje do narzędzi developerskich.\n\nTwoje pierwsze 90 dni w Publink\nWdrożysz się do organizacji i jednego z naszych modułów.\n\nDostarczysz pierwszą znaczącą zmianę end-to-end - od hipotezy z Product Builderem/Ownerem, przez ADR i kod, po metryki sukcesu na produkcji.\n\nPomożesz nam określić ramy i rozpocząć przeprowadzanie realnej zmiany paradygmatu wytwarzania produktów, z klasycznego tria produktowego, na nową formę w oparciu o AI.\n\nCo dalej?\nJesteś jednym z punktów referencyjnych w sprawach architektury platformy, nie tylko swojego modułu.\n\nWspółprojektujesz produkty na styku modułów, rozwiązując decyzje cross-team bez konieczności eskalacji.\n\nWnosisz do mapy bounded contexts i konwencji platformowych, które kierują pracą innych Product Engineerów.\n\nWspółpraca z nami to:\nRealny wpływ na produkt i swoboda podejmowania decyzji w swoim obszarze\n\nUmowa B2B na partnerskich zasadach (widełki w przedziale 25-30k netto PLN)\n\n26 dni w roku bez świadczenia usług, z zachowaniem uzgodnionego wynagrodzenia\n\nElastyczny tryb współpracy: zdalnie lub hybrydowo, ze spotkaniami zespołu ok. raz w miesiącu w naszym biurze w Poznaniu lub Katowicach\n\nSprzęt dopasowany do Twoich potrzeb, z systemem Windows lub macOS do wyboru\n\nBudżet na szkolenia i konferencje\n\nDostęp do pakietu medycznego i karty sportowej na preferencyjnych warunkach\n\nNasze podejście: co Ci obiecujemy\nPrzeczytaj i sprawdź czy to Twój styl:\nRobisz pracę, która ma sens. Niezależnie od roli pracujesz przy produkcie, który komuś naprawdę zmienia dzień. Sens jest wpisany w to, co budujemy, nie dopisany na plakacie.\nMasz realny wpływ. O decyzji przesądzają rola, kompetencje i siła tego, co masz do powiedzenia, a nie miejsce w hierarchii. Nie czekasz na zgodę: rozumiejąc kontekst, po prostu działasz, a Twój wpływ jest widoczny.\nBierzesz odpowiedzialność, traktujemy Cię jak dorosłego. Dostajesz autonomię i zaufanie zamiast kontroli i patrzenia na ręce. W zamian odpowiadasz za swoje decyzje i ich rezultaty, nie za „odhaczone zadanie\".\nNie godzisz się na „bo zawsze tak było\". Wokół Ciebie są ludzie, którzy kwestionują status quo i nazywają absurd absurdem: w administracji, w branży i u nas samych. Nie po to, żeby narzekać, tylko żeby coś z tym zrobić.\nOtaczasz się ludźmi autentycznymi. Mówimy jak jest, sobie i Klientom. Informacja jest domyślnie dostępna, błędy nazywamy wprost, a feedback traktujemy jak coś, co się drugiej osobie po prostu należy.\nTo kultura wymagająca i nie dla każdego. Jeśli te pięć zdań brzmi jak miejsce, w którym chcesz pracować, prawdopodobnie się dogadamy. A jeśli chcesz wiedzieć więcej, zanim zdecydujesz, zobacz nasz produkt, ludzi i sposób pracy na publink.com/kariera.\nProces rekrutacji\nTraktujemy kandydatów tak, jak sami chcielibyśmy być traktowani. Na każdym etapie, do którego dotrzesz, dostajesz od nas informację zwrotną.\nI rozmowa\n\nz Mateuszem (CTO) - Czeka nas 45-60 minutowa rozmowa online. Porozmawiamy o technologii i sprawdzimy, czy pasujemy do siebie kulturowo. To też dobry moment dla Ciebie, żebyś zweryfikował_a, czy Publink to miejsce dla Ciebie.\n\nZadanie rekrutacyjne - Jeśli pierwsza rozmowa będzie obiecująca, poprosimy Cię o wykonanie zadania. Nie szukamy jednego słusznego rozwiązania - chcemy zobaczyć Twój tok myślenia i podejście do rozwiązywania problemów.\n\nII rozmowa - Na podstawie zadania podejmiemy decyzję o zaproszeniu Cię na ok. 2-godzinne spotkanie w naszym biurze w Poznaniu lub Katowicach. Poznasz na nim osoby, z którymi będziesz na co dzień współpracować.\n\nPo tych trzech krokach albo przedstawiamy ofertę, albo obszernie feedbackujemy cały proces. W trakcie dyskutowania oferty, za Twoją zgodą rozmawiamy z osobami, które znają Cię z wcześniejszych współprac. Rozmowy referencyjne pomagają nam lepiej zrozumieć jak działasz i jak możemy Ci pomóc w wejściu do Publink.\nBrzmi jak Twoje miejsce? Aplikuj!","description_format":"text","description_chars":8241,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"Polish","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[{"name":"Poland","iso":"PL","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Digital Government","Public Finance"],"lifecycle":[{"event":"open","at":"2026-09-05T16:00:00Z"}],"visa":[],"liveness":{"score":10,"band":"cold","label":"Long shot","p_open":0.4,"p_active":0.545,"p_room":0.45,"age_days":55,"expected_fill_days":29,"reasons":["seen:55","win:tail"],"computed_at":"2026-10-17T05:46:00Z"},"pay":{"stated_usd_annual":96240,"is_top_pay":false},"html_url":"https://alion.io/job/publink-senior-product-engineer-react-typescript-net-2","json_url":"https://alion.io/job/publink-senior-product-engineer-react-typescript-net-2.json","meta":{"generated_at":"2026-10-17T18:50:10Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":1835,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-18T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":13476},"rest":"https://alion.io/mcp/rest/get_company?id=13476"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fpublink-senior-product-engineer-react-typescript-net-2"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fpublink-senior-product-engineer-react-typescript-net-2"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fpublink-senior-product-engineer-react-typescript-net-2"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/publink-senior-product-engineer-react-typescript-net-2\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fpublink-senior-product-engineer-react-typescript-net-2"}]}