Co dzieje się z programistami, którym brakuje pracy zespołowej?
Wtedy trudno jest pracować nad projektami, które są zbyt duże dla jednego programisty. Trudne dla programisty solo i trudne dla reszty zespołu.
Gdzie zaczynają się problemy?
Wszystkie rodzaje miejsc. Obecnie mamy jednego programistę, który źle pracuje w zespole. Ma tendencję do wprowadzania skrótów, które mają zły wpływ na resztę aplikacji, ponieważ zbyt wąsko koncentruje się na naprawianiu błędu przed sobą. Lub pisanie nowej funkcji w taki sposób, aby nie była kompatybilna z resztą aplikacji. Musimy tak zmienić układ, aby każde jego sprawdzenie kodu było sprawdzane przez resztę zespołu. Ale aby go nie wyróżnić, sprawdzamy również kody wszystkich innych osób, więc wraz z porannym spotkaniem o statusie nie wykonujemy żadnej pracy aż do lunchu. W naszym biurze oznacza to, że 4 osoby tracą 1/2 dnia pracy każdego dnia, ponieważ jeden facet jest kiepski w pracy zespołowej. Nie mogę powiedzieć, że jest to poprawa w stosunku do poprzednich przygód, ponieważ moglibyśmy losowo stracić dzień lub tydzień (zwykle goniąc za nowymi błędami) z jego odpraw, które psują rzeczy (nazywamy te „robstacles”). Niektóre poprawki w jego kodzie spowodują usunięcie pół tuzina błędów z powodu splątanej i niechlujnej aplikacji (moje zalecenie donuke z orbity i zacznij od nowa, ponieważ to jedyny sposób, aby upewnić się, że nie został zaakceptowany).
Kiedy jesteśmy w hojnym nastroju, nazywamy go „programistą z głową w dół”. Ma tendencję do spoglądania w dół na klawiaturę i szybkiego pisania. Nie zwraca uwagi na to, co robią inni.
Czy bycie dobrym programistą kompensuje choć trochę?
Nie. Większość programistów, którzy są złymi graczami zespołowymi, ma bardzo wysoką opinię na temat swoich umiejętności, co nazywa się efektem Dunninga-Krugera . PDF z papieru.
Może: solowy programista musiałby być znacznie lepszy niż reszta zespołu. Ale to tylko oznacza, że nikt inny nie może zachować tego, co robi; a kiedy tak się dzieje, prawdopodobnie oznacza to, że solowy programista nie jest wcale lepszy od reszty zespołu - on (i prawie zawsze jest facetem) jest po prostu lepszy w oszukiwaniu wszystkich.
W zakresie tworzenia oprogramowania biznesowego firma będzie istnieć długo po twoim odejściu. Programy zostały najprawdopodobniej napisane przed rozpoczęciem i będą utrzymywane długo po twojej nieobecności. Jeśli piszesz rzeczy, które są tak wyjątkowe i niesamowite, że nikt inny ich nie rozumie, to kończy się sytuacja, w której znajduje się Naughty Dog - ich główny programista zrezygnował, nikt inny nie rozumie prawnie zastrzeżonego języka programowania, który napisał (i napisał) facet rzeczy w), więc teraz muszą zmienić wszystko na C ++.
Czy to normalne, że programista ma wizję swojej pracy zamiast robić to, co mu powiedziano?
To jest powszechne - jak korek drogowy lub cukrzyca. Nie nazwałbym tego normalnym. W świecie korporacyjnym jest wiele innych rzeczy do rozważenia; silne ego, które ma wielu programistów, zazwyczaj powoduje, że deweloper myśli, że nic innego się nie liczy. Ten „brak dopasowania” i brak uwzględnienia dla reszty firmy powoduje, że tak wielu typów menedżerów dochodzi do wniosku, że ciężko jest pracować z programistami.