首先你要明確入行的目的,你是深深的熱愛(ài)著(zhù)編程還是只是因為程序員是個(gè)高薪的職業(yè)呢?如果是后者,那么不好意思,你需要慎重的選擇。
在中國,程序員并不是一個(gè)很好地稱(chēng)呼。程序員似乎象征著(zhù)邋遢,宅,甚至是IT民工。記得有一期非誠勿擾上面,上去一個(gè)男嘉賓,開(kāi)場(chǎng)說(shuō)他是搞JAVA的,臺上女嘉賓的燈全滅了。是不是很可笑,很可悲?而且只有你真正的進(jìn)入這個(gè)行業(yè)你才清楚,這個(gè)看上去還不錯的薪水,你卻付出了超過(guò)薪水價(jià)值的代價(jià)。創(chuàng )業(yè)型與游戲型公司里面的項目小組一般是5~10個(gè)人,因為他們需要快速的開(kāi)發(fā)以應對多變的市場(chǎng)波動(dòng),所以程序猿的每天工作時(shí)長(cháng)都在12小時(shí)以上,身體和精神收到摧殘不說(shuō)。作為程序猿的你很少有時(shí)間去陪陪自己的家人、自己的女友。
如果作為前者,你是因為深深的熱愛(ài)著(zhù)編程,那么恭喜你,你有著(zhù)一顆hacker的心,屬于那些愿意做一些有挑戰性的事情的人。就如WhyTheLuckyStiff所說(shuō):“當你不創(chuàng )造東西時(shí),你只會(huì )根據自己的感覺(jué)而不是能力去看待問(wèn)題。”
當你開(kāi)始編程,開(kāi)始創(chuàng )造的時(shí)候,開(kāi)始享受的時(shí)候,一切外界的評論,都擋不住你對技術(shù)對創(chuàng )造的熱愛(ài)。但是,我不得已要潑你一盆冷水,來(lái)提醒你一下。你是否準備好了忍受寂寞,也許你面對的是十年寒窗無(wú)人問(wèn),若你沒(méi)有熬住,也許就等不到一朝成名天下知的時(shí)刻。技術(shù)是永無(wú)止境的,好的程序員必須保持對于新的技術(shù)敏感度,保持學(xué)習的熱情。Stay hungry ,Stay Foolish。
明確了目的,那么你應該規劃下自己的職業(yè)生涯。
宏觀(guān)的講,個(gè)人認為我們需要經(jīng)歷三個(gè)階段:深度、廣度、高度。
高度:這個(gè)層面往往體現在規劃能力,能夠看到未來(lái)業(yè)務(wù)的發(fā)展,設計出相對合理的架構滿(mǎn)足未來(lái)業(yè)務(wù)的快速擴展。這個(gè)階段應該是少參與到具體的編碼中去,應該是一個(gè)公司的CTO或者首席架構師角色。這個(gè)方面的能力比較虛,相對來(lái)說(shuō)也是最難煉成的。
廣度:就是知識領(lǐng)域的廣度。反映在IT技能上,就是所掌握的領(lǐng)域,比如.net,java,數據庫,web,前端等等。不一定每個(gè)領(lǐng)域都能夠精通,但是至少都能了解,能夠在面對問(wèn)題的時(shí)候能夠拿出一個(gè)切實(shí)可行的解決方案。對于跨領(lǐng)域方面,可能是你的溝通能力,管理能力等。
深度:在某一領(lǐng)域有很深入的了解,旺旺是一門(mén)具體的技術(shù)。比如js代碼寫(xiě)的很精通,數據庫知識非常豐富,精通linux操作系統底層。
深度->廣度->高度,越往上,要求的抽象能力越高,越往下,要求細節知識越具體。一個(gè)人往往具備了以上三樣,就是一個(gè)成功的大牛。
微觀(guān)的講,.已經(jīng)工作兩年以上的程序員可以有幾種基本的職業(yè)規劃:技術(shù)專(zhuān)家、軟件架構師、實(shí)施顧問(wèn)或銷(xiāo)售。對大多數人來(lái)說(shuō),首先是要專(zhuān),在技術(shù)上做的比較深入,然后進(jìn)行工作調整,把自己轉變?yōu)槟硞(gè)領(lǐng)域的專(zhuān)家,第三步,根據自己的情況,來(lái)選擇技術(shù)還是管理。
有了自己的規劃,最重要的是執行。我認為很多漂亮的計劃都會(huì )因為執行力不夠而夭折。一個(gè)一流的計劃經(jīng)過(guò)二流的執行,甚至不如三流。而一個(gè)三流的計劃,經(jīng)過(guò)一流的執行,也許就能達到二流。所以從計劃本身來(lái)說(shuō),執行往往更重要些。
如果你要走技術(shù)路線(xiàn),那么就深入某一領(lǐng)域,培養程序員以下幾個(gè)基本素質(zhì)。
1.團隊精神和協(xié)作能力;
2.良好的文檔習慣;
3.規范化、標準化的代碼編寫(xiě)習慣;
4.需求理解能力;
5.復用性、模塊化的思維能力;
6.測試習慣;
7.學(xué)習和總結能力。
如果你要走管理路線(xiàn),那么你首先需要向一個(gè)PM的目標前進(jìn),然后成為總監乃至CTO。我這里講講要成為一個(gè)PM需要哪些能力。
先看看下面的招聘啟事吧,這只不過(guò)是一家幾十人公司的一個(gè)招聘廣告:
招聘職位1:軟件項目經(jīng)理
職位描述:
1、帶領(lǐng)實(shí)施團隊完成某軟件項目;
2、制定項目計劃和實(shí)施部署;項目進(jìn)度、質(zhì)量及范圍管理與控制。
3、負責軟件實(shí)施過(guò)程中與各方的溝通、關(guān)系協(xié)調與維護;以及實(shí)施人員的安排與管理
4、負責了解客戶(hù)對軟件的業(yè)務(wù)需求及意見(jiàn),及時(shí)反饋、跟蹤開(kāi)發(fā)人員解決問(wèn)題。
5、及時(shí)、有效協(xié)調資料解決項目實(shí)施過(guò)程中出現的疑難問(wèn)題;
職位要求:
1、具備優(yōu)秀的團隊協(xié)作精神,良好的溝通能力,有較強的口頭/書(shū)面表達能力;
2、熟悉企業(yè)信息化業(yè)務(wù),百萬(wàn)企業(yè)信息化項目經(jīng)驗;
3、精通數據庫系統和項目管理工具;
4、熟悉XYZ行業(yè)相關(guān)業(yè)務(wù)知識;有財務(wù)背景知識,快速理解和學(xué)習能力;
5、良好的客戶(hù)服務(wù)意識,負責、敬業(yè)、細心。
6、有軟件大項目管理經(jīng)驗或N年以上項目管理經(jīng)歷優(yōu)先;
那么,讓我們看一下這個(gè)招聘啟事對軟件項目經(jīng)理能力的描述吧:
團隊協(xié)作精神 ——高
溝通能力 ——高
口頭表達能力 ——高
書(shū)面表達能力 ——高
IT技術(shù) ——高
XYZ行業(yè)知識 ——高
理解和學(xué)習能力 ——高
服務(wù)意識 ——高
項目經(jīng)驗 ——高
我們概括一下,是不是差不多就5類(lèi):溝通(口頭表達能力,書(shū)面表達能力,溝通能力,服務(wù)意識)、管理(團隊協(xié)作精神)、技術(shù)(IT技術(shù))、成本控制、行業(yè)(XYZ行業(yè)知識)。理解和學(xué)習能力是很綜合的,無(wú)論是在學(xué)習過(guò)程還是生活中都能體現。最后一點(diǎn),項目經(jīng)驗,這東西是學(xué)不來(lái)的,只有踏踏實(shí)實(shí)跟著(zhù)團隊做幾個(gè)項目才能積累起來(lái)的。
如果你想成為一個(gè)項目經(jīng)理,那么首先就要把自己定位成一個(gè)項目經(jīng)理,拿項目經(jīng)理的水準來(lái)嚴格要求自己。比如溝通,平時(shí)應該多鍛煉和他的的溝通能力,不一定非要在項目中和客戶(hù)溝通。還有如果沒(méi)有技術(shù),那么誰(shuí)都不會(huì )信服你的。
從技術(shù)和非技術(shù)的角度來(lái)向項目經(jīng)理看齊。
技術(shù)
1.有著(zhù)一定的技術(shù)廣度。首先你需要對現在有的技術(shù)有一定的了解。我認為,好的PM不一定是團隊中技術(shù)最強的,但是一定能知道這些技術(shù)能拿來(lái)干什么。如果你不懂JAVA,你一定不知道你手下有沒(méi)有偷懶,明明一個(gè)禮拜就可以完成的事情,他兩個(gè)禮拜都沒(méi)有搞定,導致你的計劃全亂掉了。
其次你需要對新興的技術(shù)有所了解 。IT行業(yè)每時(shí)每刻都會(huì )涌現出很多新興的技術(shù),誰(shuí)也不知道某一項技術(shù)的出現會(huì )不會(huì )能改變IT發(fā)展的趨勢。就如java語(yǔ)言剛出現的時(shí)候,誰(shuí)也不會(huì )知道它會(huì )那么流行。
2.有著(zhù)一定的技術(shù)深度。深入了解一門(mén)技術(shù)。這門(mén)技術(shù)是你的敲門(mén)磚,是你打開(kāi)PM大門(mén)必須的鑰匙。在網(wǎng)上那些當上項目經(jīng)理,在IT行業(yè)走的很遠的人都會(huì )對我們說(shuō),作為一個(gè)PM,技術(shù)不是最重要的,重要的是那些非技術(shù)的東西?勺鳛橐粋(gè)科班出生的程序員,我真的無(wú)法透過(guò)那層霧來(lái)看他們描述的PM的世界。直到后來(lái),我和一個(gè)當過(guò)項目經(jīng)理的老師談話(huà)才明白。技術(shù),其實(shí)是個(gè)敲門(mén)磚,當敲開(kāi)這扇們之前,他還是挺重要的?墒钱斍瞄_(kāi)后,那些非技術(shù)的東西才是PM的精髓。
3.了解技術(shù)發(fā)展的歷史。個(gè)人認為技術(shù)發(fā)展有一種趨勢,當我們能通過(guò)過(guò)去和現在之間的聯(lián)系,推算未來(lái)技術(shù)發(fā)展的潮流。
非技術(shù)
作為一個(gè)PM,你的最終目的是:替老板賺錢(qián)。別說(shuō)我庸俗,也許以后你成為首席技術(shù)總監以后你有資格談技術(shù)本身,不然老板是你的衣食父母,你必須替他想。圍繞著(zhù)這個(gè)目的我們通過(guò)技術(shù)知道,達到技術(shù)設計最優(yōu)化;通過(guò)管理團隊,達到團隊產(chǎn)出最大化;通過(guò)成本控制,達到經(jīng)濟效益最大化;通過(guò)和用戶(hù)溝通交流,達到用戶(hù)滿(mǎn)意最大化。這一切一切概括的說(shuō)就是你領(lǐng)導一個(gè)團隊,使用一些掌握的技術(shù),作出一個(gè)項目,使得客戶(hù)滿(mǎn)意,然后老板開(kāi)心。老板一開(kāi)心,也許你就升職加薪,那么你就開(kāi)心了。
所以,PM要學(xué)習的非技術(shù)的東西很多,大致分為以下幾個(gè)方面:
1.產(chǎn)品市場(chǎng)
2.產(chǎn)品設計
3.團隊管理
其中里面又有很多相關(guān)的內容,比如擁有好的人脈也是很重要的。比如學(xué)習如何培養自己的創(chuàng )新思維等等。你需要學(xué)習營(yíng)銷(xiāo)和推廣,需要了解消費心理學(xué)、行為心理學(xué)等等。
我無(wú)法告訴你具體該怎么學(xué)習,因為我自己也沒(méi)有達到那個(gè)高度。以上這些內容也是借鑒一些行業(yè)的前輩的指導,以及自己的一些獨特體會(huì ),所以難免見(jiàn)解有些狹隘。但是如果文中的某一點(diǎn)能給你一些啟發(fā),那么也不枉我寫(xiě)了那么多了。