Około trzy miesiące temu zostałem przydzielony do projektu, który był do tej pory opracowywany przez jednego, nowo zatrudnionego programistę, ponieważ był opóźniony. Szczerze mówiąc, projekt jest interfejsem do urządzenia medycznego, które ma wiele subtelności i jest stosunkowo złożone, więc umieszczenie jednej osoby w projekcie, która nie miała doświadczenia w firmie, było prawdopodobnie złą decyzją z perspektywy zarządzania.
W każdym razie, kiedy zacząłem nad tym pracować, zdałem sobie sprawę, że ... cóż, to po prostu w ogóle nie działało. Interfejs użytkownika wyglądał ładnie, ale tak naprawdę nic nie zrobił, a to, co zrobiło, działało nieprawidłowo. Ponownie, żeby być uczciwym, wiele z tego wynikało z faktu, że ten programista nie był odpowiednio przygotowany do napisania interfejsu do naszego urządzenia. Szybko jednak zdałem sobie sprawę, że kod, który był na miejscu, był kruchy i niezwykle trudny w utrzymaniu.
Teraz nie twierdzę, że jestem najlepszym programistą na świecie. Pracuję z wieloma bardzo inteligentnymi ludźmi, którzy są lepszymi programistami niż ja. Staram się jednak pisać kod, który jest tak prosty, jak to tylko możliwe i solidny. Testuję moje kontrole. Jeśli widzę, że mój kod robi się niechlujny i ciężko pracuje z nim wcześniej, zmieniam go. Rozmawiałem kilka razy z moim współpracownikiem, próbując pomóc mu napisać lepszy kod. Jest to nieco trudne, ponieważ a) ma ponad 20-letnie doświadczenie w tej dziedzinie, a ja mam tylko 5, oraz b) został zatrudniony jako tak zwany „ekspert UX”, a inni postrzegają go jako osobę doświadczoną.
To powiedziawszy, po prostu tego nie widzę. Jest bardzo miłym facetem i jest rozsądny, ale za każdym razem sprawdza delikatny kod, działa tylko w najbardziej optymistycznych przypadkach i 9 razy na 10 kończę naprawianie błędów w jego pracy. Jego kod wydaje się po prostu amatorski i oczywiście nie ma takiego poziomu doświadczenia, jak twierdził, kiedy był zatrudniony. Doszło do tego, że dodatkowe godziny, które spędzam na poprawianiu kodu i naprawianiu błędów, odbiły się na mnie. Widzę, że mam dwie opcje:
- Nie rób nic, walnij mnie w tyłek, aby upewnić się, że ten produkt wyjdzie na czas i będzie solidny i zaczekaj, aż upadnie w przyszłości (nie będę z nim współpracował przy tym projekcie po początkowej wersji).
- Opowiedz mojemu szefowi o jego występie. Mój szef jest rozsądnym człowiekiem, ale po prostu czuję się niezręcznie przy takim podejściu. Nie lubię „walić” (z braku lepszego terminu) moich współpracowników i nie wiem, jak on to weźmie.
To tyle. Próbowałem rozwiązać ten problem z moim współpracownikiem, wyjaśniając, dlaczego jego implementacja nie działa lub w jaki sposób jego kod może być łatwiejszy w utrzymaniu, ale nadal popełnia te same błędy. Jestem bardzo zainteresowany, aby usłyszeć, jak inni poradzili sobie z podobnymi sytuacjami, zwłaszcza w zarządzaniu. Z góry dziękuję za wszelkie porady, które możesz mi zaoferować.