W jaki sposób nietechniczny kierownik wnosi wartość dodaną do zespołu zmotywowanych programistów?

63

Widzę wielu programistów odwracających się od ról zarządzania i administracji. Chcą budować rzeczy. W rezultacie wiele z tych stanowisk jest obsadzanych przez osoby nietechniczne. Nie widzę, jak dodają wartości. Czy planowanie spotkań, rezerwowanie miejsc poza domem i inne prace administracyjne są wystarczające, aby uzasadnić ich rolę?

Senthil Kumaran
źródło
10
Jak myślisz, jaki procent wszystkich zespołów oprogramowania mógłby działać w ten sposób bez przeszkadzania ego i programów?
ozz
30
Z Tao programowania : Nowicjusz zapytał: „Na wschodzie znajduje się wielka struktura drzewna, którą ludzie nazywają„ kwaterą główną firmy ”. Jest nadęty z wiceprezydentów i księgowych. Wydaje wiele notatek ... Jak może być taka nienaturalna istota? ” / Mistrz odpowiedział: „Dostrzegasz tę ogromną strukturę i niepokoi cię to, że nie ma ona żadnego racjonalnego celu ... Czy nie podoba ci się bezproblemowa łatwość programowania pod gałęziami osłonowymi? Dlaczego przeszkadza jej bezużyteczność?”
apsillers
2
Rands ostatnio pisze o niektórych z tych zagadnień; Daję mu pieczęć rekomendacji. (Nie wspominając o tym, że ma też wiele innych świetnych pism na temat zarządzania!)
Jari Keinänen

Odpowiedzi:

112

Nie widzę, jak obecnie wnoszą wartość dodaną i czy planowanie spotkań, rezerwowanie stron internetowych i inne czynności administracyjne wystarczą do ich roli?

Nie lekceważ stopnia interakcji twojego kierownika z innymi działami. Obsługują budżety, plany treningowe, dokumenty HR. Chronią deweloperów przed wciągnięciem w spotkania z innymi działami i zapewniają jednolity front dla twojej grupy.

Krótko mówiąc, ich zadaniem jest ochrona zmotywowanych programistów przed wszystkimi innymi demotywującymi rzeczami, które istnieją w biznesie.

Telastyn
źródło
4
I wykonają znacznie lepszą robotę, broniąc pensji / podwyżki.
JeffO
20
Bardzo +1. Od czasu do czasu dostajemy „przecieki” przez system i małe wyobrażenie o tym, przez co przechodzą nasi menedżerowie, a zwłaszcza właściciel produktu. Mam nie chcą zajmować się tym dzienniku.
Izkata
1
Wiem, że są one ważne, ale nie dostaję względnego znaczenia w zespole programistów i ich wartości.
Senthil Kumaran
17
@SenthilKumaran Czy jako programista wolisz spędzić dwie godziny z menedżerem z innego działu, dyskutując, dlaczego oprogramowanie nie jest kompletne, czy wolisz spędzić te dwie godziny na pisaniu kodu? Wiesz, jak trudno jest wytłumaczyć swoje problemy techniczne swojemu przełożonemu. Wyobraź sobie, że próbujesz wyjaśnić to komuś, kto wie jeszcze mniej niż Twój nietechniczny kierownik. Najlepsi nietechniczni menedżerowie uniemożliwiają programistom wykonywanie wszystkich rzeczy, które marnują czas programistów, którym jest lepsze wykorzystanie kodowania i testowania.
David Navarre
5
To w kółko. Nawet dla kierownika technicznego jest to nadal największa część ich pracy.
Earlz
36

Najlepszymi menedżerami są magicy. Sprawiają, że reszta firmy znika dla swoich programistów. Nie pamiętam dokładnego cytatu Joela, ale było coś w tym, że zadaniem kierownictwa było upewnienie się, że jest gruba Fajka Internetowa, bestia maszyny i dużo kofeiny, więc wszyscy programiści muszą się martwić robią najlepiej.

