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