Jak zabierasz się za wprowadzanie bazy kodu, która może być dość złożona i zaplątana w wiele „gotchas”, dla nowego członka twojego zespołu?
Myślę, że najłatwiejszym sposobem byłoby zaprojektowanie ogólnej architektury za pomocą diagramów i poświęcenie kilku tygodni (lub miesięcy) na przydzielenie nowej osobie dobrze zdefiniowanych (i dobrze zakrojonych) zadań, w miarę jak przyzwyczaja się ona do kodu.
Jednak jako konsultant (i młodszy pracownik) nie zawsze mogę to mieć ze względu na ograniczenia czasowe lub wyznaczenie roli zespołu. (Brałem udział w tym konkretnym projekcie dwa razy dłużej niż ktokolwiek inny, więc „Junior” w żaden sposób nie „wie mniej o kodzie / projekcie”).
Miałem już kilka razy zadanie wprowadzenia nowego członka do projektu i kodu, i niestety za każdym razem, gdy okazuje się, że nie jestem w tym lepszy od poprzedniego. Uwielbiam diagramy i zdjęcia, ale często uważam, że nie uwzględniają odpowiednio złożoności systemu. (A co z „gotchami” tych małych?)
Projekt zbliża się do momentu, w którym przekażemy go klientowi. Aby uczynić trudniejszym, osoba, z którą będę przekazywać wiedzę, jest po prostu po studiach. (Nie to, że jestem znacznie lepszy, gdy wykonuję transfer wiedzy z wyższymi programistami).
Odwiedzam grupę użytkowników raz w miesiącu i inne pojawiające się okazje, więc nie jestem przyzwyczajony, że zapoznałem się z nowymi tematami, ale czuję, że moja zdolność do powielania skutecznego dzielenia się wiedzą jest żałośnie niewystarczająca.
Wszelkie porady będą mile widziane. Szukam głównie wskazówek, których mogę przestrzegać. Na przykład: od czego zaczynasz? Jak postępujesz? Jak radzisz sobie z nieznanymi technologiami lub wzorcami ze strony słuchacza, nie biorąc całego dnia? Gdzie łączysz logikę biznesową ze strukturą kodu?
Dziękuję Ci!
(Jak zawsze możesz edytować pytanie według własnego uznania).
# TODO: fix this ugly hack