Backend, Frontend

Codzienność Full-Stack developera w TeaCode

praca fullstacka

Zdarzają Ci się tygodnie, w których już w poniedziałek marzysz o weekendzie? Odhaczasz task za taskiem i nie możesz doczekać się godziny 17? W niedzielę nie potrafisz się zrelaksować, bo już myślisz o tym, co Cię czeka w poniedziałek? Praca nie musi tak wyglądać. Skąd wiem – zapytasz. Ze swojego ponad dwuletniego doświadczenia.

Daily meeting? Nie, dziękuję

Niech zgadnę, przychodzisz do pracy, robisz kawę, a potem tracisz czas na daily meeting. Spory team, kilkadziesiąt osób opowiada co robiło wczoraj i co planuje na dziś. Pół godziny z głowy (minimum!). Pewnie w międzyczasie próbujesz coś robić, ale doskonale wiemy jak to jest – słuchasz chociaż jednym uchem. Kto wie, może znienacka ktoś wywoła Cię do odpowiedzi?

Idea daily jest sensowna. Nawzajem informujemy się co się dzieje, nad czym pracujemy i gdzie jesteśmy. Czy jednak jest sens tracić czas na spotkanie? W TeaCode mamy na to inny sposób.

Gdy już zaparzę poranną kawę, siadam do komputera i odpalam Slacka. Stworzyliśmy osobny kanał “daily”, w którym każdy rano wrzuca plan pracy na dziś. Po południu natomiast aktualizujemy wpisy, oznaczając, które zadania skończyliśmy. Takie rozwiązanie ma same plusy: gdy pracuję zdalnie z elastycznym grafikiem nie muszę pamiętać, by stawić się na poranne spotkanie, nie tracę na nim czasu i jednocześnie w każdej chwili mogę zobaczyć, nad czym pracuje reszta zespołu. Dlaczego to takie ważne?

Kilka tygodni temu miałem zagwozdkę dot. Google Tag Managera. Niekoniecznie mój obszar kompetencji. Musiałem zdefiniować customową konwersję dla klienta. Mój kod działał jak należy, ale nie wiedziałem jak się do tego zabrać od strony GTM. Łamiąc nad tym głowę, dostałem powiadomienie, że ktoś wrzucił swój plan dnia. Od kilku dni mieliśmy w teamie nową koleżankę, Kasię, która właśnie tego dnia zamierzała definiować nasze własne konwersje w GTM. Pomyślałem, że pewnie mogłaby mi pomóc i napisałem do niej. Efekt? Udało nam się dość sprawnie rozwiązać problem.

Podsumowując, czy wróciłbym do codziennych spotkań? Zdecydowanie nie. Teraz mam wszystkie informacje w jednym miejscu, na wyciągnięcie ręki.

Weekly team meeting

Brak daily nie oznacza jednak, że w ogóle nie organizujemy spotkań zespołu. W każdy poniedziałek zbieramy się w sali konferencyjnej i dzwonimy do wszystkich osób, które pracują zdalnie. Jakub i Michał opowiadają o projektach, które kończymy lub zaczynamy. Dowiadujemy się, kto niebawem dołączy do zespołu lub poznajemy nowe osoby, omawiamy kwestie bieżące i integracyjne. Rozmawiamy i wymieniamy się pomysłami. Nie zawsze trwa to planowe pół godziny – czasem wystarczy kilkanaście minut. Same konkrety, bez zbędnego owijania w bawełnę. Nie jest ważne jak długo trwa, weekly pozwala nam poczuć się częścią teamu.

Elastyczna praca zdalna? No problem!

Nasze biuro jest spore i z pewnością każdy znalazłby w nim kąt dla siebie, ale nie o to tu chodzi. Niektórzy preferują pracę zdalną z uwagi na oszczędność czasu (i pieniędzy, odkąd paliwo drastycznie zdrożało), a inni mają dodatkowe zobowiązania (np. łączą pracę z opieką nad dzieckiem). Sam czasem wolę pracować z domu, wszyscy to rozumieją. Nikt nie wymaga, by każdy odmeldował się o 9:00 rano w firmie.

