Eksperci Transition Technologies PSC, Marek Jakubowski oraz Hubert Dąbrowski, opowiadają o kulisach pracy Software Development Center oraz wewnętrznej inicjatywie “Akademia Go”, dzięki której nasze zespoły poszerzają umiejętności i dostarczają lepsze rozwiązania klientom. Podczas rozmowy pytam też o korzyści jakie wynikają z nauczenia się nowego języka programowania w kontekście relacji z klientami, dlatego w tekście znajdziecie także wypowiedź Rafała Mirowskiego (Senior Delivery Manager).
AB: Czy na początku możecie nam powiedzieć coś więcej o Go? Czym jest, co go wyróżnia jako język programowania?
Marek: Jako osobę ze stażem w języku Java (a także lubiącą porządek) w Go przekonuje mnie fakt, że twórcy języka pracując nad jego powstawaniem gruntownie przemyśleli wszystkie za i przeciw implementacji mechanizmów znanych z innych języków. Dzięki temu w Go unika się rozbieżności powstających podczas pracy wielu deweloperów nad aplikacją, a co za tym idzie zachowuje się spójność produktu, jego prostotę oraz czytelność.
Hubert: Podobnie jak Marek, rozpocząłem swoją karierę w Javie. Go wyróżnia się przede wszystkim znacznie wyższą wydajnością niż Java, ze względu na bezpośrednią kompilację do kodu maszynowego. Przynosi to korzyści dla aplikacji, które wymagają dużej przepustowości i szybkiej obsługi wielu żądań. W Go dostępne jest również wsparcie dla współbieżności. Ze względu na stosunkowo młody wiek tej technologii, możliwe było przemyślenie i zaimplementowanie mechanizmów zarządzania wątkami już w fazie tworzenia języka. Tworzenie współbieżnych programów oraz zarządzanie wątkami jest znacznie prostsze niż w Javie, a same wątki wymagają mniej pamięci.
AB: Co zainspirowało Was do stworzenia Akademii umożliwiającej naszym developerom rozwinięcie swoich umiejętności od Javy do Go?
Marek: Naszą decyzję zainspirowało przede wszystkim rosnące zainteresowanie tym językiem. Go istnieje od 2009 roku, co nadaje mu status stabilnego produktu. Nie jest to bez znaczenia dla klientów biznesowych. Stworzenie Akademii skupiającej się na nauce języka Go rozszerza również zbiór narzędzi, jakimi mogą posługiwać się nasi deweloperzy. Umożliwia to rozbudowywanie wiedzy o technologiach wewnątrz firmy, a także przygotowywania produktów o jak najwyższej jakości. Nowsze i lepiej przemyślane języki przenoszą się na lepiej zaimplementowane projekty. Dzięki temu firma może oferować klientom i partnerom znacznie lepsze warunki, a my jako Software Development Center możemy być o krok przed trendami technologicznymi, umożliwiając naszym developerom szybkie skalowanie w nowych technologiach.
Hubert: W moim przypadku była to również okazja do poznania nowego języka. Dzięki przejściu od Javy do Go, miałem możliwość obserwowania procesu opracowania szkolenia i jego późniejszego przeprowadzenia.
AB: Skąd decyzja, aby naszych developerów specjalizujących się w Javie uczyć Go?
Marek: Decyzja o uczeniu naszych developerów specjalizujących się w Javie Go wynika z dążenia do usprawnienia procesu developmentu i szybkiego skalowania w nowych technologiach. Język Go, będąc relatywnie nowym w porównaniu do Javy, oferuje znacznie lepiej przemyślane mechanizmy działania, które są dostosowane do współczesnego sprzętu. Łączy on łatwość pisania z wysoką wydajnością, co umożliwia dostarczanie klientom jakości na najwyższym poziomie przy możliwie najmniejszym zużyciu środków.
Hubert: Na wyróżnienie zasługuje również znacznie skrócony czas kompilacji programów napisanych w Go względem tych napisanych w języku Java. Fakt ten, połączony z prostotą kodu jaką charakteryzuje się Go, przekłada się na istotne przyspieszenie procesu developmentu. Tak efektywny i dynamiczny proces oznacza zwiększone korzyści dla klienta.
AB: Czy dzięki programowaniu w Go, TT PSC udało się już dostarczyć klientom realne korzyści?
Marek: Jak najbardziej. Jest to obecnie popularna, chętnie wybierana przez klientów technologia. Realizacja projektów w Go oznacza dostarczenie bardziej wydajnych i skalowalnych rozwiązań, co przyczynia się do zadowolenia klientów. Dzięki stworzeniu Akademii możliwe było wyszkolenie pracowników, przekazanie im odpowiednich narzędzi pracy, aby mogli świadczyć usługi najwyższej jakości dla naszych klientów.
AB: Możecie opowiedzieć nam o najciekawszym projekcie, przy jakim pracowaliście?
Hubert: Najciekawszym projektem, przy którym pracowaliśmy, jest projekt dla klienta z branży cybersecurity. Dotyczy on systemu służącego do zarządzania hasłami przez aplikacje, narzędzia i inne zasoby sprzętowe.
AB: Dlaczego to właśnie oferta TT PSC odpowiadała na potrzeby klienta? Jakie były jego potrzeby?
Rafał: Najpierw oczywiście znaleźliśmy lidera technicznego z ogromnym doświadczeniem, który był w stanie rozpocząć współpracę. Natomiast nasz klient poszukiwał osób nie tylko z długim stażem w konkretnych technologiach, ale również otwartych na nowe wyzwania, z właściwym podejściem do pracy, więc to nie cena czy inne biznesowe aspekty zadecydowały o angażu osób po akademii, a okazane zaangażowanie i inicjatywa. Ponadto klient posiada swój zespół w Stanach Zjednoczonych, a nasze położenie pozwala na zapewnienie wsparcia dla klientów na całym świecie w sytuacjach wyjątkowych w modelu „follow the sun”.
AB: Jaki jest przewidywany efekt końcowy dla tego projektu?
Hubert: Celem tego projektu jest osiągnięcie bezpiecznego zarządzania hasłami poprzez przepisanie ich aplikacji na język Go. Dzięki temu otrzymamy uproszczoną strukturę aplikacji, co przyczyni się do poprawy jej wydajności. Nasze działania mają na celu zmniejszenie ryzyka wystąpienia błędów oraz obniżenie progu wejścia dla nowych osób do tego produktu.
AB: Z jakimi wyzwaniami najczęściej mierzą się klienci sięgający po nasze usługi w tym zakresie?
Marek: Jednym z najczęstszych wyzwań, przed jakimi stają klienci sięgający po nasze usługi w zakresie programowania w Go, jest znalezienie specjalistów z odpowiednim doświadczeniem i znajomością tego języka. Rzeczywistość jest taka, że na rynku brakuje specjalistów programujących w Go. Weryfikacja kandydatów podczas rekrutacji też może być problematyczna, ponieważ klienci często nie posiadają odpowiedniej wiedzy w zakresie tego języka.
AB: Jakie są Wasze predykcje? Czy możemy spodziewać się wielkiej rewolucji w zakresie języków programowania, innowacyjnych rozwiązań?
Hubert: Możemy spodziewać się dalszego wzrostu popularności języka Go. Ogromny wpływ na to zjawisko ma szerokie community. Statystyki udostępnione przez jedno z najpopularniejszych forum dla programistów – StackOverflow – potwierdzają, że Go jest jednym z najbardziej pożądanych języków do nauki, obok takich języków jak Rust, Python czy TypeScript. Obecnie Go wykorzystywane jest już przez największe firmy takie jak Google, Apple czy Docker i Kubernetes. Choć rewolucja w zakresie języków programowania może być trudna do przewidzenia, jesteśmy przekonani, że przyszłość branży IT przyniesie szereg innowacyjnych rozwiązań, a Transition Technologies PSC będzie nadal dostarczać najwyższej jakości rozwiązania.