Tworzymy fundamenty eEngine już od dziesięciu lat. Wraz ze zbliżającą się okrągłą rocznicą firmy wytyczyliśmy nowy kierunek, w którym zmierza eEngine. Piwotujemy!
Skąd jesteśmy i dokąd zmierzamy
Historia eEngine zaczęła się od platformy sklepowej. Było to oprogramowanie dla eCommerce, działające w modelu SaaS. Platforma przez większość czasu działała pod marką eCommerce24h. Zdecydowaliśmy się zamknąć ten produkt na początku 2017 roku. Zrezygnowaliśmy z tego rozwiązania ze względu na jego masowy charakter, który okazał się niezgodny z naszą filozofią komunikacji z klientami i kulturą pracy. Innymi słowy chcieliśmy poskramiać większe potwory i mocniej przytulać klientów, którzy zdecydują się na współpracę z nami.
W temacie eCommerce próbowaliśmy zaprzyjaźnić się z Magento. Jednak na chwilę obecną ten system ma zbyt wiele wad, a dalsze podążanie tą drogą nie będzie przyjemne ani dla klientów (koszty), ani dla deweloperów (technologiczne dysfunkcje Magento). Przy okazji jednego z wdrożeń Magento stworzyliśmy Perseids.io, szybki i autonomiczny front dla sklepów internetowych. Doświadczenia użytkownika klikającego po Perseidowym sklepie są nie do opisania. Najczęstszym komentarzem jest “WOW” w kontekście szybkości działania strony. Nasza koncepcja produktu okazała się słuszna. Każdy może się przekonać o tym na własne oczy, robiąc zakupy w ManyMornings.com.
Dylematy biznesowe i technologiczne
Stanęliśmy jednak przed sporym dylematem: co dalej nowymi wdrożeniami? Jak będziemy rozwijać systemy naszych aktualnych klientów? Magento nie wpisało się w naszą rzeczywistość, a Perseidy były “tylko” frontem sklepowym. Z kolei pisanie każdej aplikacji od zera byłoby wyważaniem otwartych drzwi oraz nie dawałoby konkretnej wartości dla firmy.
W świetle powyższego, podjęliśmy jedyną i słuszną decyzję. Pracujemy nad namacalnym produktem, który umożliwi nam mądre tworzenie i rozwijanie aplikacji dla biznesu. Zapewni nam też stabilne warunki do budowania silnego zespołu.
Wiemy, że takim produktem będzie system eCommerce oparty o architekturę mikroserwisów i jak zapewne się domyślacie Perseids.io będą jego częścią.
Dlaczego mikroserwisy
Co było kluczowe przy wyborze tego rozwiązania?
- Biorąc pod uwagę rzeczywistość, w której funkcjonujemy jako software house, rozwiązanie monolityczne ograniczyłoby plastyczność tworzenia nowych systemów, a zanim mvp ujrzałoby światło dzienne cały koncept mógłby się już zestarzeć.
- Mikroserwisy pozwalają nam na rozbudowę aktualnych systemów naszych klientów o nowe funkcje, tu i teraz. Raz utworzony mikroserwis może być użyty uniwersalnie bez względu na technologię, w której napisany jest jego system.
- W ten sposób chcemy budować naszą przewagę konkurencyjną i uporządkować technologiczny chaos (wiele systemów i technologii), w którym od jakiegoś czasu funkcjonujemy.
Najlepsze dopiero przed nami
Przekładając na konkrety wizję firmy: jakie są nasze najbliższe plany na przyszłość?
Jeśli chodzi o języki programowania zdecydowaliśmy się zostać w dwóch głównych technologiach. To jest PHP oraz Ruby on Rails. W ramach zespołu wyłoniliśmy czterech Team Leaderów, którzy będą odpowiedzialni za kluczowe obszary technologiczne.
W kolejności stażu pracy w eE Team Leaderami są:
- Adam – Tech Leader kluczowych projektów eCommerce, Team Leader zespołu opiekującego się projektami działającymi na naszym platformowym oprogramowaniu. Każdy z tych sklepów obecnie funkcjonuje na oprogramowaniu dedykowanym, rozwijanym w ramach indywidualnej ścieżki rozwoju. Adam to niekwestionowany mistrz najbardziej wymagających zadań na frontendzie oraz sucharów.
- Krzysztof – dla dobra firmy nie mogę zamknąć Krzyśka w jednej technologii ponieważ jego niesamowita moc rozwiązywania problemów programistycznych jest potrzebna w przeróżnych projektach. Krzysiek rozwiązuje te problemy grając jednocześnie w Tetris na komórce. Chcę, żeby każdy programista mógł liczyć na jego wsparcie, jeśli tylko zajdzie taka potrzeba. Mając kompetencje Krzysztofa na pokładzie firmy śpię spokojnie.
- Bartek – Team Leader zespołu Ruby on Rails (RoR). O osobach takich jak Bartek bardzo często mówi się, że są cichymi mistrzami. Bartek to taki programista, który nie zbiera oklasków za hotfixy na produkcji projektów, które oddaje w ręce klientów. Dzieje się tak, bo jakość jego pracy jest na tyle wysoka, że te bugi pojawiają się niezwykle rzadko. Pracuje w ciszy, ale efekty jego pracy robią hałas.
- Beniamin – będzie nie tylko Team Leaderem zespołu PHP, ale przede wszystkim głównym architektem naszych mikroserwisów. Ci, którzy mieli okazję pracować z Beniaminem wiedzą, jaką uważność przykłada do jakości oprogramowania, czemu towarzyszy refleksja nad biznesowym sensem wytwarzanych rozwiązań. Beniamin bierze na siebie wyzwanie w postaci zaprojektowania systemu i sukcesywnego wdrażania go w życie. Kiedyś zapytałam Krzyśka: ”Dlaczego Beniamin nie ma żadnego sprzętu (poza laptopem i myszką)?” patrząc na puste biurko Beniamina. Krzysiek na to odpowiedział “On tego nie potrzebuje. On ma wszystko w głowie”. To chyba najmilsza rzecz jaką Krzysiek powiedział o kompetencjach kogokolwiek. Ever.
Co się będzie dziać dalej w aktualnych projektach?
W miarę bieżących potrzeb, we wszystkich wspieranych przez nas projektach, będziemy realizować czy też rozbudowywać nowe funkcje już jako mikroserwisy. Mikroserwisy będą realizowane w Symfony jak i w RoR.
Jak to będzie w przypadku zupełnie nowych projektów?
Opowiem na przykładzie nowego projektu realizowanego w RoR. TLem projektu będzie Bartek, najbardziej powtarzalne dla różnych systemów funkcje będą kodowane jako mikroserwisy, natomiast część specyficzna dla danego biznesu będzie typową aplikacją RoR.
Gdy w przyszłości będziemy realizować kolejne dedykowane rozwiązania dla biznesu, mikroserwisy, które powstały w ramach wcześniejszych wdrożeń będą do zastosowania od ręki. Tym samym nie wpływa na nas negatywnie monolityczna architektura tradycyjnych rozwiązań i związany z nią dług technologiczny.
Tym sposobem wytworzymy arsenał mikroserwisów, z których docelowo będziemy mogli skorzystać tworząc nowe systemy, czy też wpinając się w rozbudowane systemy innych klientów.
Czego Zespół eEngine może się spodziewać w najbliższym czasie? W związku z wprowadzeniem nowych narzędzi do firmy oraz zmianą filozofii jeśli chodzi o architekturę wytwarzanego oprogramowania będziemy przeprowadzać wiele szkoleń wewnętrznych, rozszerzających kompetencje twarde zespołu. Chcemy, aby szkolenia były 2, maksymalnie 3 osobowe, nastawione na aktywne zdobywanie i poszerzanie wiedzy.
Nowy wektor technologiczny, jaki obraliśmy dla eEngine, to ambitny, pełen wyzwań, a przede wszystkim bardzo ekscytujący, kierunek dla nas, jako firmy. Moce całego Zespołu są potrzebne do tego, żeby efekt końcowy ujrzał światło dzienne. Aktualnie wytyczona ścieżka jest najbardziej konkretną, klarowną i porywającą wizją firmy od dziesięciu lat jej istnienia!