Product Engineer (Full-stack, PHP + TypeScript)

Kim jesteśmy?

Droplabs to krakowska firma, która stworzyła system sprzedaży biletów online, wykorzystywany przez największe firmy z branży Tours&Attractions&Activities, jak np. aquaparki, parki rozrywki czy inne atrakcje turystyczne. Naszym celem jest digitalizacja branży rekreacyjno-turystycznej aby wszystkim usprawnić dostęp do najciekawszych atrakcji. Naszymi klientami są m.in. Tatrzański Park Narodowy, Chochołowskie Termy czy Zoo Wrocław.

Od 2023 roku propagujemy i wdrażamy w obiektach turystycznych strategię cen dynamicznych. Opieramy ją na własnych rozwiązaniach z zakresu uczenia maszynowego. Pomagają one przewidywać frekwencję i wyciągać maksymalną wartość z dostępności atrakcji w realiach danego sezonu, pogody i prowadzonego marketingu. Dzięki temu nasi klienci mogą podejmować decyzje w oparciu o dane, efektywniej zarządzać dostępnością i zwiększać przychody, a odwiedzający zyskują lepszy dostęp do atrakcji - samodzielnie podejmując decyzje odpowiadające ich preferencjom budżetowym i preferencjom co do terminu wizyty.

Kogo szukamy

AI sprawiło, że samo pisanie kodu jest dziś szybkie i tanie. Rzadkim zasobem stał się osąd: wiedza o tym, co warto zbudować, dlaczego to ma znaczenie, jakie kompromisy podjąć i czego potrzeba, żeby pomysł zamienił się w realną wartość dla klienta i biznesu.

Szukamy Product Engineera - osoby, która bierze odpowiedzialność za rozwiązanie od początku do końca: od zrozumienia problemu, przez technical discovery i implementację, po wdrożenie, produkcję i kolejne iteracje. Twoim naturalnym środowiskiem jest full-stack: PHP po stronie backendu i TypeScript po stronie interfejsu, przy czym w jednej z tych warstw czujesz się mocniej i to jest w porządku.

Strona biznesowa odpowiada za kierunek produktu, czyli co i dlaczego. Ty odpowiadasz za jak: wybierasz podejście techniczne i bierzesz odpowiedzialność za jakość tego, co trafia na produkcję. PM nadaje kurs, Ty prowadzisz.

Pracujesz nad systemem, który obsługuje miliony rezerwacji, a jednocześnie ma panel, z którego codziennie korzystają pracownicy term, aquaparków, parków narodowych i muzeów. Jedno i drugie musi po prostu działać.

Jak wygląda ta rola w praktyce

  • Dowozisz, nie tylko dyskutujesz. Ticket nie jest gotową specyfikacją - jest problemem do rozwiązania. Zakres domykasz razem z designem i stroną biznesową, a potem odpowiadasz za jego dowiezienie.
  • Podejmujesz dziesiątki decyzji technicznych dziennie. Kierunek ustalamy wspólnie, detale są Twoje. Nie czekasz na pozwolenie.
  • Widzisz efekt swojej pracy. Funkcja, którą zrealizujesz jednego dnia, kolejnego sprzedaje bilety. Zobaczysz w danych, czy zadziałała.
  • Masz krótką drogę decyzyjną. Pracujesz bezpośrednio z CTO, współzałożycielem, bez warstw pośrednich.

Zakres Twojej pracy

  • Dostarczanie end-to-end: kompletne funkcje obejmujące backend i frontend, od modelu danych i API po interfejs, z którego korzysta klient.
  • Technical discovery: weryfikacja wykonalności, wychwytywanie ograniczeń i kształtowanie podejścia technicznego, zanim zakres zostanie zamknięty.
  • Decyzje techniczne: dobieranie rozwiązań balansujących wartość dla klienta, tempo dostarczenia, utrzymywalność i ryzyko operacyjne.
  • Jakość produkcyjna: testy, wdrożenie, monitoring i obecność przy rozwiązaniu w pierwszych dniach po release.
  • Praca wspierana przez AI: Claude Code jest u nas codziennym narzędziem pracy; serwery MCP, własne agenty i skille są częścią realnego workflow.
  • Współpraca z designem i resztą zespołu: wnosisz kontekst i alternatywy zamiast czekać na w pełni opisane zadanie.
  • Ciągłe ulepszanie: zauważasz powtarzające się problemy i zostawiasz produkt oraz kod w lepszym stanie, niż go zastałeś.