Dobry menedżer to głos Twojej grupy do reszty firmy.

Michael Brown
źródło
29

Ponieważ dotyczy to w szczególności opracowywania oprogramowania, menedżerowie mogą pełnić dwie role: zarządzać projektami i kierować zespołem.

Kierownik projektu łączy się z klientami i średnim kierownictwem, co jest oszczędnością czasu dla programistów. Często pojawiają się wyjaśnienia lub zmiany zakresu, które pojawiają się w projektach, a klientom i środkowemu menedżerowi pomaga jeden punkt kontaktowy. Próba odpowiedzi na pytania od każdego członka zespołu programistów prowadzi do niezarejestrowanych decyzji projektowych i nieudokumentowanych zobowiązań, zmorę zarządzania zakresem.

Z drugiej strony lider zespołu jest zaangażowany w rozwój kariery / umiejętności, upewniając się, że obciążenie pracą jest odpowiednio rozdzielone pomiędzy członków zespołu oraz zapewnia zasoby i nagrody proporcjonalne do indywidualnych wkładów i potrzeb.

Żadna z tych ról nie wymaga bezpośredniego programisty, a wręcz przeciwnie. Programista często przeskakuje do zadania pisania kodu jako pierwszej odpowiedzi na pytanie lub kryzys i pomocne jest, aby ktoś, kogo zadaniem było zapytać, czy to zadanie naprawdę musi zostać wykonane.

matematyka
źródło
6
Deweloperzy widzą drzewa. Ich menedżerowie widzą las.
David Navarre
9
@DavidNavarre - Nietechniczni menedżerowie IMO mają problemy z widzeniem czegokolwiek ...
Wektor
13
@Vector: wydaje się, że masz na myśli nie menedżerów nietechnicznych, ale niekompetentnych.
Lie Ryan,
@Vector: Przypomina PHB Dilberta , ale nie sądzę, że jest to to samo, co nietechniczny menedżer.
hardmath
@hardmath - Rozumiem :-) Twoja odpowiedź jest naprawdę zawarta w tym, co zostało przyznane PO, zgodnie z edycją. Chodzi mi o to, że jeśli chodzi o kwestie techniczne, muszą się wycofać. Mam trochę gorzkie doświadczenie w tych sprawach ... „Trochę wiedzy jest niebezpieczną rzeczą” - jestem pewien, że rozumiesz. Zobacz moją odpowiedź.
Wektor
12

Wraz z innymi wymienionymi korzyściami, nietechniczny kierownik może lepiej wykonywać ostateczne decyzje, gdy wśród ekspertów jest impas. Wiem, że to brzmi sprzecznie z intuicją, ale dobrzy nietechniczni menedżerowie rozumieją mocne i słabe strony swoich ludzi.

Przykład: dwóch programistów debatuje nad tym, którego serwera użyć dla aplikacji. W jakiejś fałszywej demokracji oboje otrzymują jeden głos, więc nie podejmuje się żadnej decyzji. Ta wojna może trwać wiecznie (i przy pomocy niektórych ludzi technicznych). Ktoś musi wkroczyć i rozstrzygnąć ten spór i uruchomić projekt. Dobry sędzia oprze się na opinii tego, który ma największą wiedzę w tej dziedzinie.

To, że komuś brakuje talentu, umiejętności lub wiedzy w danym obszarze, nie oznacza, że ​​nie jest w stanie zidentyfikować tych, którzy go mają. Rozpoznawanie talentu to talent.

