
Jestem Ivan. Projektuję przyszłość projektów.
Programowanie to nie tylko mój zawód, ale także prawdziwa pasja, która towarzyszy mi od ponad 10 lat. Jeszcze w szkole zainteresowałem się działaniem programów komputerowych i zacząłem samodzielnie zgłębiać technologie programistyczne. Z czasem przerodziło się to w coś więcej: już na pierwszym roku studiów tworzyłem strony internetowe dla siebie i znajomych, co stało się moim pierwszym komercyjnym doświadczeniem w tworzeniu stron internetowych.
Ostatecznie zacząłem pracować z bardziej złożonymi systemami. Jednym z moich pierwszych poważnych projektów była praca z platformą zamówień publicznych. Później dołączyłem do dużej firmy produkującej sprzęt AGD, gdzie pracowałem nad aplikacją mobilną inteligentnego domu.
Kluczowym momentem w mojej karierze był moment, gdy dołączyłem do znanej firmy zajmującej się tworzeniem oprogramowania, będącej właścicielem Swagger (OpenAPI). Jako zespół stworzyliśmy scentralizowany mechanizm zarządzania użytkownikami i licencjami dla produktów komercyjnych, korzystając z AWS, architektury mikroserwisów i nowoczesnych technologii. Miałem również wyjątkową okazję pracować bezpośrednio z założycielem projektu Cucumber i kluczowymi członkami zespołu. Wspólnie stworzyliśmy usługę, która analizuje zmiany w Gicie i przewiduje, które testy najprawdopodobniej się nie powiodą. Dzięki temu możliwe było uruchomienie tylko niezbędnej części testów lub wykonanie ich według priorytetu, co znacząco zoptymalizowało zużycie zasobów w procesach CI/CD.
Obecnie pracuję nad architekturą mikroserwisów sterowaną zdarzeniami dla aplikacji mobilnej - alternatywą TikTok, która łączy sieć społecznościową i platformę zakupową. Jest to projekt o ogromnym nakładzie pracy i przepływie ogromnych ilości danych, wymagający przemyślanych rozwiązań umożliwiających efektywne przetwarzanie zdarzeń, skalowalność i wydajność.
Moja specjalizacja obejmuje mikroserwisy, architekturę sterowaną zdarzeniami, testowanie (TDD, BDD) i automatyzację rozwoju (CI/CD). Zawsze staram się uczyć poprzez praktykę, więc ta strona jest efektem mojego stałego samorozwoju. Wdrożyłem ją, wykorzystując nowe dla mnie technologie, takie jak SvelteKit, a także w pełni zautomatyzowane procesy CI/CD z wykorzystaniem GitHub Actions, Dockera i serwera domowego opartego na Proxmox.
Oprócz programowania mam kilka innych hobby. Uwielbiam czytać książki, szczególnie beletrystykę i literaturę faktu. Lubię też grać na instrumentach muzycznych – to świetny sposób na relaks i zmianę nastawienia.
Moją kolejną pasją jest IoT. Moja żona i ja zmieniliśmy nasze mieszkanie w inteligentny dom wykorzystując Home Assistant i nasze własne systemy automatyki. To kolejny przykład na to, jak technologia może uczynić życie wygodniejszym i ciekawszym.
Biegle posługuję się językiem ukraińskim, polskim i angielskim, co pomaga mi współpracować z międzynarodowymi zespołami i łatwo przystosowywać się do nowych warunków.
Programowanie to dla mnie nie tylko praca, ale także sposób myślenia i styl życia. Jestem przekonany, że kluczem do rozwoju jest ciągła nauka, dzielenie się doświadczeniami oraz praca nad ciekawymi wyzwaniami.