Nagradzanie programistów na podstawie ważności aplikacji [zamknięte]

10

Czy to słuszne, aby zarząd nadał większe znaczenie lub nagradzał programistów, którzy pracowali nad strategiczną i ważną aplikacją, niż ktoś, kto pracował nad aplikacją ogólną?
Oba mogły włożyć te same wysiłki.

Padmarag
źródło
To doskonały sposób na utratę działalności przez klientów, którzy są klientami od ponad 10 lat. Musi istnieć bardzo delikatna równowaga między sprzedażą, inżynierią i innymi, w przeciwnym razie konkurenci zajmą się tobą.
Job

Odpowiedzi:

14

Po pierwsze, bardziej wartościowy nie zawsze oznacza trudniejszy. Na przykład: programowanie wewnętrznych narzędzi może być bardzo przydatne i oszczędzać czas dla personelu, ale wartość dla klientów nie zawsze jest widoczna. Wynagrodzenie powinno być nagradzane za trudność projektu i odpowiedzialność osoby w zespole.

Jeśli nagradzasz drużyny inaczej, powinien istnieć jeden warunek: ludzie powinni mieć możliwość zmiany zespołów, kiedy chcą . Pozwól tym, którzy lubią tworzyć trudniejsze aplikacje, zarobić nieco więcej. Ci, którzy wolą pracę bez stresu, mogą wykonywać łatwiejsze aplikacje. W ten sposób wszyscy są szczęśliwi.

Blokowanie ludzi w zespołach, w których jeden zespół zarabia znacznie więcej, doprowadzi do frustracji i może spowodować, że ludzie odejdą z firmy.

Carra
źródło
+1 Absolutnie zgadzam się z tym komentarzem: „Wynagrodzenie powinno być nagradzane za trudność projektu i odpowiedzialność osoby w zespole”
maple_shaft
4
Trudności mogą przybierać formę ryzyka, a nie tylko złożoności. Robienie tańca może być bardziej skomplikowane niż chodzenie, dopóki nie spróbujesz go na belce, która znajduje się 500 stóp nad ziemią. Biedni programiści nie decydują się na pracę w zespołach w przypadku krytycznych aplikacji.
JeffO,
8

Menedżerowie mogą wdrażać programistów w oparciu o maksymalizację zwrotu z nakładów pracy. Dlatego w przeciwnym razie równi pracownicy powinni być równo wynagradzani.

Menedżer, który wdraża programistę do zadania o niskiej wartości, gdy trzeba wykonać pracę o wysokiej wartości, jest rażąco niekompetentny z perspektywy biznesowej, a programista nie powinien być karany (ani nagradzany) za słabą wydajność swojego menedżera.

mattnz
źródło
Wciąż firmy rezygnują z działalności z powodu niekompetentnego zarządzania, a nawet ich najtrudniejsi pracownicy są karani za utratę pracy z tego powodu. Twoja postawa normatywna brzmi nieźle, ale nie rozumiem, jak możesz zapobiec takim wydarzeniom, ani jak możesz egzekwować równych nagród. Nawet rolnicy wykonujący tę samą pracę będą mieli różne zarobki w zależności od pogody i jakości użytków rolnych.
Ray
8

Po pierwsze, co należy rozumieć przez „poprawny”. Jeśli pytanie brzmi, czy moralnie uzasadnione jest płacenie ludziom za ważniejszy projekt, myślę, że tak. Zarabiasz na podstawie osiąganych korzyści, a nie na podstawie naliczonych kosztów. Jeśli jeden programista spędza dwa miesiące na wytwarzaniu czegoś całkowicie bezużytecznego, podczas gdy drugi spędza dwa dni na wytwarzaniu czegoś, co podwaja produktywność, drugi powinien otrzymać więcej, pomimo mniejszego wysiłku.

Z tej perspektywy strategiczne i ważne zastosowanie jest po prostu bardziej wartościowe dla firmy, a pracujący nad nią pracownicy wytwarzają dla firmy większą wartość. Jedynym naturalnym rezultatem jest to, że zarobią więcej pieniędzy.

