Moja praca w Tandemie – część 1 – budujemy bank

Photo by Etienne Martin on Unsplash

Czy marzyłeś/łaś kiedyś o budowie banku? Ja też nie


Budowa banku to zabawna rzecz. Bank to coś co utożsamiamy z korporacją, ze strukturami obejmującymi wiele poważnych osób oraz wreszcie z procedurami, które pokrywają wszystkie szczegóły i aspekty z którymi przychodzi nam się mierzyć. Nie ma tutaj miejsca na przypadek. Jednakże jeżeli budujesz taki bank, masz okazje zobaczyć na zaplecze…
Dla mnie, po ponad 4,5 roku spędzonych w intive nad budową Tandem bank była to niezwykle fascynująca przygoda, ale zacznijmy od początku.

Zmiana planów


Trafiając do intive (wtedy jeszcze SMT Software) miałem pracować nad pewnym projektem, którego nazwy już nawet nie pamietam. Już pierwszego dnia współpracy okazało się, że nastąpiła ‚mała’ zmiana planów. Zaproponowano mi projekt Tandem, który potrzebował akurat nowych osób. Do dziś pamiętam w jaki sposób mój przyszły zespół został zaprezentowany – miałem wrażenie, że poszukiwana jest osoba z naprawdę dużym doświadczeniem, a uczestnictwo w projekcie to pewnego rodzaju prestiż. Nie wiem na ile były to umiejętności marketingowe managera, ale na prawdę chciałem się dostać! Pierwsza rozmowa z Tomkiem i Marcinem tylko utwierdziła mnie w przekonaniu, że chcę tam trafić. Chłopaki zaprezentowali mi projekt w taki sposób, że wiedziałem, iż nauczę się tu niewiarygodnie dużo – Event sourcing, architektura mikroserwisów komunikujących się zarówno sychronicznie jak i asynchronicznie, eventual consistency, 10+ nowych narzędzi do nauki… wchodzę w to!

Weekend

Weekend spędziłem na zgłębianiu tych zagadnień, gdyż następny etap to rozmowa z architektem Tandemu. Ten etap też poszedł bez problemu, aczkolwiek nieocenioną pomocą była poprzednia rozmowa z Marcinem i Tomkiem, który wprowadzili mnie w zagadnienia architektoniczne z któymi wcześniej się nie spotkałem w taki sposób, że ciężko było to zawalić. Stało się. Budujemy bank!

Budujemy bank!


Pierwsze zetknięcie z Tandemem to przede wszystkim natłok nowych rzeczy, nowi ludzie, nowe technologie, nowe procesy. To niebywałe jak szybko jesteśmy w stanie zaadaptować się do nowego otoczenia jeżeli sytuacja tego wymaga. To z czego najbardziej byłem zadowolony to ludzie. Współpraca z ludźmi profesjonalistami w swojej dziedzinie, którzy nie tylko są zaangażowani w rozwój projektu i swój, ale także są skorzy do pomocy to mieszanka wybuchowa. Dla mnie bomba!
Moje pierwsze wrażenia z pracy to podekscytowanie tym nowym środowiskiem i możliwościami jakie tu są. Nie mogłem się doczekać by zacząć, umoczyć ręce w kodzie no i zbudować w końcu ten bank!

Photo by Mojtaba Hosseinzade on Unsplash

Black team

Pierwszy zespół w Tandemie to ‚black team’. Brzmi elitarnie, czyż nie? Dla mnie brzmiało, ale nazwa to tylko… nazwa. Przechodząc do rzeczy ważniejszych – stack technologiczny i wykorzystane podejścia architektoniczne wymagały ode mnie sporo nauki by wiedzieć w jaki sposób wykorzystywać to wszystko efektywnie. CQRS, Event sourcing, messaging, Event-Driven Architecture to była podstawa. Następne elementy układanki to kilka technologi o których wcześniej tylko czytałem lub słyszałem, takich jak NServiceBus, EventStore, Team City, Octopus deploy…. chyba nie ma sensu wypisywać wszystkiego. 

Zadania w zespole?

  • agregacja danych z innych banków
  • wykrywanie regularnych płatności
  • najciekawsze highlighty dotyczące tychże kont bankowych
  • wyliczanie pieniędzy, które klient może bezpiecznie wydać w tym miesiącu
  • alarmy po przekroczeniu dolnego lub górnego progu bilansu konta

Lekcje

Jakie przemyślenia wyniosłem z tego począkowego okresu?

Lekcja 1.

Jeżeli jesteś wysoce zmotywowaną osobą i postawisz się w sytuacji, gdzie musisz nauczyć się wielu rzeczy to po prostu się ich uczysz. Przyparci do muru możemy osiągnąć na prawdę wiele. Dodatkowo wykrztałcamy w sobie umiejętność pracy w środowisku o podwyższonym poziomie niepewności. O ile łatwiej jest pracować nad czymś co znamy już od podszewki.

Lekcja 2.

Jesteśmy produktem środowiska w którym się znajdujemy. Twój progres opiera się w dużym stopniu o ludzi z którymi współpracujesz. W tym początkowym okresie było na prawdę łatwo o pozyskiwanie wiedzy od współpracowników, którzy odznaczali się z jednej strony błyskotliwością, ale z drugiej strony chęcią do dzielenia się wiedzą.

CDN

To tylko początek. W kolejnej części porównam doświadczenia w innych zespołach, a także projekty nad jakimi pracowałem. Oczywiście to oznacza jeszcze więcej lekcji, które wyciągnąłem.