你是否還一直保持著對(duì)編程的熱愛(ài)?每一段通過(guò)測(cè)試的代碼都能給你愉悅的成就感;每當(dāng)接觸到一個(gè)嶄新的前沿框架你都感到興奮并躍躍欲試……如果你仍一如既往的保持著這份激情,那么軟件開(kāi)發(fā)這項(xiàng)工作真的對(duì)你再適合不過(guò)了。但是,你是否考慮過(guò)在5年、10年、15年以后的職業(yè)規(guī)劃呢?你還要繼續(xù)寫(xiě)代碼么?如果你之前沒(méi)有考慮過(guò)這個(gè)問(wèn)題,那么這篇文章可以給你很好的建議,它將指導(dǎo)你發(fā)現(xiàn)軟件開(kāi)發(fā)人員可能經(jīng)歷的職業(yè)發(fā)展之路。
關(guān)于職業(yè)發(fā)展之路
眾所周知,程序員可以發(fā)展為架構(gòu)師、團(tuán)隊(duì)管理者或者企業(yè)領(lǐng)導(dǎo)等。但是大多數(shù)人對(duì)于這些職位的經(jīng)驗(yàn)技術(shù)要求和需要的時(shí)間等還知之甚少。比如,許多人都知道一些關(guān)于manager的日常工作,但是除了發(fā)送郵件和召開(kāi)一個(gè)又一個(gè)會(huì)議之外的工作你又知道多少呢?中級(jí)管理層的manager與高級(jí)管理層的leader又有什么區(qū)別呢?
初級(jí)程序員
0-3年的開(kāi)發(fā)經(jīng)驗(yàn)(畢業(yè)生居多)
對(duì)應(yīng)用程序的生命周期基本了解
能夠編寫(xiě)簡(jiǎn)單的代碼和腳本
需要得到密切關(guān)注和幫助
對(duì)于復(fù)雜應(yīng)用程序的各個(gè)層面都不熟悉
作為一個(gè)年輕的充滿(mǎn)激情和熱情的初級(jí)軟件開(kāi)發(fā)者,他們努力把自己的工作做到最好。對(duì)于所有一切他們都感到好奇,他們嘗試著學(xué)習(xí)所有全新的東西——包括方法、范例、程序語(yǔ)言、設(shè)計(jì)模式以及技術(shù)等。在學(xué)習(xí)期間,他們還使用不同的語(yǔ)言實(shí)現(xiàn)一些應(yīng)用程序,當(dāng)然,這些程序都是最初級(jí)的。
雖然在獲取新知識(shí)方面進(jìn)展神速,但是他們沒(méi)有足夠多的代碼編寫(xiě)經(jīng)驗(yàn),而且缺少高級(jí)資深程序員的智慧和技巧。在編程方面,初級(jí)軟件開(kāi)發(fā)者閱讀大量的文章,書(shū)籍并進(jìn)行模仿訓(xùn)練。每個(gè)初級(jí)軟件開(kāi)發(fā)者都有這樣的經(jīng)歷:開(kāi)始寫(xiě)一些很差的代碼,然后調(diào)試出許多愚蠢的錯(cuò)誤,當(dāng)問(wèn)題很久都無(wú)法解決的時(shí)候又重新開(kāi)始。但即使是這樣,也無(wú)法深刻的理解模仿的價(jià)值和最佳實(shí)踐的方式,畢竟這是處于開(kāi)發(fā)者的初學(xué)階段。
高級(jí)程序員
4-10年的開(kāi)發(fā)經(jīng)驗(yàn)
能夠編寫(xiě)復(fù)雜的代碼以及整個(gè)應(yīng)用程序
對(duì)整個(gè)應(yīng)用程序的生命周期有較深刻的理解
不需要?jiǎng)e人提供幫助,通過(guò)使用搜索引擎解決大部分問(wèn)題
在經(jīng)歷了數(shù)以萬(wàn)計(jì)次的代碼編譯、警告、錯(cuò)誤的洗禮后,他們能夠完全通過(guò)自己獲取的知識(shí)來(lái)開(kāi)展自己的工作了。他們不需要指導(dǎo)和監(jiān)督,只需使用Stackoverflow、google、baidu等網(wǎng)絡(luò)資源他們就能解決幾乎所有問(wèn)題。除了專(zhuān)注于解決問(wèn)題,他們對(duì)于代碼的質(zhì)量和算法的合理性也非常關(guān)注。在多次面對(duì)類(lèi)似問(wèn)題的時(shí)候,他們使用自己收集和編寫(xiě)的可重用代碼庫(kù)來(lái)節(jié)省時(shí)間,提高效率。當(dāng)他們能夠在項(xiàng)目或者公司獨(dú)當(dāng)一面的時(shí)候,他們希望能有更好的發(fā)展前途。
架構(gòu)師/團(tuán)隊(duì)管理/程序管理
7-10年的開(kāi)發(fā)經(jīng)驗(yàn)
至少與高級(jí)程序員的編程技術(shù)相當(dāng)
架構(gòu)師:具有對(duì)不同編程技術(shù)的廣泛知識(shí)和見(jiàn)地,這個(gè)職位并不是只對(duì)一門(mén)語(yǔ)言和技術(shù)精通就能勝任的。
開(kāi)發(fā)管理:除了深厚的專(zhuān)業(yè)知識(shí),還需要掌握管理學(xué)、“軟”技能(含口才、文筆等)以及了解業(yè)務(wù)領(lǐng)域。
有一些軟件開(kāi)發(fā)人員在經(jīng)過(guò)幾年的編程后對(duì)這項(xiàng)工作漸漸厭倦了,這一步就是程序員職業(yè)過(guò)渡的開(kāi)始。但是最終向什么方向發(fā)展,這取決于程序員自己。那些性格外向,有良好表達(dá)能力和軟技能的人會(huì)考慮管理的角色。作為一個(gè)團(tuán)隊(duì)的領(lǐng)導(dǎo)者,他們將專(zhuān)注于項(xiàng)目管理,確保目標(biāo)的達(dá)成情況,安排成員的工作任務(wù)以及調(diào)動(dòng)團(tuán)隊(duì)的工作熱情。他們會(huì)花大部分的時(shí)間在會(huì)議上來(lái)規(guī)劃接下來(lái)的工作計(jì)劃和未來(lái)的目標(biāo),以確保一切都能走上正軌。
如果在經(jīng)過(guò)6年以上的編程工作后,你確定管理工作并不是你喜歡的職業(yè),那么成為架構(gòu)師將是你使用專(zhuān)業(yè)技術(shù)邁向下一步的成功階梯。擁有對(duì)不同領(lǐng)域的標(biāo)準(zhǔn)、性能、語(yǔ)法等廣博知識(shí)的高級(jí)程序員能夠勝任架構(gòu)師這個(gè)職位。作為架構(gòu)師,打字編寫(xiě)代碼已經(jīng)不是他們的主要工作了,他們的主要工作是設(shè)計(jì)整個(gè)系統(tǒng)/應(yīng)用程序,與其他架構(gòu)師討論整個(gè)拓?fù)浜透呒?jí)體系結(jié)構(gòu),定義標(biāo)準(zhǔn)和策略。架構(gòu)師關(guān)注整體結(jié)構(gòu)更甚于技術(shù)細(xì)節(jié),通常高級(jí)程序員會(huì)向他們提一些準(zhǔn)則和需求,一旦確定了新的需求,架構(gòu)師會(huì)很快知道如何使用正確的方法來(lái)設(shè)計(jì)和測(cè)量所有不同類(lèi)型的應(yīng)用程序。
中層管理者
通常有一些頭銜如總監(jiān)/經(jīng)理(產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理、開(kāi)發(fā)經(jīng)理)
負(fù)責(zé)雇傭/解雇人員
向高級(jí)管理層作報(bào)告
經(jīng)理有多種不同類(lèi)型。對(duì)于細(xì)節(jié)和工作流的跟蹤著迷的軟件開(kāi)發(fā)人員適合于做項(xiàng)目經(jīng)理;重視產(chǎn)品版本新特性的視覺(jué)感受和應(yīng)用程序用戶(hù)體驗(yàn)的軟件開(kāi)發(fā)人員適合于做產(chǎn)品經(jīng)理;另外還有最常見(jiàn)的職位開(kāi)發(fā)經(jīng)理,它的工作是負(fù)責(zé)協(xié)調(diào)管理整個(gè)團(tuán)隊(duì)及團(tuán)隊(duì)成員的需求。它還有另外一個(gè)職責(zé)就是按照開(kāi)發(fā)的需求來(lái)雇傭相關(guān)人員,當(dāng)然如果某人無(wú)法勝任某個(gè)工作,他也會(huì)對(duì)其進(jìn)行解雇。這就意味著開(kāi)發(fā)經(jīng)理通常很難和團(tuán)隊(duì)成員做朋友了,但是如果你能帶領(lǐng)的你的團(tuán)隊(duì)獲得成功,那么你會(huì)得到很大的回報(bào)和所有人的尊重。
高級(jí)領(lǐng)導(dǎo)
VP, CTO或者CEO
負(fù)責(zé)任命/招聘/解雇中層管理人員
向董事會(huì)/股東作報(bào)告
雖然一個(gè)公司的決策者只能有一個(gè),但是許多公司會(huì)每隔幾年更換一些新鮮空氣——招聘一些有豐富經(jīng)驗(yàn)的人員進(jìn)入高級(jí)管理層。他們中的一些人會(huì)傳播一些其它企業(yè)先進(jìn)的管理經(jīng)驗(yàn)或市場(chǎng)經(jīng)驗(yàn),而另外一些人可能在同一家大公司服務(wù)超過(guò)了20年。
關(guān)于我們
產(chǎn)品與平臺(tái)
企業(yè)信息咨詢(xún)