Ostatnio brałem udział w dyskusji na temat kryteriów, które należy stosować przy ustalaniu wynagrodzenia dla programisty: argumenty różniły się od „kwestia wyboru pracodawcy” do innych argumentów uwzględniających wykształcenie, doświadczenie, rozumienie technologii , itp. Nie tak dawno temu przeczytałem świetny post na blogu Stack Exchange na ten temat i nie mogłem się z tym bardziej zgodzić, ale niewielu pracodawców postępuje zgodnie z opisaną logiką.
Z własnego doświadczenia, które elementy są najważniejsze przy ustalaniu wynagrodzenia dla programisty? Jakie kryteria są najczęściej stosowane w takich sytuacjach? Jakie kryteria należy najczęściej stosować? I wreszcie, w jakim stopniu kształcenie formalne (kolegium, uniwersytet) jest ważne przy ustalaniu wynagrodzenia?
Odpowiedzi:
Jak to jest
Niestety w większości miejsc, w których miałem doświadczenie z wynagrodzeniem, nie tyle zależy od poziomu umiejętności danej osoby, ale od polityki firmy, lokalnej konkurencji i skąpstwa. Zasady są ustalone, firma, o której mowa, będzie miała grupę ludzi, którzy nie wiedzą, co to za rozwój, wymyślą tabelę ocen płac. Wyrzucą gdzieś na wykres kilka poziomów (np. Deweloper I - Deweloper III) programisty, zwykle wyższy niż przeciętny pracownik biurowy, ale zwykle niższy niż osoba, której stanowisko wymaga wiedzy w dziedzinie, nawet jeśli są to osoby, które będziesz ściśle współpracować.
Będą kryteria pasujące do jednej z tych kategorii, jednak ma to mniej wspólnego z umiejętnościami, a więcej z tym, ile masz doświadczenia. Innymi słowy, stary facet siedzący w kącie, który odmawia nauki jQuery, ponieważ nie tak to zrobił, gdy napisał oryginalną wersję aplikacji internetowej, otrzyma wynagrodzenie więcej niż ktoś, kto jest obecny w technologii, ponieważ ma bardziej techniczne wiedza niż ty, wiesz, ponieważ on ma więcej doświadczenia.
Ostatecznie to, co decyduje o wysokości wynagrodzenia, zależy od tego, czy zdasz wywiad i jak dobrze negocjujesz swoje wynagrodzenie. To powiedziawszy, negocjacje przyniosą najwyżej garść punktów procentowych. Jeśli przejdziesz rozmowę kwalifikacyjną, zostaniesz po prostu objęty systemem ocen płac w oparciu o liczbę lat doświadczenia w branży. Jeśli ci się poszczęści, na tej podstawie również dadzą ci urlop.
Jak powinno być
Ostatecznie problem, jaki mam z firmami, nie polega na tym, że ustalają one poziom wynagrodzenia. Problem polega na tym, że ustalili oni kategorię wynagrodzeń, która nagradza tylko przeżycie i brak zwolnienia. Naprawdę nie wynagradza uczenia się nowych informacji, a tym samym stagnacji działu IT firmy, a Bob siedzi w kącie, który jest całkowicie i całkowicie bezużyteczny, płacąc więcej niż jakikolwiek inny programista.
W pewnym momencie podczas rozmowy kwalifikacyjnej zostaną ocenione twoje umiejętności istotne dla firmy. Jeśli zostanie to wykonane poprawnie, nie tylko Twoja zdolność do przeprowadzenia przesłuchania zostanie oceniona, ale także Twoja zdolność do rozwiązania niektórych rzeczywistych problemów związanych z rozwojem podanych ostatnio przez firmę. W zależności od szybkości i dokładności, z jaką jesteś w stanie rozwiązać problem, powinien odzwierciedlać to, gdzie leżysz na skali płac. Każdy podany test powinien pozwolić Ci wykazać:
Wyższa edukacja
Wykształcenie wyższe jest ważne tylko o tyle, o ile zwiększy twoją zdolność do znalezienia pracy bez doświadczenia. Przy ustalaniu wynagrodzenia, doświadczenia i zasad negocjacji wszystkie.
W skrócie
Niestety w wielu sytuacjach regułą jest doświadczenie. Cała reszta jest wyjątkiem od skali płac. Twój zestaw umiejętności wpływa tylko na twoje wynagrodzenie w sposób, który wpływa na to, kto da ci pracę. Większość wynagrodzeń, nie tylko dla programistów, działa w ten sposób. Nie ma znaczenia, czy pójdziesz do firmy z umiejętnościami XYZ, nadal będą ci płacić tylko X dolarów, co może faktycznie wynosić 1,05 * Y, które zaoferowali innemu facetowi, ale większość przedziałów płac jest ustalona i zazwyczaj lata doświadczenia mówią ci, w jakim zasięgu będziesz.
źródło
Niestety myślę, że lokalizacja ma największe znaczenie. Wpływa to na koszty utrzymania, ale, co ważniejsze, na to, jakie firmy zatrudniają.
Jeśli znajdujesz się w lokalizacji z wieloma firmami technicznymi - firmami, które żyją i umierają z powodu swoich pracowników technicznych - pensje dla pracowników będą wyższe. Rywalizacja o dobrych pracowników spowoduje wzrost wynagrodzeń.
Jeśli znajdujesz się w lokalizacji zdominowanej głównie przez „sklepy IT” - firmy, które potrzebują oprogramowania do prowadzenia działalności, ale to przede wszystkim wydatek - wynagrodzenia będą niższe. Firmy te szukają ciepłych ciał i nie są szczególnie prawdopodobne, aby zgromadziły światowej klasy zespół techniczny.
Nawet jeśli pracujesz w firmie technicznej w mieście pełnym sklepów IT, Twoje wynagrodzenie będzie nadal niższe - gdzie indziej byś poszedł?
Jeśli jesteś „gwiazdą rocka”, oznacza to po prostu, że masz możliwość konkurowania o lepsze / zaawansowane miejsca pracy u pracodawców. Aby naprawdę uzyskać różnicę w wynagrodzeniu, przenieś się.
źródło
Finanse firmy, obecne stawki na rynku lokalnym i znaczenie pozycji dla firmy są prawdopodobnie największe.
Finanse firmy: Nie można uzyskać krwi z rzepy.
Obecna stawka lokalnego rynku: ludzie mają problem z płaceniem więcej za coś, jeśli nie muszą, i są mniej prawdopodobne, że zrozumieją wartość, jeśli nie będą w tej dziedzinie znani.
Znaczenie stanowiska dla firmy: To napędza potrzebę określonego poziomu umiejętności i doświadczenia programisty. Czy absolwent college'u nie może zrobić prostej strony internetowej? Firma niebędąca oprogramowaniem może uznać niestandardowe oprogramowanie za przyjemne. W niektórych sytuacjach są zmęczeni zatrudnianiem kontrahenta i mają poczucie, że mogą dostać kogoś na pełny etat po niższej stawce. To jest o wiele milsze, mając je tutaj cały czas, dzięki czemu możemy stale dodawać nowe funkcje, kiedy tylko chcą (Naprawdę w to wierzą). Posiadanie wewnętrznego urlopu dla programistów często zatrzymuje bieżący projekt i rozważa się zakup czegoś z półki. Firmy konsultingowe mogą czuć, że nie muszą zatrudniać najlepszych, gdy ich klienci nie znają różnicy, a jeśli tak, nadal wynajmują najniższą ofertę. Niektóre firmy mają tak słabe zarządzanie i modele biznesowe, że żaden programista ” poziom umiejętności można pokonać. Po prostu nie widzą, jak ważne jest znalezienie i utrzymanie dobrych ludzi.
Zastanawiam się, czy programista prawdopodobnie zapłaci więcej?
źródło
Oparłbym czyjąś wypłatę
Lokalizacja / Doświadczenie : Lokalizacja i poziom doświadczenia stanowiłyby podstawę tego, za co zapłaciłbym komuś. Gdybym chciał pracowników niskiej jakości, pozostałbym na dolnym końcu skali lub gdybym chciał pracowników wysokiej jakości, wybrałbym wysokiej klasy tę skalę.
Szybkość kodowania : im szybciej mogą wykonać zadanie, tym szybciej możemy go przenieść do produkcji i poprawić wydajność. Zwiększa to przychody biznesowe, co pozwala mi płacić pracownikom więcej.
Jakość kodowania : jeśli ktoś potrafi szybko kodować, ale jest to bałagan i trudny w utrzymaniu, to nie uważam tej osoby za atut firmy. Jeśli potrafią szybko robić rzeczy ORAZ kodować w sposób łatwy do utrzymania, to są wielkim atutem dla firmy i zapłaciłbym im więcej.
I zdecydowanie nie opierałbym czyjejś wypłaty na poziomie wykształcenia. Nie oparłbym nawet tego na przeszłych doświadczeniach, jeśli pracownik nie wykaże, że ma bazę wiedzy, która pozwoliłaby mu na zdobycie tego doświadczenia.
źródło
Wszystko sprowadza się do tego, jak mało programista, który spełnia Twoje potrzeby, jest gotowy zaakceptować i nadal chce pracować dla Ciebie. Jeśli twoje środowisko pracy jest w przybliżeniu takie samo jak w sąsiedniej firmie i płacą one 5ka $ rocznie więcej niż ty, programiści prawdopodobnie będą chcieli dla nich pracować, a nie dla ciebie. Jeśli robisz naprawdę fajne rzeczy i jesteś niesamowitym miejscem do pracy, a firma z sąsiedztwa płaci 5 tys. Dolarów więcej, może to być bardziej zrównoważona decyzja. Jeśli sąsiednia firma zapłaci 50 tys. USD, prawdopodobnie nadal będziesz mieć problem.
Jest to równowaga między tym, co płaci konkurencja, a chęcią zatrudnienia w firmie na podstawie innych czynników.
źródło
Aby zdecydować, co zapłacić programatorowi, widzę tylko to, co się liczy:
(cechy, które można zmierzyć po zatrudnieniu programisty.): -
LUB
(cechy, które można zobaczyć przed zatrudnieniem)
źródło
Ustalenie wynagrodzenia programisty zależy od wielu czynników: po pierwsze miejsca, w którym programista będzie pracował. Na przykład w USA praca w stanie Iowa różni się od pracy w Nowym Jorku lub Kalifornii. Ponieważ stany różnią się poziomem życia, wydatkami, podatkami itp.
Drugim czynnikiem jest reputacja firmy, praca w startupie lub firmie średniego szczebla nie przypomina pracy w dużych korporacjach! Zdecydowanie późniejsze wynagrodzenie jest wyższe.
Trzeci czynnik to same umiejętności programistyczne, jego doświadczenie zawodowe, niezależnie od tego, czy jest to związane z opisem stanowiska pracy, czy nie, jego osiągnięcia, wykształcenie (uniwersytety o wysokim rankingu powinny zapewniać wysoko wykwalifikowanych studentów).
Znaczenie projektu i jego dochodów dla firmy jest kolejnym czynnikiem, jeśli projekt jest bardzo ważny dla firmy, chcesz, aby deweloperzy byli mu poświęceni, aby byli zaangażowani, musisz je nakarmić!
Również obecny stan rynku, nie będziesz oferować wysokiej pensji w czasie kryzysu finansowego!
źródło
Jeśli deweloperzy są poszukiwani (jak zwykle znajdują się w dużych obszarach metra), deweloper przeprowadzi się tylko o N% więcej niż obecna pensja. Nie ma znaczenia, jaka jest obecna pensja ani jaka jest N, ponieważ jest różna dla każdej osoby. Jeśli firma zdecyduje, że chce inżyniera, musi zdecydować, czy zapłaci. Mam wrażenie, że dzieje się jakieś dziwne uzasadnienie, w którym niezależnie od tego, jaka jest wcześniejsza pensja, przyszły pracodawca wykorzystuje ją do oceny wartości potencjalnego pracownika. Takie rzeczy są do bani (i czują się niesamowicie niesprawiedliwe) na początku kariery, ale później są całkiem miłe!
Nie musi to mieć zastosowania, jeśli firma może uzyskać pewien efekt dźwigni. Oto niektóre przykłady dźwigni finansowej: programista jest obecnie bezrobotny lub programista chce przejść na technologię lub język, w którym nie ma umiejętności.
W pewnym momencie inżynier osiąga szczytowe wynagrodzenie, przy którym pracodawcy nie są skłonni płacić N% więcej. Następnie inżynier albo pozostaje na miejscu, przechodzi do zarządzania, rozważa ruchy boczne itp.
Zdaję sobie sprawę, że nie jest to logiczna, racjonalna ocena pracownika na podstawie odpowiedzi, których szukałeś, ale wydaje mi się, że tak to naprawdę działa.
źródło