Roman Gromov C++ web systems architect & software engineer
O autorze

Roman Gromov — inżynier oprogramowania i architekt systemów webowych w C++

Inżynieria jako życiowe zajęcie

Jestem inżynierem oprogramowania i architektem systemów webowych tworzonych w C++. Zawodowo pracuję z językiem od 2008 roku, choć zainteresowanie nim pojawiło się jeszcze w szkole. C++ najlepiej odpowiadał mojemu sposobowi myślenia: jest złożony, rygorystyczny, wymaga dyscypliny, a jednocześnie pozwala budować elastyczne architektury polimorficzne. Nigdy nie chodziło mi wyłącznie o działający kod, lecz o systemy, w których każdy element ma jasno określoną odpowiedzialność, kontrakty są jednoznaczne, a zachowanie pozostaje przewidywalne podczas dalszego rozwoju.

Od ElDorado IIMS do Sapphire I.C.D.S.

W 2008 roku powstał mój pierwszy duży projekt w C++ — ElDorado IIMS, system zarządzania stronami i treścią z natywnym rdzeniem serwerowym. Stał się wieloletnią szkołą inżynierii. Przez lata sprawdziłem wiele podejść, popełniłem błędy, znalazłem udane koncepcje i nauczyłem się rozpoznawać decyzje architektoniczne, które rzeczywiście wytrzymują długotrwały rozwój.

Jednym z głównych problemów była zgodność między różnymi środowiskami serwerowymi. Chciałem, aby system nie zależał od jednego dostawcy infrastruktury ani wąskiego środowiska uruchomieniowego. Już w generacji ElDorado pojawiły się rozwiązania zachowujące spójne działanie w różnych konfiguracjach i oddzielające logikę biznesową od szczegółów wdrożenia.

Na początku 2025 roku doświadczenie gromadzone od 2008 roku doprowadziło do jasnego wniosku: starego systemu nie należy bez końca naprawiać, lecz zaprojektować od nowa. Tak rozpoczęła się historia Sapphire I.C.D.S. Główny cykl tworzenia platformy został zakończony, a obecnie zajmuję się jej aktywnym rozwojem, ulepszaniem i rozszerzaniem. Sapphire skupia całą zgromadzoną szkołę inżynierską i architektoniczną, osiągając poziom modularności i spójności, o którym w początkach ElDorado nie mogłem nawet marzyć.

Autorstwo i rola Sapphire Project

Jestem założycielem i prezesem zarządu Sapphire Project Sp. z o.o. W wyniku decyzji strategicznych, technicznych i prawnych rdzeń Sapphire I.C.D.S. oraz moduły producenta pozostają pod moim wyłącznym autorstwem i kontrolą. Spółka jest oficjalnym dystrybutorem, odpowiada za sprzedaż, umowy i obsługę klientów, natomiast odpowiedzialność intelektualna i architektoniczna pozostaje po stronie autora.

Nie jest to formalność. Taki model zachowuje jednolity kierunek techniczny, jasną odpowiedzialność i chroni architekturę przed krótkoterminowymi kompromisami korporacyjnymi.

Technologia wyłącznie do celów cywilnych

Zgodnie z moimi zasadami i osobistymi przekonaniami ani ja, ani Sapphire Project nie współpracujemy i nie będziemy współpracować ze strukturami związanymi z celami wojskowymi lub obronnymi ani z instytucjami państwowymi. Sapphire I.C.D.S. jest przeznaczony wyłącznie do zastosowań cywilnych.

Uważam, że najlepsze osiągnięcia inżynierii powinny służyć ludziom: pomagać tworzyć, organizować, uczyć się, pracować i rozwijać niezależne projekty. Technologia nie powinna stawać się bronią, narzędziem nacisku ani środkiem nadużywania władzy.

Zamknięty rdzeń i swoboda rozszerzania

Nie akceptuję kultury totalnej analityki, ukrytego nadzoru i traktowania ludzi jak zasobów danych. Nie uznaję również modelu, w którym klient jedynie wynajmuje dostęp do własnych procesów, zależy od stałego połączenia SaaS, płaci za każdego pracownika i równocześnie dostarcza telemetrię dostawcy.

Jednocześnie nie uważam za rozsądne oddawanie w open source rezultatu wielu lat pracy inżynierskiej. Rdzeń Sapphire I.C.D.S. był, jest i pozostanie zamknięty. Użytkownicy, firmy i niezależni programiści otrzymają jednak pełny SDK oraz stabilne interfejsy do tworzenia własnych modułów, integracji i rozszerzeń.

Wierzę w zdrową równowagę: dane klienta należą do klienta, a własność intelektualna autora do autora. Nie mam potrzeby zbierania telemetrii, śledzenia sposobu używania systemu ani zamieniania infrastruktury klienta w dodatkowe źródło zysku. Oprogramowanie kosztuje, ponieważ zawiera wiedzę, czas i odpowiedzialność. Przedmiotem sprzedaży powinno jednak pozostać samo oprogramowanie — nie dane klienta, liczba jego pracowników ani prawo do posiadania własnej infrastruktury.

Dlaczego kontynuuję

Zajmuję się tą dziedziną, ponieważ naprawdę kocham inżynierię. Programowanie nie jest dla mnie przypadkowym zawodem ani wyścigiem za modą, lecz sposobem myślenia i formą tworzenia. Nie wierzę w utopie i nie twierdzę, że jeden system zmieni cały świat. Wierzę jednak, że dobra technologia, uczciwa architektura i rozsądna relacja między autorem, klientem i danymi mogą uczynić go choć trochę lepszym.