Z drugiej strony, jeśli pytanie brzmi, czy jest to dobra strategia, to prawdopodobnie nie. Automatyczne płacenie ludziom za ważniejszy projekt może wprowadzić przewrotne zachęty. Ludzie będą próbowali dostać się do ważniejszych projektów, gdy będzie im potrzebna praca przy innych projektach. W rezultacie prawdopodobnie lepiej jest płacić ludziom na podstawie umiejętności niż na podstawie projektu. Jak się uda, zapewne będziesz mieć wysoko wykwalifikowanych, a przez to wysoko opłacanych ludzi, którzy będą pracować przy najważniejszych projektach. Ale prawdopodobnie możesz uniknąć problematycznych zachęt.

Winston Ewert
źródło
10
Zgadzam się, ale widziałem przykłady, w których firmy kładą większy nacisk na „następną wielką rzecz” i całkowicie nie podkreślają rzeczy takich jak ulepszenia istniejących produktów itp. W szczególności będą przyznawać premie i wyróżnienia po wprowadzeniu nowego nowego produktu , ale osoby utrzymujące istniejące oprogramowanie (oprogramowanie wszystkich klientów) są prawie ignorowane. Powiedziałbym więc, że zgadzam się z zastrzeżeniem, że to słuszne tylko wtedy, gdy firma poprawnie przypisuje „wartość” na podstawie rzeczywistej wartości, a nie tylko wartości postrzeganej .
Dean Harding
1
Całkowicie się nie zgadzam. Logika zakłada, że ​​peple ma wybór, nad czym pracują ORAZ że niektórzy ludzie celowo wybierają pracę nad czymś nieproduktywnym. W rzeczywistości programiści rzadko wybierają projekt, do którego zostali przydzieleni, a jeśli mogliby i cenne projekty byłyby bardziej nagradzane, te oczywiście cenne byłyby rozwiązywane u programistów, co również nie byłoby produktywne.
Michael Borgwardt,
@Winston: Co jest okropnie szkodliwą (dla firmy) logiką licznika fasoli. W rzeczywistości firma pogrąży się w polityce biurowej i dźganiu w plecy, gdy wszyscy starają się dostać do „cennych” projektów, podczas gdy wysoko wykwalifikowani ludzie, którzy nie chcą grać w tę grę, odchodzą, by znaleźć zatrudnienie mniej dysfunkcyjna firma nagradzająca umiejętności zamiast polityki.
Michael Borgwardt,
@Michael, zgadzam się. Wydaje się to jednak bardziej sprzeciwem wobec metod stosowanych do decydowania o tym, kto zostanie przydzielony do projektu, a tym bardziej, że ludzie ważnego projektu otrzymają więcej. Inteligentna firma wykorzysta dodatkowe pieniądze dostępne na to stanowisko, aby przyciągnąć programistów o lepszych umiejętnościach.
Winston Ewert
1
@Winston: Ma to o wiele większy sens, ale zakłada, że ​​każdy projekt ma niezależny budżet na zatrudnienie i podejmuje niezależne decyzje dotyczące zatrudnienia. Wydaje mi się, że nigdzie tak nie jest. Zgadzamy się, że celem firmy powinno być pozyskiwanie najbardziej wykwalifikowanych programistów do najcenniejszych projektów, aby zapewnić im sukces. Mówię, że w środowisku, w którym zatrudnianie jest scentralizowane, a programiści podejmują projekty jeden po drugim w ramach tej samej firmy (najczęstszy przypadek), opieranie nagród wyraźnie na wartości bieżącego projektu nie przyniesie pożądanego efektu.
Michael Borgwardt,
5

Tak, najprawdopodobniej. Myślę, że największym powodem nagradzania programistów jest powstrzymanie ich przed przeniesieniem się do innej firmy.

Jeśli masz trzech programistów, którzy utrzymują bardzo ważny system i dwudziestu programistów, którzy utrzymują inny system, prawdopodobnie będziesz bardziej martwił się utrzymaniem trzech programistów, ponieważ utrata jednego z dwudziestu nie jest tak wielkim hitem. Rozsądne może być przeznaczenie większej ilości zasobów na zadowolenie trzech programistów, jeśli nie możesz pozwolić sobie na zadowolenie ich wszystkich.

dauphic
źródło
2

