Ścieżka kariery programisty
Prawdopodobnie zostałeś (lub chcesz zostać) programistą, ponieważ kochasz kodowanie. Uwielbiam „zawijać” abstrakcyjne pomysły w kod. Stwórz coś ważnego z niczego. Poznaj nowe technologie, języki programowania, frameworki itp. Zrozum, jak wszystko jest potrojone. Dlatego też, pracując jako młodszy programista, stopniowo rozwijając się do silnego „przeciętnego” programisty i osiągając status seniora, cieszysz się tym, co robisz. I wtedy pewnego pięknego dnia osiągasz szczyt formy w swoim biznesie, albo nagle okazujesz się dobrym organizatorem, albo po prostu w Twoim zespole nie ma nikogo odpowiedniego na stanowisko menadżera, któremu zaproponowano to stanowisko. W takich przypadkach zwyczajowo mówi się: „Przejście na stanowisko kierownicze jest rzeczą naturalną”. Chciałbym jednak zaprotestować: uważam, że nikt nie powinien robić tego, czego nie chce.Dlaczego takie przejście nie jest w porządku rzeczy
Po pierwsze, jeśli prosisz kogoś, kto lubi pisać kod, aby został kimś, kto w ogóle tego nie robi, gdzie jest logika? Będzie miał poczucie, że odebrano mu ulubioną czynność i prędzej czy później wypali się i znienawidzi swoją pracę. Oczywiście może zrzucić z siebie nowe obowiązki i kontynuować kodowanie, ale wtedy opadną funkcje kierownicze w zespole. A to jest złe dla biznesu. Dlaczego ktoś miałby chcieć lidera, który nie chce zarządzać ludźmi? Po drugie, to, że ktoś dobrze pisze kod, nie oznacza, że będzie dobrym menadżerem. Rozwój i zarządzanie to różne dziedziny, które wymagają różnych umiejętności i sposobu myślenia. To tak jak z piłkarzami i trenerami. To, że jesteś dobrym piłkarzem, nie oznacza, że potrafisz dobrze prowadzić drużynę piłkarską ( choć to oczywiście się zdarza ). Menedżer musi ściśle współdziałać z ludźmi i tak skonfigurować proces pracy, aby przynosił owoce. Trzeba dać ludziom możliwość wykonywania swojej pracy tak, aby była ona efektywna, ale nie robić tej pracy za nich. A programista to pracownik liniowy. Bycie menadżerem oznacza osiąganie wyników poprzez odpowiednie organizowanie pracy innych ludzi, a nie robienie tego samodzielnie. Po trzecie, istnieje przepis znany jako „ zasada Piotra ”. Jej istotą jest to, że specjaliści otrzymują awans na podstawie dotychczasowego doświadczenia zawodowego, dopóki nie wyrosną na stanowisko, do którego brakuje im kompetencji. Zatem jeśli dobry programista awansuje na menadżera i nie będzie na to gotowy, nie będzie w stanie dobrze wykonywać nowej pracy. Zmiana dobrego programisty na złego menadżera tylko zaszkodzi firmie. Podwyżka musi zostać dokonana w ramach bieżących działań. A jeśli programista nie rozwija dobrowolnie kompetencji menadżerskich, nie ma sensu go popychać w tym kierunku. Po czwarte, niektórzy specjaliści godzą się na stanowisko kierownicze w celu podwyższenia swoich wynagrodzeń. Tak, menedżerowie często zarabiają więcej niż ich podwładni. Ale nie zawsze: zdarza się również sytuacja odwrotna. Jeśli zespół ma silnych specjalistów, trudniej będzie im znaleźć zastępstwo niż menadżerowi. Jeżeli wkład dewelopera w spółkę jest cenniejszy od wkładu menadżera, nie ma powodu przepłacać menadżerowi. Poza tym patch to nie wszystko. Lepiej robić to, co lubisz, za mniejsze pieniądze, niż wykonywać pracę, której nienawidzisz, za wyższą pensję. Po piąte, nigdy nie powinieneś przyjmować stanowiska kierowniczego tylko dlatego, że w Twoim zespole nie ma nikogo innego odpowiedniego na to stanowisko. To nie jest twoja wina. Musisz świadomie myśleć o swojej karierze. W przeciwnym razie ucierpi nie tylko Twój nastrój i poczucie własnej wartości, ale także firma. Co więc zrobić, jeśli kochasz programowanie i nie chcesz przechodzić na stronę zarządzania? Jest wyjście!Masz wybór
Stanowisko starszego programisty może być etapem pośrednim przed objęciem stanowiska kierowniczego. Może tak nie być. Ogólnie rzecz biorąc, ścieżka kariery może mieć charakter kierowniczy lub techniczny. Można łatwo rozwijać się w kierunku technicznym, ponieważ istnieją takie stanowiska:-
Senior/Chief Developer – to może być dokładnie to stanowisko, na którym chcesz się dalej rozwijać. Pozwolenie programistom wyższego szczebla na pozostanie pracownikami liniowymi jest normalne.
-
Główny programista (lider technologiczny) to rola pół-menedżerska. Wiodący programiści zarządzają projektami/ludźmi wyłącznie z technicznego punktu widzenia. Nie mają bezpośrednich podwładnych i nie zarządzają pracownikami: siłą swoich uprawnień mogą wpływać na ostateczną decyzję w niektórych kwestiach. Jednak kompetencje i obszar wpływu tego specjalisty mogą się różnić w różnych firmach.
-
Architekt – jeśli lubisz projektować złożone systemy i jesteś w tym dobry, możesz zostać architektem. Architekt jest często uważany za szczyt rozwoju kariery technicznej. Obowiązki architekta również mogą się różnić, do tego stopnia, że nie wszyscy architekci piszą kod.
GO TO FULL VERSION