Jestem liderem małego zespołu, w którym każdy ma mniej niż rok doświadczenia w tworzeniu oprogramowania. W żadnym wypadku nie nazwałbym siebie guru oprogramowania, ale nauczyłem się kilku rzeczy w ciągu kilku lat, kiedy pisałem oprogramowanie.
Kiedy dokonujemy recenzji kodu, sporo uczę i poprawiam błędy. Powiem na przykład: „To jest zbyt skomplikowane i skomplikowane, a oto dlaczego” lub „Co sądzisz o przeniesieniu tej metody do osobnej klasy?” Szczególnie uważam, aby poinformować, że jeśli mają pytania lub zdania odrębne, jest to w porządku i musimy o tym porozmawiać. Za każdym razem, gdy kogoś poprawiam, pytam „Co myślisz?” lub coś podobnego.
Jednak rzadko, jeśli w ogóle, nie zgadzają się lub pytają dlaczego. A ostatnio zauważyłem bardziej rażące oznaki, że ślepo zgadzają się z moimi stwierdzeniami i nie formułują własnych opinii.
Potrzebuję zespołu, który może nauczyć się robić właściwe rzeczy samodzielnie, a nie tylko postępować zgodnie z instrukcjami. Jak poprawić młodszego programistę, a jednocześnie zachęcić go do samodzielnego myślenia?
Edycja: Oto przykład jednego z tych oczywistych znaków, że nie formułują własnych opinii:
Ja: Podoba mi się twój pomysł stworzenia metody rozszerzenia, ale nie podoba mi się, jak przekazałeś dużą złożoną lambdę jako parametr. Sonda lambda zmusza innych do zbytniej wiedzy na temat wdrażania metody.
Junior (po nieporozumieniu): Tak, całkowicie się zgadzam. Nie powinniśmy tutaj używać metod rozszerzenia, ponieważ zmuszają innych programistów do zbytniej wiedzy na temat implementacji.
Nastąpiło nieporozumienie, które zostało rozwiązane. Ale w jego wypowiedzi nie było nawet UNII logiki! Myślał, że zwraca mi moją logikę, myśląc, że to miałoby sens, gdyby naprawdę nie miał pojęcia, dlaczego to powiedział.