10 rzeczy poprawiających workflow developera

Chcesz znacząco usprawnić współpracę i komunikację w zespole?
Przedstawiamy kilka metod, na których skorzystają zarówno osoby początkujące w świecie IT, jak doświadczeni deweloperzy.

Umiejętności techniczne w świecie IT są tylko wierzchołek góry lodowej.
Pod wodą, kryje się szereg ważnych umiejętności, które przykuwają uwagę. Należą do nich m.in. samodzielność, odpowiedzialność, komunikatywność, czy też umiejętność organizacji pracy swojej i zespołu.

1. Konsultuj odpowiedzialnie

Sprawia Ci przyjemność to, że możesz komuś pomóc? Zapewne TAK. Większość ludzi przyznaje, że lubią pomagać. Jeżeli chcesz żeby ktoś zainwestował swój czas to przygotuj się do tego. Przemyśl o co dokładnie chcesz zapytać i sprawdź, czy:

  • pytanie jest zrozumiałe?
  • osoba, którą pytasz jest świadoma ile potrzebujesz jej czasu?
  • osoba, którą pytasz otrzymała wszystkie niezbędne dane do zrozumienia Twojego problemu?
  • nakreśliłeś pełen kontekst?
  • pytanie jest możliwie krótkie i precyzyjne?
  • osoba, którą pytasz zna konkretny rezultat, którego oczekujesz?

Pamiętaj, aby informację dostarczyć z wyprzedzeniem, tak aby osoba którą chcesz poprosić o pomoc miała szansę na przygotowanie się.

Przykład

W moim zespole wygląda to mniej więcej w następujący sposób:
Problem w aplikacji

  1. Wyślij link/ścieżkę i instrukcję krokową jak powielić błąd.
  2. Wyślij ścieżkę do pliku źródłowego.
  3. Wyślij nazwę brancha/zadania, na którym pracujesz.
  4. Daj znać czy problem występował już we wcześniejszych wersjach, czy tylko w Twojej.
  5. Zadaj pytanie i opisz jakiego rezultatu oczekujesz, gdyż osoba którą pytasz może nie znać twoich ustaleń.

Przechodząc przez te kroki, często sami wpadamy na rozwiązanie problemu lub znajdujemy źródło.

2. KISS

Keep It Simple Stupid.
Postaraj się, aby twoje rozwiązanie było proste w użyciu i możliwe do zastosowania ponownie. Niepotrzebne komplikowanie, utrudnia stosowanie twojego rozwiązania dla różnych przypadków. Twoja wartość dla zespołu jest wynikiem efektów Twojej pracy oraz stworzonych rozwiązań.

Pamiętaj, że nie każdy zrozumie Twoje podejście do rozwiązywania problemów Weź też pod uwagę, że Twoje rozwiązanie ma być przydatne przede wszystkich dla innych.

3. Sprawdź, zanim oddasz do sprawdzenia

Staraj się utrzymać porządek w swoim zadaniu. Przed oddaniem sprawdź czy nie zawiera niepotrzebnego bałaganu. Nie chcesz przecież, żeby osoba sprawdzająca Twoją pracę musiała usuwać niepotrzebne komentarze, printy, console.log'i itp.

Wystarczy przed oddaniem zadania zweryfikować wykonane zmiany.

git diff upstream nazwa_branch 
# wyświetla różnice pomiędzy obecnym i wskazanym branchem
1
2

4. Kontroluj zmiany w plikach - GIT

Nawet jeżeli pracujesz sam zachęcam Cię do korzystania z GIT.
Z pomocą kilku prostych komend możesz weryfikować zmiany jakie zachodzą w Twoim zadaniu.
Jeżeli pracujesz w zespole pobieraj i wysyłaj zmiany projektu na bieżąco (nawet kilka razy dziennie). Postaraj się także opisywać swoje zmiany w sposób czytelny i zrozumiały dla innych.

Podstawowe komendy:

git checkout -b nazwa_branch    # zakłada nowy branch i przechodzi na niego
git pull upstream nazwa_branch  # pobiera najnowsze zmiany
git add .                       # dodaje pliki do śledzenia
git commit -am "opis zmian"     # zapisuje zmiany na branchu wraz z opisem
git diff upstream nazwa_branch  # wyświetla różnice
git push upstream nazwa_branch  # wysyła zmiany na serwer
1
2
3
4
5
6

