Mówiąc ogólnie, widziałem, jak ludzie wybierają następujące trasy:
1) Zostań jako programista . W ogóle nie ma powodu, aby się rozwijać, rozwój jest w porządku i jest wiele osób, które znam po trzydziestce i czterdziestce, które nie mają zamiaru przechodzić z czegoś, co im się podoba, w coś, co nie tylko ze względu na „ postęp".
2) Architekt techniczny . Potencjalnie wciąż jest do pewnego stopnia praktyczny, ale obejmuje również projektowanie techniczne i analizy wyższego poziomu, wybór platformy i tak dalej. Ogólnie rzecz biorąc, architekt techniczny spędził 5–10 lat jako programista, zanim przejdzie do tego rodzaju roli.
3) Zarządzanie projektem . Pierwsza z opcji hand-off (właściwy Project Manager nie koduje, z wyjątkiem może dziwnego małego narzędzia ułatwiającego ich życie). Project Manager zarządza całym projektem od początku do końca, współpracując z biznesem i deweloperami, upewniając się, że uzasadnienie biznesowe jest prawidłowe, planuje i zarządza planem, monitoruje ryzyko i tak dalej. Jeśli chodzi o to, kiedy możesz przejść do zarządzania projektami, może się to zdarzyć w dowolnym momencie, chociaż im wcześniej to zrobisz, tym mniejsze prawdopodobnie będą projekty, którymi możesz zarządzać.
4) Analiza biznesowa / ogólne doradztwo . Pisanie specyfikacji, omawianie potrzeb z użytkownikami i klientami, dokumentowanie tego, współpraca z programistami i testerami, aby upewnić się, że jest to zrozumiałe. Ponownie, przejście do tego rodzaju roli może się zdarzyć w dowolnym momencie, chociaż większe doświadczenie jako programista zwykle daje większe możliwości jako analityk.
5) Zarządzanie rozwojem . W odróżnieniu od Project Managera, w niektórych przypadkach (szczególnie w mniejszych organizacjach) zostaną one połączone w jedno. Najprostsze rozróżnienie polega na tym, że kierownik projektu jest odpowiedzialny za projekt, kierownik zespołu odpowiedzialny za zespół. Menedżer ds. Rozwoju prawie zawsze ma zaplecze techniczne, może nadal być pod ręką i dobrze rozumie proces rozwoju oraz związane z nim narzędzia. Większość czasu spędzą na utrzymaniu produktywności zespołu i kontynuowaniu prac rozwojowych. Ogólnie rzecz biorąc, ktoś będzie pracował przez 5-10 lat jako programista, zanim przejdzie do tego rodzaju roli.
Jeśli chcesz przejść od tych do wyższego kierownictwa, to Project Manager i Development Manager są najbardziej prawdopodobne.
To, co jest dla ciebie najlepsze, zależy wyłącznie od tego, co chcesz zrobić i jakie masz umiejętności, i żadnej z nich nie należy postrzegać jako właściwej lub lepszej od innych. Całkowicie można je wypróbować i cofnąć się lub przejść ponownie. Z mojego doświadczenia wynika, że jedyną rzeczą, która uniemożliwia taki ruch jest to, że stajesz się na tyle starszy, że nie weźmiesz spadku wynagrodzenia, który jest częścią przeprowadzki w miejsce, w którym jesteś mniej doświadczony.