JeffO
źródło
1
Dostępny jest również nietechniczny menedżer, który odpowiada na potrzeby zespołu zamiast pisać kod.
JeffO
1
„Oprócz innych wspomnianych korzyści menedżer nietechniczny może lepiej wykonywać ostateczne decyzje, gdy wśród ekspertów jest impas”. Non-ekspert ma najmniej informacji na określony temat. Może zająć się tylko „stronami” posiadającymi największą wiedzę w tej dziedzinie (lub wybrać rozwiązanie, które według niego jest najlepsze). Ale to nie znaczy, że jego decyzja jest słuszna. Rozwiązanie od mniej doświadczonego programisty może być lepsze, ale nie jest ekspertem. joelonsoftware.com/items/2006/08/08.html
Christian P
W takiej sytuacji często niedocenianą częścią zarządzania nie zawsze jest pozwalanie najlepszym ludziom na własną drogę. Dobry menedżer dobrze zapozna się z sytuacją i wyda osąd, który może nie być poprawny technicznie, ale będzie poprawny politycznie. Jeśli spór nie dotyczy czegoś ważnego, menedżer może preferować osobę, która potrzebuje więcej zachęty lub jest zastraszana przez innych programistów. Czasami jest to wyrok sądowy i trudny, ale dlatego płacono im duże pieniądze.
Stephen
@Stephen zgodził się - dobry menedżer będzie wiedział, jak zarządzać swoimi ludźmi (np. Jak powiedziałeś, zachęcając ludzi itp.) Ale jeśli mówimy wyłącznie o podejmowaniu (ważnych) decyzji technicznych, menedżer ma najmniej informacji na temat problemu i jest prawdopodobnie niewłaściwa osoba do podjęcia tej decyzji.
Christian P
@Stephen: ale będzie to poprawne politycznie - jest to często bardzo dobry sposób dla nietechnicznego menedżera na utratę wszelkiej wiarygodności wśród personelu technicznego. Bardzo ryzykowne IMO.
Wektor
2

Czy planowanie spotkań, rezerwowanie miejsc poza domem i inne prace administracyjne wystarczą do ich roli?

Tak. Idealnie wystarczające. Nadają się również do wzywania zarządzania budynkiem, gdy występuje problem z ciepłem, prądem itp. upewnienie się, że automaty i chłodnice wody są dobrze zaopatrzone i utrzymywane; przynosząc specjalne gadżety do nosa; utrzymywanie czystości i porządku w biurze ...

Staraj się myśleć o innych takich zadaniach, aby były zajęte i unikały kłopotów ...

Ich najważniejsza rola? Unikanie przeszkód i nie mieszanie się z programistami oraz upewnianie się, że inni nietechniczni ludzie robią to samo.

Zastanów się nad zespołem programistycznym, takim jak klub piłkarski MLB (analogia jest całkiem dobra IMO): menedżerowie są zawsze byłymi graczami - tylko oni wiedzą, jak radzić sobie z „zarządzaniem” zespołem wysoko wykwalifikowanych, kujonowatych, idiosynkratycznych, profesjonalistów, którzy robią rzeczy, których większość „zwykłych ludzi” nie może.

Wektor
źródło
Dostajesz też wielu menedżerów w sporcie, którzy nie byli byłymi zawodnikami lub byli niezbyt dobrymi byłymi zawodnikami - Arsene Wenger, Jose Mourinho, Andre Villas-Boas ktoś? okazują się doskonałymi menedżerami. Potrzebujesz silnych umiejętności interpersonalnych i organizacyjnych, aby być dobrym PM, który NIE koduje.
bobo2000,
@ bobo2000 - Wspomniałem o MLB , a nie o sporcie w ogóle.
Wektor
-1

Z mojego doświadczenia wynika, że ​​menedżer nietechniczny najlepiej nadaje się do tej roli, oprócz dodawania wartości poprzez unikanie ingerencji firmy w pracę programistów, sprzyja partnerstwu między programistami (ponieważ dobrze wiadomo, że programiści są introwertykami http://www.unwesen.de/ 2012/03/16 / introwersja-produktywność-środowisko-pracy / ), dobre pozwalają zespołowi pracować w swoim rytmie, ale dbają o widoczność.

cesarggf
źródło
2
Twoja odpowiedź byłaby silniejsza, gdybyś zacytował jakieś odniesienia zewnętrzne lub rozwinął zasady. Stwierdzenie cause it's well know[n]jest słabą formą dowodów.