5. MVP

Minimum Viable Product.
Zawsze w pierwszym kroku twórz najbardziej podstawową wersję, a następnie przekaż ją do realnego używania. Dzięki temu dowiesz się czego brakuje w pierwszej kolejności, a także co ewentualnie poprawić w kolejnej wersji. Większość projektów umiera jeszcze zanim zostaną opublikowane.

Rozwój oprogramowania to marsz przez punkty kontrolne, a nie bieg przed siebie z nadzieją, że gdzieś się dobiegnie. Rozpoznanie w boju często nie jest najlepszą strategią.

Przykład

Facebook w początkowej wersji łączył studentów na podstawie ich uczelni i grupy. Pozwalał publikować wiadomości na ich tablicach. Pozostałe funkcje pojawiły się dużo później.

Jeżeli zatem budujesz aplikację np. do faktur, zrób tylko podstawową funkcjonalność związaną z tworzeniem najprostszej faktury. Dodatki typu filtrowanie, przeliczania walut, wystawianie korekt itp. powinny być zrealizowane na dalszym etapie.

6. Nie rozumiesz - nie używaj

Jeżeli nie wiesz w jaki sposób działa funkcja, plugin, metoda etc. to lepiej ją najpierw zrozumieć. Unikniesz dzięki temu wielu kłopotliwych sytuacji, w których ktoś może Cię poprosić o wyjaśnienie związane z zastosowanym rozwiązaniem. Wyjaśnienia "najważniejsze, że działa", nie są mile widziane w żadnym zespole ceniącym jakość i rozwój.

Trzymaj się tego co znasz, uzupełnij wiedzę lub jeśli jest taka potrzeba - poproś śmiało o pomoc.

7. Rozwijaj się na bieżąco

Niezależnie od technologi, w której pracujesz zadbaj o to, aby Twoja wiedza i stosowane rozwiązania były aktualne. Staraj się korzystać z rozwiązań zgodnych z aktualnymi standardami, chyba że wymagania w projekcie mówią inaczej.

Na bieżąco rób sobie listę miejsc, do których regularnie zaglądasz. Mogą to być m.in.:

  • dokumentacje,
  • blogi,
  • kanały YouTube,
  • fora itp.

Ważne jest regularne aktualizowanie.

8. Narzędzia

Zastosowanie odpowiednich narzędzi znacząco przyspiesza pracę i ułatwia rozwój projektu. Korzystaj z narzędzi rekomendowanych przez Twój zespół. Stosowanie tych samych narzędzi znacząco wpływa na spójność projektu.

Jeżeli znasz narzędzie, które mogłoby polepszyć waszą współpracę przedstaw je dla zespołu.

9. Umiejętnie odbieraj informację zwrotną (feedback)

Współpracownicy i kandydaci często podczas rozmów wspominają, że bardzo ważna jest dla nich szczerość. Niestety w sytuacji, w której otrzymują negatywny feedback okazuje się, że szczerość jest super, ale tylko wtedy kiedy wiąże się z pozytywami.

Naucz się, wyciągać jak najwięcej informacji z wskazanych błędów i przemyśl jak nie popełniać tych samych błędów w przyszłości. Pamiętaj, że udzielanie negatywnego feedbacku jest stresujące dla obu stron i ma na celu pomoc w Twoim rozwoju. Przemyśl także co jest ważniejsze, realny i szybki feedback, czy miłe słowa których głównym celem jest zadbanie o komfort psychiczny.

10. Komunikuj się na bieżąco

Nie odkładaj rzeczy na później!

Jeżeli będziesz czekać z wysłaniem maila, przekazaniem zadania do piątku do godziny 15:00 to jest spora szansa, że twoja wiadomość zostanie zignorowana. Twój współpracownik po weekendzie może mieć już kilkadziesiąt takich wiadomości. Staraj się wszelkie niejasności rozwiązywać na bieżąco i nie kumulować tematów. Przyspieszy to wykonywanie zadań i dobrze wpłynie na wartość Twoją i zespołu.