Wymagania

  • Masz komercyjne doświadczenie w PHP 8+ oraz Symfony (lub Laravela i chęć przesiadki).
  • Masz komercyjne doświadczenie w JavaScripcie i TypeScripcie oraz w React.
  • Projektowałeś systemy backendowe, a nie tylko implementowałeś z góry zdefiniowane endpointy.
  • Dobrze rozumiesz logikę biznesową, modelowanie danych, REST API i integracje.
  • Znasz relacyjne bazy danych (MySQL), cache i kolejkowanie zadań.
  • Potrafisz dowieźć zmianę backendową i frontendową jako część tej samej funkcji.
  • Masz wyczucie UX: zauważasz problemy z interakcją, dostępnością i niespójności, zanim zgłosi je klient.
  • Masz swoje zdanie na temat jakości, a Twoja definicja "zrobione" nie kończy się na zmergowanym kodzie.
  • Chcesz zrozumieć problem klienta i biznesu, zanim zdecydujesz, jak go rozwiązać.
  • Potrafisz wytłumaczyć kompromis techniczny osobie nietechnicznej i uzasadnienie biznesowe doświadczonemu inżynierowi.

AI-native engineering

Praktyczne doświadczenie z Claude Code, Cursorem lub równoważnym środowiskiem jest dla nas ważne.

Szczególnie interesują nas osoby, które używają AI do czegoś więcej niż autouzupełnianie: do technical discovery, pracy w nieznanych częściach stacku, generowania testów, debugowania, eksploracji kodu, specification-driven development i budowania powtarzalnych workflow inżynierskich.

Doświadczenie w tworzeniu serwerów MCP, agentów, skilli lub własnego tooling AI to duży plus.

Mile widziane

  • Zbudowałeś i wdrożyłeś własny projekt, z którego korzystali realni użytkownicy.
  • Rozwijasz własne workflow oparte na AI i potrafisz opowiedzieć, co się w nich sprawdziło, a co nie.
  • Masz doświadczenie z AWS, Dockerem i CI/CD (GitHub Actions).
  • Pracowałeś z przetwarzaniem asynchronicznym i kolejkami (Symfony Messenger, SQS).
  • Współtworzyłeś design system lub bibliotekę komponentów.
  • Projektowałeś rozwiązania obejmujące cache, kolejki, granice usług lub złożone integracje.
  • Możesz pokazać produkt lub funkcję, którą prowadziłeś od problemu aż po wynik na produkcji.

Ta rola raczej nie jest dla Ciebie, jeśli

  • Czujesz się najlepiej, gdy każda decyzja i szczegół implementacji są z góry opisane.
  • Chcesz pracować wyłącznie na backendzie albo wyłącznie na froncie, a reszta produktu to dla Ciebie sprawa kogoś innego.
  • Twoja definicja "gotowe" kończy się na zmergowanym kodzie.
  • Uważasz, że za testy i jakość na produkcji odpowiada głównie QA.
  • Twoje doświadczenie z AI ogranicza się do podpowiedzi w edytorze i okazjonalnych podsumowań.
  • Wolisz dostawać zadania, niż rozumieć i przejmować odpowiedzialność za problem, który za nimi stoi.

Nasz stack

PHP 8+ · Symfony · MySQL · REST API · React· TypeScript · SQS · Docker · AWS · GitHub Actions · Claude Code

Nie oczekujemy, że masz równie mocne doświadczenie w każdej z tych technologii.

Co oferujemy?

  • Pracę nad produktem w ciekawej branży, z którego co miesiąc korzystają setki firm oraz miliony klientów tych firm.
  • Pracę nad produktem, z którego można samemu często korzystać.
  • Realny wpływ na kształt funkcji, a nie tylko na sposób ich implementacji.
  • Dobrej jakości sprzęt do pracy.
  • Płatne licencje na narzędzia AI.
  • Program zwrotów pieniędzy za bilety zakupione u naszych klientów.
  • Kącik baristy, w którym przygotowujemy kawę z Kolumbii i Brazylii.
  • Integracje, wspólne wycieczki i wyjścia.

Szczegóły

  • Praca w pełnym wymiarze, na B2B lub umowie o pracę.
  • Wynagrodzenie 12 000 - 16 000 zł netto miesięcznie na B2B lub 10 000 - 13 500 zł brutto na UoP.
  • Praca stacjonarna w naszym biurze w Krakowie, obok Placu Bohaterów Getta.
Interesujące? Napisz do nas na adres
praca.pe@droplabs.pl

Jeżeli chcesz, abyśmy zachowali Twoje CV w naszej bazie na potrzeby przyszłych rekrutacji, umieść dodatkowo w swoim zgłoszeniu następującą zgodę:

„Zgadzam się na przetwarzanie przez firmę Droplabs sp. z o.o. danych osobowych zawartych w moim zgłoszeniu rekrutacyjnym dla celów przyszłych rekrutacji”

Przesyłając nam swoje zgłoszenie rekrutacyjne, wyrażasz zgodę na przetwarzanie swoich danych przez Droplabs Sp. z o.o. z siedzibą w Krakowie, ul. Na zjeździe 11, 30-527 Kraków, KRS: 0000468242, NIP:6772375967, REGON: 12289459500000, w celu przesyłania wzięcia udziału w procesie rekrutacyjnym. Przysługuje Ci m.in. prawo do dostępu do danych, ich sprostowania oraz wyrażenia sprzeciwu wobec przetwarzania. Przesyłając zgłoszenie, oświadczasz także, że zapoznałeś się z Klauzulą Informacyjną.