Zadaj te pytania dotyczące swojej szansy.
- Czy są przyzwyczajeni do pracy w pojedynkę czy z bardzo małym zespołem?
- Czy najczęściej kodowali w tym jednym sklepie?
- Czy są przyzwyczajeni do podejmowania decyzji?
- Czy są przyzwyczajeni do „po prostu robienia tego”?
- Czy napisali większość kodu?
Jeśli odpowiedzi brzmią „tak”, to pomaluję obraz konkretnego typu głównego programisty. Jeśli zgadza się z tym, czego doświadczyłeś, być może pomoże ci to zrozumieć. Jeśli nie, zignoruj tę odpowiedź .
Jest to ktoś, kto był tam od pierwszego dnia, spędził lata na tej samej pracy, pracując na tej samej podstawie kodu, jest przyzwyczajony do swojej drogi i nie ma dużego doświadczenia z innymi sposobami.
Podczas pisania kodu nie biorą pod uwagę innych ludzi, ponieważ ma to dla nich sens. Oczywiście, że tak, napisali to lub spędzili lata na zrozumieniu.
Uważają, że styl kodowania jest osobistą preferencją, a nie narzędziem ograniczania konserwacji i błędów. Kłócąc się o styl kodowania, z trudem wysłuchają twoich argumentów, ponieważ prawdopodobnie nigdy nie zastanawiali się zbyt wiele, dlaczego robią to po swojemu. Usłyszą: „Chcę to zrobić po swojemu” lub „Chcę to zrobić w nowy, fantazyjny, modny sposób”.
Są na swój sposób. Ponieważ tak długo robią to w ten sam sposób, wszystkie swoje narzędzia i edytory oraz mikrokonfiguracja mózgu odpowiadają dokładnie ich stylowi. Wszelkie odchylenia od tego stylu będą kolidować z tym starannie ułożonym, ale bardzo kruchym sposobem pracy. Próby zmiany będą powodować skargi na ich redaktora, narzędzia, sposób, w jaki lubią pracować, lub „trudność z czytaniem”. Odrzucają zmiany, ponieważ tak mocno otoczyli się obecnym stanem rzeczy, że nie mogą się zmienić.
To ktoś, kto nigdy nie nauczył się właściwie inżynierii oprogramowania i architektury oprogramowania. Po prostu uderzają razem w coś, co działa.
Masz problem z ludźmi, a nie technologiczny.
Będziesz musiał przekwalifikować się na prowadzeniu lub zrezygnować.
Zarządzanie jest ostatecznością . Zarówno z powodów, które @JaredSmith wskazał, jak i dlatego, że przegrasz. Ten facet spędził lata na nich zarabiając. Napisał ich towarzystwo. Ulegał licznym pożarom. Dla ciebie jest kowbojskim szefem kuchni, który robi spaghetti. Dla nich jest bohaterem, który zbudował i uratował firmę.
Aby przekwalifikować się, musisz ...
- Zdobądź jego zaufanie.
- Dowiedz się, jak on myśli.
- Odnieś się do jego obaw przed zmianą.
- Ułatwiaj zmianę.
- Pokaż, jak mu to lepiej .
Potraktuj jego styl poważnie i wejdź mu do głowy. Zapytaj go o to. Dlaczego robi rzeczy tak jak on? Co widzi, kiedy to czyta? Jak współdziała z jego narzędziami? Jak porusza się po kodzie? Znajomość wszystkich tych rzeczy pozwoli ci zrozumieć i odpowiedzieć na jego zastrzeżenia.
Znajdź obiektywny rdzeń jego subiektywnych obiekcji i spraw, by były one wykonalne. „Trudno przeczytać” jest subiektywne i nie daje żadnych informacji. Nic na to nie poradzisz. „Jestem ślepy na kolory, a podświetlanie składni nie działa” jest obiektywne, daje informacje i możesz coś z tym zrobić. Poleciłbym książkę zatytułowaną Getting To Yes, aby uzyskać więcej informacji na ten temat.
Gdy dojdziesz do głównego problemu, którego on naprawdę doświadcza, sprawdź, czy możesz go naprawić lub złagodzić. To nie jest problem. Prawdopodobnie nadal będą mieć problemy emocjonalne ze zmianą, ale przynajmniej nie mogą dłużej argumentować, że to prawdziwy problem.
Zrób to po trochu. To ktoś, kto robi to w ten sam sposób od lat. Jest przyzwyczajony do dostrzegania pewnych wzorców w kodzie i używania ich do zrozumienia. Nagła zmiana wszystkich tych wzorów będzie myląca. Jakkolwiek frustrujące będzie powolne przyspieszanie ich za pomocą znanych dobrych praktyk, musisz go przez to przejść.
Zwolennik standardowego stylu społeczności. Eliminuje to argument, że chodzi o osobiste preferencje i wywiera na nich presję, aby uzasadnić, dlaczego ich odmienny styl jest o wiele lepszy. Jeśli planujesz zatrudnić, ułatwia to integrację nowych pracowników.
Zwolennik zautomatyzowanego stylu kodu. Naciskaj przycisk, postępując zgodnie z właściwym stylem. Użyj narzędzia, które zaczyna się od standardowego stylu, pozwala skonfigurować go według własnych upodobań i może zmienić styl kodu za naciśnięciem jednego przycisku. Ułatwienie podążania za tym stylem usuwa wiele argumentów na temat tego, jak trudno będzie podążać za tym stylem. Potrafią kodować w dowolny sposób, a kiedy skończą, naciskają przycisk i postępują zgodnie ze stylem, który inni mogą przeczytać.
Ponieważ ta osoba nie jest nastawiona na myślenie o innych, będziesz musiał pokazać, w jaki sposób te zmiany przynoszą im korzyści. Może to być tak proste, jak „ponieważ jest to teraz standard, nie będziesz musiał ponownie przechodzić tej walki z następną zatrudnioną osobą”. Lub może to być „jeśli mamy testy, możesz być bardziej agresywny w kwestii zmiany kodu i mniej martwić się zmianami”. Lub „jeśli są dobre dokumenty, ludzie nie będą musieli niepokoić cię pytaniami na temat działania kodu”. Aby to było skuteczne, musisz wiedzieć, czego chcą - niektórzy ludzie lubią się martwić, to sprawia, że czują się ważni.
To długa, długa droga. Będziesz musiał zdecydować, czy masz cierpliwość, aby zarządzać i przekwalifikować swojego szefa. Pomyśl o sobie bardziej jako o nauczycielu niż o ich sfrustrowanym podwładnym i możesz poczuć się lepiej.