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.
Czego oczekujesz? Pieniądze? Underlings? Samo spełnienie? Wolność? Moc? Ilekroć słyszę, że ktoś chce zrobić karierę , mam wrażenie, że ten ktoś nie ma jasnych celów .
źródło
Deweloper, starszy programista, architekt, kierownik projektu (być może także główny inżynier, kierownik programu, dyrektor ds. Technicznych i nie daj Boże, dyrektor generalny). To wszystko, jedyne pytanie brzmi: w którym momencie całkowicie przełączysz się z edytora / IDE na Microsoft Project / Word / Powerpoint.
źródło
Liczbę lat na stanowisku można obliczyć tylko na poziomie bardzo młodszym w Organizacji. Gdy rośniesz pionowo, ta formuła zawodzi żałośnie. Niektórzy ludzie stają się prezesami w wieku 40 lat, niektórzy stają się dyrektorami generalnymi w wieku 50 lat, a niektórzy nigdy nie osiągają tego poziomu, nawet jeśli tego chcą.
źródło
Cóż, nie mogę wam powiedzieć na pewno, ale mogę wam pokazać moją dotychczasową „karierę” (poza studiami) i co chciałbym robić (w nawiasach):
administrator sieci -> asystent badawczy wolontariuszy -> pracownik kina -> tester oprogramowania -> pracownik call center (sprzedaje wino) -> programista w usługach finansowych -> programista na własny rachunek (usługi finansowe) -> programista w instrumentach naukowych [-> zdobądź doktorat w czymś związanym z CS -> uzyskaj stanowisko wykładowcy -> uzyskaj pracę -> przejdź na emeryturę]
Wydaje mi się, że interesują Cię tylko etapy, w których jestem programistą, a reszta jest pełna. Kwota, którą zarabiam na każdym etapie, zależy od tego, dla kogo pracuję, ponad moje stanowisko.
Jak dotąd nie byłem w tej samej roli przez ponad 2 lata. Doktorat trwałby oczywiście dłużej i mam nadzieję, że przez jakiś czas będę pełnił obecną rolę. Stać się wykładowcą i być zatrudnionym, cóż, to może trwać wiecznie.
źródło
Hai Amir Rezaei,
Chciałbym zasugerować, że programista może rozpocząć karierę jako programista na poziomie Junior po ukończeniu kilku projektów w dobrym stylu i zdobyciu rocznego doświadczenia [tj. Pewnego rozsądnego doświadczenia], a następnie może awansować na stanowisko Senior Poziom dewelopera, jeśli firma uważa, że ma zarówno umiejętności techniczne, jak i umiejętności zarządzania, takie jak cechy przywódcze itp. W podobny sposób może on przejść do następnych poziomów, takich jak
Starszy programista -> Kierownik zespołu Kierownik zespołu -> Architekt Architekt -> Kierownik projektu
źródło