Nie sądzę, aby istniała taka sprawiedliwość jak „równa płaca za równą wydajność pracy”. To tylko przydatny mit znaleziony w wielu społeczeństwach. Nie wiem, czy twoje pytanie dotyczy przepisów, które mogą istnieć w niektórych krajach, czy też chcesz postawić pytanie etyczne. Tak czy inaczej nie wiedziałbym, jak mierzyć lub egzekwować równość. Czy taksówkarz występuje o wiele mniej niż gwiazda futbolu, którego zarobki mogą być wyższe o kilka wymiarów?

Płatności mogą zależeć od tego, jak dobre były negocjacje, gdy programista zmienił firmę, lub jaka była sytuacja rynkowa, kiedy zaczęło się jego zatrudnienie, więc wątpię, że w pobliżu jest wiele firm, które i tak płacą swoim programistom.

Promień
źródło
2

To trudne pytanie, ale na ogólną odpowiedzialność zwykle uznaje kierownictwo. Wynagrodzenie menedżerów zależy od odpowiedzialności, którą on / on ma i myślę, że dotyczy to również programistów.

Jeśli programista Hanna obsługuje krytyczne oprogramowanie (National Security System), podejmuje większe ryzyko, jeśli coś pójdzie nie tak, jak programista Jill, który obsługuje aplikację do gier na iPhone'a. W tym przykładzie Hanna powinna zostać nagrodzona bardziej niż Jill, jeśli wszystkie inne aspekty są równe.

Benny Skogberg
źródło
1

Lepszym programistom płacisz więcej pieniędzy, niezależnie od rentowności projektu. Jakie kryteria zastosujesz do zdefiniowania „lepszego”, to kolejne pytanie.

Nie sądzę, że wszyscy bardziej wykwalifikowani programiści powinni należeć do jednego zespołu, więc kto zostanie zdegradowany do nowego produktu, który jeszcze nie zarabia pieniędzy. Dwaj równi programiści z pierwszego roku otrzymają teraz inną rekompensatę z powodu losowania, aby dostać się do dochodowego zespołu. Wchodzisz w system wynagrodzeń za zasługi w oparciu o rzeczy, nad którymi nie masz kontroli. Polityka biurowa wejdzie w grę i utrudni moralność.

Staje się to kolejnym systemem, w który grają gracze, podobnie jak linie kodu. Lepszy menedżer będzie działał politycznie na rzecz większej nagrody. Wyobraź sobie, że jesteś programistą w Microsoft przy nowym produkcie, który się nie kończy, ale nie zarabiasz tyle, ile zyskowny zespół (ponieważ ich aplikacja ma lata marketingu), który dokonał złej premiery i nie prognozował sprzedaży . Nie nagradzasz drużyny, która zatankowała flagowy produkt.

Przypływ podnosi wszystkie statki.

JeffO
źródło
0

Dziwi mnie, jak wiele osób po prostu zakłada, że ​​osoba pracująca nad aplikacją strategiczną lub generującą zysk musi być bardziej wykwalifikowana do tego projektu niż osoba pracująca nad aplikacją niskiego ryzyka. Ludzie tutaj zakładają również, że ten drugi programista bierze udział w ogólnym projekcie.

Wszystkie pozostałe rzeczy są równe, a zakładając, że oba mogą być zmieniane z jednego projektu na drugi przy takim samym czasie doganiania, oznacza, że ​​obie powinny być nagradzane tak samo za ten sam wysiłek.

wałek klonowy
źródło
0

Programiści powinni robić najtrudniejsze programy, z którymi mogą sobie poradzić, i powinni otrzymywać wynagrodzenie w zależności od trudności tego zadania. W (prawie) wszystkich aplikacjach są części łatwe i części twarde. Ludzie, którzy nie potrafią programować, nie powinni być nagradzani, ponieważ pracowali nad naprawdę łatwą częścią bardzo ważnej aplikacji. Podobnie, nawet jeśli projekt nie jest ważny, jeśli jakiś naprawdę dobry programista wykonał ciężką pracę nad nim, należy go odpowiednio wynagrodzić. Jeśli projekt nie jest wystarczająco ważny, aby zapłacić deweloperom odpowiednią kwotę za projekt, być może firma nie powinna go realizować. Być może istnieje tańszy sposób na wykonanie tej samej pracy, na przykład przy użyciu istniejącej biblioteki (licencja open source lub płatna licencja) lub zakup istniejącego pakietu oprogramowania.

Kibee
źródło