Taki model silnie współgra z naszą codzienną pracą. Pracujemy z klientami na całym świecie, co oznacza różne strefy czasowe. Z jednej strony my dostosowujemy godziny pracy do naszych potrzeb, a z drugiej dzięki temu jesteśmy dostępni dla naszych klientów wtedy, gdy nas potrzebują. Win – win.

Współpraca z klientami z całego świata

Współpracujemy głównie z klientami z zagranicy. Zrealizowaliśmy projekty z USA, Australii, Niemiec, Anglii, Belgii, Szwecji czy Norwegii. Realizowaliśmy nawet projekt dla klienta z Arabii Saudyjskiej. Klienci wybierają nas z uwagi na umiejętności, ale to sprawia, że oczekiwania wobec efektu końcowego rosną. Klienci są wymagający, ale zwykle dobrze się z nimi pracuje. Robimy projekty, które coś znaczą – np. ułatwiają codzienne funkcjonowanie i komunikację, pomagają zadbać o kondycję fizyczną i zdrowie albo wspierają wewnętrzną pracę w organizacji.

Obecnie pracuję nad projektem, który ma ułatwić ludziom projektowanie domu ich marzeń. Z każdą kolejną linijką kodu wiem, że to ma sens, że to nie jest sztuka dla sztuki. Zresztą taki był cel Michała (CEO) i Jakuba (CTO), kiedy zakładali TeaCode: robić rzeczy, które mają znaczenie.

Klienci są wymagający, ale też otwarci na nowe pomysły. To dobrze. Razem szukamy najlepszych rozwiązań, nie robimy dokładnie tego, co chce klient. Mamy wiedzę i doświadczenie, którego klientowi brakuje. Naszym obowiązkiem jest wesprzeć go i pokierować projektem tak, aby zakończył się sukcesem. Klient też należy do naszego teamu, dlatego jego sukces jest naszym sukcesem, a jego porażka jest naszą porażką.

Projekty od A do Z

Nad przebiegiem projektów czuwa Gabriela, nasz główny Project Manager. To ona jest łącznikiem między klientem, a nami. To bardzo usprawnia komunikację i zdejmuje z nas, deweloperów wiele pochłaniających czas obowiązków.

Zdarza się, że projekt realizuje tylko jedna osoba, jednak częściej współpracujemy w mniejszych lub większych zespołach. Musimy zadbać o cały proces – począwszy od projektu, aż do wypuszczenia aplikacji na rynek (a nawet i wtedy dość często dodajemy nowe funkcje). Żeby wypuścić dobry soft, potrzebujemy w teamie projektowym nie tylko deweloperów, ale i testerów. Czasem do teamu dołącza grafik i spec od marketingu, jeśli klienci potrzebują wsparcia i w tych obszarach. Nad wszystkim czuwają oczywiście Team Leaderzy i PM’owie, którzy są “dla nas” i zawsze służą pomocą. Na szczycie piramidy stoją nasi CTO i CEO, którzy z góry sprawują pieczę nad projektami, służą radą i czasem (może z poczucia nostalgii, może dlatego, że naprawdę kochają kodzić) wskakują na pokład i sami mierzą się z taskami z backlogu.

Zajmujemy się projektami od początku do końca, nieważne, czy ktoś ma dopiero zalążek idei, czy w pełni ukształtowany plan na swoją aplikację. Nie kończymy współpracy na deploy’ach, oferujemy maintenance i ongoing support. Bardzo dbamy o dobre, przyjacielskie relacje z naszymi klientami. Nie zdziw się, jeśli raz na jakiś czas dostaniesz maila od klienta z pytaniem o samopoczucie i o to, co zwiedzić w Warszawie.

Fuckup, czyli jak rozwiązać problem

Współpraca. To słowo pojawia się bardzo często, ale rzadko faktycznie cokolwiek znaczy. Często oznacza, że gdy coś idzie dobrze, to jest to też moja zasługa, ale gdy wszystko się wali, to odcinam się od tego. Jak mówią: sukces ma wielu ojców, ale porażka jest sierotą. Nie tutaj.

Fackupy były, są i będą. Sztuką jest potrafić sobie z nimi radzić. Nasz zespół przyznaje się zarówno do sukcesów, jak i wpadek. Sukcesami należy się cieszyć, wpadki należy błyskawicznie naprawiać. Nikt nie zostaje sam z problemami. Mój problem, to problem całego teamu. Gdy mam buga albo utknę, często pomaga mi Robson, ale nie tylko on. Nawet Michał (CEO) i Jakub (CTO) oferują pomoc, gdy napotykamy na solidny mur. Jesteśmy teamem, na dobre i na złe.

