W odpowiedzi na moje przestarzałe pytanie współpracownika różne osoby omawiały strategie postępowania ze współpracownikami, którzy nie chcą zintegrować przepływu pracy z zespołem.
Chciałbym, jeśli to możliwe, nauczyć się kilku strategii „nauczania” współpracownika, który jest po prostu ignorantem nowoczesnych technik i narzędzi, i być może trochę apatyczny.
Zacząłem współpracować z programistą, który do niedawna pracował we względnej izolacji, w innej części firmy. Ma szeroką wiedzę dziedzinową, a co najważniejsze, wykazał się dobrymi umiejętnościami rozwiązywania problemów , czego wielu kandydatom wydaje się brakować.
Jednak rzeczywisty kod (C #), który widziałem, to powrót do dni VB6. Struktura proceduralna, notacja węgierska, zmienne globalne (nadużycie static
), brak interfejsów, brak testów, niestosowanie generycznych, rzucanie System.Exception
... masz pomysł.
Ten programista jest trochę starszy ode mnie i przynajmniej na podstawie pierwszych wrażeń nie aktywnie szuka pozytywnych zmian. Nie zamierzam mówić , że jestem odporny na zmiany, ponieważ uważam, że jest to w dużej mierze kwestia poruszenia tematu i chcę się przygotować.
Programiści zwykle są upartymi ludźmi, a płonące pistolety i wprowadzanie recenzji kodów rip-it-to-shreds i ściśle przestrzegane zasady prawdopodobnie nie przyniosą oczekiwanego rezultatu końcowego. Gdyby to było nowe zatrudnienie, młodszy programista, nie pomyślałbym dwa razy o przyjęciu stanowiska „mentora”, ale jestem wyjątkowo nieufny wobec traktowania doświadczonego pracownika jako nieświadomego początkującego (którego on nie jest - po prostu nie zrobił dotrzymał kroku pewnym postępom w tej dziedzinie).
Jak mogę podnieść standard jakości kodu tego dewelopera na sposób Dale Carnegie poprzez delikatne przekonywanie i niematerialne zachęty? Jaka byłaby najlepsza strategia przeprowadzania subtelnych, stopniowych zmian bez tworzenia sytuacji przeciwnej?
Czy inni ludzie - zwłaszcza główni programiści - byli już w takiej sytuacji? Które strategie skutecznie stymulują zainteresowanie i tworzą pozytywną dynamikę grupy? Które strategie okazały się nieskuteczne i których lepiej byłoby uniknąć?
Wyjaśnienia:
Naprawdę czuję, że kilka osób odpowiada w oparciu o osobiste uczucia, nie czytając wszystkich szczegółów pytania. Proszę zwrócić uwagę na następujące kwestie, które powinny być dorozumiane, ale wyrażam się wyraźnie:
Ten współpracownik jest z mojego wieku tylko „starszy”. Nigdy nie powiedziałem, że jego tytuł, sfera wpływów lub lata w organizacji przekraczają moje, i w rzeczywistości żadna z tych rzeczy nie jest prawdą. Jest programistą LOB, który został zaabsorbowany głównym sklepem programistycznym. to jest to!
Nie jestem nowym najemnikiem, młodszym programistą ani innym naiwnym idiotą z wielkimi planami przekształcenia firmy z dnia na dzień. W zasadzie jestem odpowiedzialny za proces tworzenia oprogramowania, ale jak wielu, którzy pracowali jako „potencjalni klienci”, będzie wiedział, że obowiązki nie zawsze są ściśle powiązane z tabelą organizacyjną.
Ja nie pytając ludzi, jak dostać moją drogę, przyjdź piekło lub wysokiej wody . Mógłbym to zrobić, gdybym chciał, a wynik netto byłby taki, że ta osoba stałaby się urażona i / lub zrezygnowała. Spróbuj zrozumieć, że szukam społecznej , opartej na współpracy metody wprowadzania zmian.
Wzmianka o „… zmiennych globalnych… bez testów… rzucaniu
System.Exception
” miała na celu wykazanie, że problemy nie są jedynie powierzchowne lub estetyczne . Praktyki, które mogą działać w przypadku stosunkowo małych aplikacji CRUD, niekoniecznie działają w przypadku dużych aplikacji korporacyjnych i w rzeczywistości żaden z dotychczasowych kodów nie przeszedł pomyślnie testów integracyjnych.
Proszę, spróbuj wziąć to pytanie za wartość nominalną, zaakceptuj fakt, że tak naprawdę wiem, o czym mówię i albo odpowiedz na pytanie, które faktycznie zadałem, albo przejdź dalej.
PS. Moja najszczersza wdzięczność dla tych, którzy - udzielili - konstruktywnych rad, zamiast spierać się z tym założeniem. Pozostawię to otwarte na dłużej, ponieważ mam nadzieję, że usłyszę więcej na temat doświadczeń w świecie rzeczywistym.