Dołączyłem do trójki założycieli Soleback w 2024 roku jako czwarta osoba w zespole i prowadzę cały rozwój produktu: sześć serwisów za jednym publicznym API, aplikacja webowa, rozszerzenie do Chrome, panel administracyjny i monitory, które to wszystko zasilają. Odczyty trafiają najpierw do Redisa, a dopiero w razie potrzeby do Postgresa. Kiedy zaczęły się pojawiać sporadyczne 5XX, przyczyną okazały się cztery nakładające się na siebie rzeczy, a nie jedna.
Jakub Nowosad
Product engineer · Warszawa · od 2020
Buduję to, czego nie widać, i to, co widać. Modele danych, przepływy płatności, cache, a na nich aplikacje webowe, mobilne i desktopowe.
Wybrane projekty
Platforma · aplikacje · wydajnośćSystem kadrowo-płacowy dla DRE$$CODE i Dropsy: ewidencja czasu pracy, urlopy, kartoteki pracowników, rozliczenia per projekt, a na końcu tego wszystkiego paczki przelewów do mBanku. Najpierw zaprojektowałem model danych, potem zbudowałem na nim API w NestJS, a nad nim cztery aplikacje klienckie: web, iOS, Android i natywna aplikacja na macOS, która jest najbardziej zaawansowana. Dane osobowe są szyfrowane pole po polu.
Drop to nie jest równomierny ruch: wszyscy wchodzą w tej samej minucie i koszyk albo wytrzyma, albo to on stanie się tematem premiery. Sklepy dla ludzi, którzy mają już publiczność. 474747 dla rapera Oki, blaire.cc dla marki Miłosza Kuleszy, V24 STORE przy premierze Eryka Moczko. 474747 stoi na WordPressie, więc udźwignięcie ruchu było po mojej stronie: na dropie utrzymał ponad piętnaście tysięcy osób naraz.
Osiemnaście sieci afiliacyjnych, osiemnaście różnych zdań na temat tego, czym jest transakcja. Jedne wystawiają REST API, inne strzelają postbackami, jeszcze inna wrzuca CSV do S3. Wszystko ląduje w jednej maszynie stanów (oczekująca, zatwierdzona, do wypłaty), a każda transakcja jest podpinana z powrotem pod kliknięcie, które ją wywołało. Odpowiadam za cały pipeline i musi on być odporny na powtórki, bo partnerzy wysyłają dane ponownie.
42bot, pisany jeszcze w liceum: program, który kupował limitowane sneakersy szybciej niż człowiek. Monitory stanów magazynowych, automatyzacja koszyka i boty na Discordzie jako front. Sklepy nie chciały tego ruchu, więc budżet wynosił kilkaset milisekund, a cel ciągle się przesuwał. Stamtąd wzięło się u mnie słowo „monitor”, a dziś buduję sklepy po drugiej stronie tej samej transakcji.
Jak pracuję
Programista backend · aplikacje · wydajnośćCiekawe błędy nigdy nie siedzą w świeżo zmienionym kodzie.
Większość mojej pracy to integracje: sprawianie, żeby systemy, których nikt nie projektował razem, zgodziły się co do tego, co się wydarzyło, w jakiej kolejności i za ile. Ta robota nagradza cierpliwość i dobry trace bardziej niż spryt. Najtrudniejsze prawie nigdy nie siedzi w kodzie, który właśnie piszesz.
W DRE$$CODE i Phantom Label jestem całym działem IT i stąd wziął się system kadrowo-płacowy. Nikt nie napisał do niego specyfikacji.
Najpierw piszę wersję nudną, mierzę ją, a dopiero potem decyduję, co zasługuje na to, żeby działać szybko. Biorę odpowiedzialność za całość, od modelu danych przez API po to, czego dotyka użytkownik. Takiej pracy chcę więcej: produktu z prawdziwym ograniczeniem w środku, a nie jednej jego warstwy.
Zacznij tutaj
Odpowiadam w ciągu dobyNajchętniej B2B, otwarty na dobry etat
nowosad.jaqb@icloud.com