One to one

Zwykle to jest najbardziej przerażające w pracy – spotkanie w cztery oczy z szefem. Zastanawiasz się pewnie czy zaraz nie wytknie Ci błędów, obarczy winą za ostatni fuckup w działającym już systemie i każe pracować po godzinach, by go naprawić?

To nie nasza rzeczywistość. Michał nazywa to “kulturą feedbacku”, ale zasada jest prosta: nie szukamy winnych, szukamy rozwiązań. Omawiamy problemy i szukamy sposobów, by zapobiec im w przyszłości. Jeśli nie dajemy sobie z czymś rady, możemy poprosić o pomoc. Nasze projekty są wymagające, integrują różne rozwiązania i technologie. Jeśli brakuje nam wiedzy z jakiegoś obszaru – mówimy wprost i szkolimy się. Nie wymieniamy ludzi z powodu braku wiedzy w jakimś zakresie, my tę wiedzę po prostu zdobywamy. Rozwijamy się.

Przede wszystkim one to one to dialog. Michał i Kuba opowiadają o swoich spostrzeżeniach, sugerują zmiany a później ja odpowiadam tym samym. Rozmowa to podstawa. Zawsze.

Pomagamy sobie nawzajem. Gdy pierwszy raz miałem jakiś większy problem, Michał (CEO) zaproponował swoją pomoc. Nie powiem, że byłem zdziwiony – znałem już trochę panującą tu atmosferę. Zastanowiłem się wtedy po prostu ile razy w życiu któryś z wcześniejszych przełożonych zaproponował mi bezpośrednią pomoc?

Chillout? Zawsze i wszędzie!

Praca to… nie tylko praca, to przede wszystkim ludzie. Żeby dobrze działać, jak jeden organizm, musimy się też lubić. Nie da się zaprzyjaźnić wpatrując tylko w ekran komputera i stukając klawiaturę. Nie da się tego zrobić tylko z pomocą jednego półgodzinnego spotkania w tygodniu. Są na to inne sposoby.

Nic tak dobrze nie integruje jak sport. Chociaż czasem trudno wstać rano z łóżka, we wtorki i środy co tydzień przed pracą spotykamy się na squasha i basen. Rywalizujemy i poznajemy się lepiej.

W trakcie pracy też nie zapominamy o tym, by zrobić coś wspólnie. Jemy wspólnie obiady i po prostu rozmawiamy – nie tylko o projektach, o wszystkim. Wiemy kto ma małe dziecko, kto się żeni, a kto się niedawno przeprowadził. Dobrze się czujemy w swoim towarzystwie. W międzyczasie możemy też pograć w piłkarzyki.

Wieczorami lub w weekendy lubimy pograć w CS’a. Wszyscy, dziewczyny również. Nawet jeśli nie mamy czasu na grę, możemy obejrzeć film, który ktoś ostatnio polecił (refleksjami wymieniamy się podczas lunchu).

W biurze łatwo się zintegrować, ale osoby pracujące zdalnie są tej możliwości pozbawione. Staramy się pamiętać także o nich i organizować spotkania integracyjne również online. Ostatnio zdalnie degustowaliśmy whisky, a na przyszłość rozważamy zdalny escape room.

Najbardziej jednak wyczekujemy wyjazdów integracyjnych – to kilka dni tylko dla nas. Wspólnie wybieramy lokalizację, a potem dobrze się tam bawimy. Na wyjeździe obowiązują trzy zasady: zwiedzaj, odpoczywaj i spędzaj czas z teamem. Planujemy wprowadzić czwartą: zrób dobre zdjęcie.

Do teamowego albumu.

baner

Zdjęcie główne artykułu pochodzi z unsplash.com.

Swoją przygodę z programowaniem rozpoczął w 2013 roku, od 2020 roku związany jest zawodowo z TeaCode. Na co dzień korzysta z frameworków react.js, next,js i node, js. Prywatnie pasjonat lotnictwa, squasha i snookera.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/codziennosc-full-stack-developera-w-teacode" order_type="social" width="100%" count_of_comments="8" ]