第一篇:如何從It小白到程序員
如何從It小白到程序員
從0基礎(chǔ)到讓程序跑起來(lái),他們只用了10天,你還在觀望么?Newer嵌入式班級(jí)學(xué)習(xí)不懼酷暑,持續(xù)提升中····
IT行業(yè)發(fā)展日趨迅猛,IT產(chǎn)業(yè)的產(chǎn)值成倍增長(zhǎng),發(fā)展必然帶來(lái)人才的需求,因此眾多人群想要進(jìn)入IT行業(yè)發(fā)展。關(guān)于嵌入式開發(fā)你又了解多少呢?目前國(guó)內(nèi)外嵌入式方面的人才都很稀缺,嵌入式領(lǐng)域人才的工作強(qiáng)度相對(duì)較低,但是收入非??捎^,這些在校生為了更好的提升自己,為了能夠高薪就業(yè)來(lái)到了牛耳,17年品牌,全日制、業(yè)余制班級(jí)完全可以滿足你學(xué)習(xí)的需求。
第一次師生見面會(huì),第一次預(yù)科課程··滿滿的學(xué)習(xí)激情
大家都是來(lái)自不同的學(xué)校,不同的專業(yè),但是大家有一個(gè)共同的目標(biāo),成為嵌入式開發(fā)工程師,平時(shí)學(xué)校有課,暑假須得好好的利用起來(lái),每天上午上課,下午實(shí)戰(zhàn)訓(xùn)練,一天進(jìn)步一點(diǎn),每天都過(guò)得充實(shí),有收獲。
8月1日開始上課,到今天的成果演示,從0基礎(chǔ)到完成一個(gè)小游戲滿滿的成就感,他們只用了十天的時(shí)間,觀望的你還猶豫么?
從數(shù)組到指針,從排序算法線性結(jié)構(gòu),從二叉樹到圖···都離不開一個(gè)好的導(dǎo)師,離不開一個(gè)好的學(xué)習(xí)氛圍,離不開共同進(jìn)步的同學(xué)。
Newer C語(yǔ)言階段項(xiàng)目展示中,凌同學(xué)的界面做的有個(gè)性,羅同學(xué)的功能有特色,符同學(xué)的游戲色彩多變,你還在觀望么?
秋招臨近,牛耳教育「軟件工程師名企內(nèi)推班」火熱開班
18項(xiàng)核心技能,4大職業(yè)素養(yǎng)綜合特訓(xùn)!
第二篇:從程序員到測(cè)試工程師
從程序員到測(cè)試工程師
前言:軟件測(cè)試一門非常嶄新的學(xué)科,目前研究的內(nèi)容還很不深入,仍然處于嬰兒階段。軟件測(cè)試需要什么樣的專業(yè)基礎(chǔ)還沒(méi)有定論,而且目前還沒(méi)有一種很好的標(biāo)準(zhǔn)來(lái)衡量測(cè)試人員。但無(wú)可置疑,軟件測(cè)試越來(lái)越受到軟件公司的重視,軟件測(cè)試工程師的作用也逐漸被人們所認(rèn)可。這一點(diǎn)已經(jīng)在像微軟這樣的國(guó)外大型軟件企業(yè)中所證實(shí),在微軟,一個(gè)開發(fā)人員相對(duì)應(yīng)著一至兩個(gè)測(cè)試人員?,F(xiàn)在,就讓我們走近軟件測(cè)試工程師,關(guān)注他們的成長(zhǎng)之路。
從程序員到軟件測(cè)試工程師
國(guó)內(nèi)軟件公司對(duì)軟件測(cè)試的態(tài)度令人擔(dān)憂。軟件測(cè)試工程師不足,開發(fā)測(cè)試人員比例不合理。據(jù)調(diào)查,最好的企業(yè)中測(cè)試人員和開發(fā)人員的比例是1:8,有的是1:20,甚至沒(méi)有專職的測(cè)試工程師。
曾經(jīng)參與微軟Windows95、Exchange Server4.0和4.5、Internet Explorer 4.0和5.0、SQL Server 2000開發(fā)與測(cè)試工作陳宏剛博士盡管已經(jīng)升任微軟亞洲研究院商務(wù)及高校關(guān)系高級(jí)經(jīng)理,但仍然對(duì)國(guó)內(nèi)軟件測(cè)試水平的落后深有感觸。
國(guó)內(nèi)很多企業(yè)還處在探索階段,小企業(yè)的運(yùn)作方式造成其主要精力是要盡快完成初始資本積累。有些企業(yè)也了解軟件測(cè)試的重要性,很努力、很認(rèn)真的在學(xué),但因?yàn)楹芏嘣蚨鴮W(xué)不到精髓,不知道如何去做。于是只能局限于書本上學(xué)來(lái)的簡(jiǎn)單的黑箱、白箱測(cè)試而已。很多人知道有壓力測(cè)試和性能測(cè)試,但針對(duì)產(chǎn)品具體如何去做就不清楚了。
陳宏剛表示,重視測(cè)試首先需要有開放性的軟件文化,而在很多公司中,測(cè)試工程師只是絕對(duì)服從的聽命角色,沒(méi)有開發(fā)他們的積極性和創(chuàng)造性。一些管理人員對(duì)軟件開發(fā)的流程管理經(jīng)驗(yàn)不足,仍然用傳統(tǒng)企業(yè)的方法進(jìn)行管理,再加上對(duì)軟件質(zhì)量的控制理解不對(duì),認(rèn)為編完程序經(jīng)過(guò)簡(jiǎn)單的程序員自己測(cè)試就可以使用了,而沒(méi)有認(rèn)識(shí)到軟件測(cè)試是控制質(zhì)量最好的方法。
不過(guò),國(guó)內(nèi)還是有一些大型公司和專業(yè)公司已經(jīng)在軟件測(cè)試方面走上正規(guī)。1994年開始接包IBM軟件測(cè)試項(xiàng)目,1999年軟件測(cè)試成為公司主體軟件外包業(yè)務(wù)之一的和騰軟件就是其中之一。因?yàn)榭蛻艟褪荌BM這樣的大型軟件公司,騰軟件高級(jí)副總裁劉忠表示,它們
在軟件測(cè)試管理上,經(jīng)同國(guó)外的公司相差不大,同時(shí)也研究和應(yīng)用了多種軟件測(cè)試技術(shù)。
軟件測(cè)試工程師
一提到軟件測(cè)試工程師,很多人就會(huì)想到那些反復(fù)使用軟件,試圖在頻繁操作中尋找到錯(cuò)誤發(fā)生的低層次人員或者軟件用戶。其實(shí)這是一種錯(cuò)誤的概念,軟件測(cè)試早已超越了用戶使用來(lái)發(fā)現(xiàn)Bug的基本測(cè)試階段。
陳宏剛介紹說(shuō),微軟的軟件測(cè)試工程師分為三種:測(cè)試執(zhí)行者(Basic Software Tester)、測(cè)試工具軟件開發(fā)工程師(Software Development Engineer in Test)和高級(jí)軟件測(cè)試工程師(Ad_hoc Tester)
測(cè)試執(zhí)行者負(fù)責(zé)理解產(chǎn)品的功能要求,然后根據(jù)測(cè)試規(guī)范和測(cè)試案例對(duì)其進(jìn)行測(cè)試,檢查軟件有沒(méi)有錯(cuò)誤,決定軟件是否具有穩(wěn)定性,屬于最低級(jí)的執(zhí)行角色。
測(cè)試工具軟件開發(fā)工程師負(fù)責(zé)寫測(cè)試工具代碼,并利用測(cè)試工具對(duì)軟件進(jìn)行測(cè)試;或者開發(fā)測(cè)試工具為軟件測(cè)試工程師服務(wù)。產(chǎn)品開發(fā)后的性能測(cè)試、提交測(cè)試等過(guò)程,都有可能要用到開發(fā)的測(cè)試工具。對(duì)技術(shù)要求最強(qiáng)的是這些人,因?yàn)樗鼈円邆鋵懗绦虻募夹g(shù)?!耙?yàn)椴煌a(chǎn)品的特性不一樣,對(duì)測(cè)試工具要求也是不同的,就像Windows的測(cè)試工具不能用于Office,office的也不能用于SQLserver,微軟很多測(cè)試工程師就是負(fù)責(zé)專門為某個(gè)產(chǎn)品寫測(cè)試程序的。”
而Ad_hoc Testet屬于比較有經(jīng)驗(yàn),自己會(huì)找方向并做的很好的測(cè)試工程師,這要求具有很強(qiáng)的創(chuàng)造性。剛進(jìn)入微軟時(shí),老板也是只給陳宏剛一個(gè)操作流程,每天就按照這個(gè)規(guī)程去做,幾天下來(lái),一個(gè)Bug都沒(méi)有發(fā)現(xiàn)。陳宏剛也很沮喪,覺(jué)得這樣挺對(duì)不起公司,后來(lái)自己?jiǎn)栕约海簽槭裁捶且@樣做!于是換了其他的方法試試,令他吃驚的是,一下就找到很多嚴(yán)重的Bug,當(dāng)時(shí)也不敢聲張。有一天,他找到10多個(gè)非常嚴(yán)重的Bug,開發(fā)經(jīng)理一下就驚呆了,怒沖沖的跑到陳宏剛面前問(wèn):“你是不是改變了測(cè)試方式和測(cè)試步驟?”陳宏剛有些嚇住,說(shuō)道:“可能改變了一點(diǎn)?!睂?duì)方說(shuō):“我非常生氣,但我不是生你的氣,而是因?yàn)橐郧皽y(cè)試人員水平太差,或者以前的測(cè)試方面有問(wèn)題,軟件中有些Bug存在了半年甚至一年,但直到現(xiàn)在才發(fā)現(xiàn),現(xiàn)在修補(bǔ)這些錯(cuò)誤要困難很多!”后來(lái)陳宏剛得到了老板的贊許,可以按照自己的想法去做測(cè)試。對(duì)此,陳宏剛感受頗深:“一方面我體會(huì)到了微軟非常鼓勵(lì)創(chuàng)造的文化,同時(shí)也感到只遵守教條不是好的測(cè)試人員,就和用戶一樣了。做軟件測(cè)試工程師同樣需要開拓和創(chuàng)造性?!?/p>
在開發(fā)管理上,測(cè)試不應(yīng)該歸屬于項(xiàng)目管理,也不應(yīng)該歸屬開發(fā)人員。這三個(gè)部門應(yīng)該是并駕齊驅(qū),相互協(xié)作,測(cè)試工程師最終決定產(chǎn)品是否能夠發(fā)布。
軟件測(cè)試工程師的素質(zhì)
因?yàn)檐浖y(cè)試仍然處在發(fā)展階段,還沒(méi)有上升到理論層次。對(duì)人員的評(píng)測(cè),包括微軟在內(nèi),都還沒(méi)有一個(gè)統(tǒng)一標(biāo)準(zhǔn),因此評(píng)定軟件測(cè)試工程師只能根據(jù)工作實(shí)踐進(jìn)行自然淘汰。
軟件測(cè)試對(duì)邏輯思維、學(xué)習(xí)能力、反應(yīng)要求很高,是否有嚴(yán)密的思維和逆向思維也非常重要。陳宏剛介紹說(shuō),在五六個(gè)人的測(cè)試小組時(shí),一半以上的Bug都是他找到的。他認(rèn)為這同自己數(shù)學(xué)專業(yè)的背景關(guān)系密切,數(shù)學(xué)中有邏輯思維的培訓(xùn),要善于找出來(lái)各方面的因素。比如要證明一個(gè)定理,各個(gè)方面都考慮到,一個(gè)條件不滿足就無(wú)法證明;但如果證明其不成立,最常用的就是找到一個(gè)反例,只要有一點(diǎn)證明不成立就可以了,軟件測(cè)試也是找這一點(diǎn)。
做測(cè)試還要考慮到所有出錯(cuò)的可能性,還要做一些不是按常規(guī)做的、非常奇怪的事。除了漏洞檢測(cè),測(cè)試還應(yīng)該考慮性能問(wèn)題,也就是要保證軟件運(yùn)行得很好,沒(méi)有內(nèi)存泄漏,不會(huì)出現(xiàn)運(yùn)行越來(lái)越慢的情況;在不同的使用環(huán)境下,考慮軟件的兼容性同樣重要。軟件測(cè)試同產(chǎn)品的規(guī)模也有很大的關(guān)系,因?yàn)檐浖腷ug往往出在大型軟件的連接處。
做軟件測(cè)試工程師需要對(duì)軟件抱有懷疑態(tài)度。這是因?yàn)殚_發(fā)人員喜歡想當(dāng)然,總是找一些有利于自己程序執(zhí)行的數(shù)據(jù),有些開發(fā)人員甚至認(rèn)為不利于程序執(zhí)行的數(shù)據(jù)是對(duì)代碼的玷污和褻瀆。而軟件測(cè)試卻要策略性的準(zhǔn)備各種數(shù)據(jù),從每個(gè)細(xì)節(jié)上設(shè)計(jì)不同的應(yīng)用場(chǎng)景,不去想當(dāng)然的假定任何一個(gè)數(shù)據(jù)是可行的。
在職業(yè)素質(zhì)和交際方面方面,并不是測(cè)試工程師愛挑別人毛病才好,反而這個(gè)工作要求很強(qiáng)的溝通能力。經(jīng)常的和開發(fā)人員進(jìn)行溝通,說(shuō)話辦事要很得當(dāng),不能指責(zé)別人,否則會(huì)事倍功半。性格隨和才能和開發(fā)人員順暢的溝通,對(duì)人和對(duì)事是完全不同的兩個(gè)問(wèn)題。
如何培養(yǎng)優(yōu)秀的軟件測(cè)試工程師
朗川軟件測(cè)試工程師張建陽(yáng)從北大力學(xué)系畢業(yè)之后,曾開發(fā)流體力學(xué)分析軟件,軟件缺少測(cè)試而產(chǎn)生的問(wèn)題給她留下了很深的印象。后來(lái)去大唐電信做UIM(統(tǒng)一消息管理系統(tǒng)),她發(fā)現(xiàn)盡管公司為了鼓勵(lì)員工找bug采取了很多獎(jiǎng)勵(lì)方法,但還是很少人愿意去做系統(tǒng)測(cè)試。而張建陽(yáng)卻從那時(shí)查閱翻譯了很多國(guó)內(nèi)外的資料,對(duì)軟件測(cè)試產(chǎn)生了濃厚的興趣。
像張建陽(yáng)這樣在工作中自己定位在軟件測(cè)試領(lǐng)域的開發(fā)人員并不多見,因?yàn)槌绦騿T更愿意去做開發(fā)而不是測(cè)試,從大環(huán)境上,測(cè)試人員收入水平低也是原因之一。而在微軟,測(cè)試人員和開發(fā)人員的工資水平是相同的。
如何改變這種現(xiàn)狀呢?有人說(shuō)可以可以派人去先進(jìn)的國(guó)外軟件企業(yè)學(xué)習(xí),但這種方式因?yàn)闋可娴缴虡I(yè)秘密,可操作性不大。陳宏剛博士認(rèn)為更好的方法是引進(jìn)人才,把在國(guó)外大型軟件公司工作過(guò)、有經(jīng)驗(yàn)的人才引進(jìn)來(lái),甚至要高薪聘請(qǐng)。他表示,這不僅僅是一個(gè)人的問(wèn)題,關(guān)鍵是能夠把整個(gè)軟件測(cè)試的水準(zhǔn)提高一個(gè)層次。
引進(jìn)人才只是開始,更重要的是培養(yǎng)一批軟件測(cè)試人才。軟件開發(fā)的教育培訓(xùn)都是比較正規(guī)的,各個(gè)學(xué)校也都設(shè)有專業(yè),但軟件測(cè)試還沒(méi)有正規(guī)的專業(yè)畢業(yè)生,而且沒(méi)有評(píng)判的標(biāo)準(zhǔn)。陳宏剛博士給很多軟件學(xué)院建議,開設(shè)四方面的軟件測(cè)試專業(yè)基礎(chǔ)課:軟件測(cè)試基礎(chǔ)、軟件測(cè)試開發(fā)、高級(jí)軟件測(cè)試案例和行業(yè)軟件特色測(cè)試方法。國(guó)內(nèi)現(xiàn)在已經(jīng)有了一些軟件測(cè)試基礎(chǔ)的教材,但其他的教材還沒(méi)有。高級(jí)軟件測(cè)試案例主要是大型軟件測(cè)試案例,大型軟件出現(xiàn)的問(wèn)題具有很強(qiáng)的代表性。而行業(yè)特色軟件測(cè)試的課程可以開闊學(xué)生的視野。陳博士介紹說(shuō),在國(guó)外,也是極少的高等院校開設(shè)測(cè)試專業(yè),但可以借鑒民間的培訓(xùn)機(jī)構(gòu)課程。在有一批專業(yè)的測(cè)試人才出現(xiàn)之后,人們會(huì)認(rèn)識(shí)到他們的重要性。
如果你已經(jīng)開始從事軟件測(cè)試工作,千萬(wàn)不要認(rèn)為軟件測(cè)試沒(méi)有什么發(fā)展的潛力和前途。劉忠從1995年接下IBM的OS2漢化版本的測(cè)試開始到現(xiàn)在,他一直工作在軟件測(cè)試領(lǐng)域,并升到了公司高級(jí)副總裁的位置。和騰軟件也培養(yǎng)了一批測(cè)試工程師,它們從對(duì)測(cè)試職業(yè)將信將疑到明確自己的測(cè)試方面的職業(yè)目標(biāo)。劉忠介紹說(shuō):“很多人開始做測(cè)試執(zhí)行工作時(shí)會(huì)說(shuō)很麻煩、很枯燥,只是一味的埋怨,而不是主動(dòng)的去學(xué)習(xí),他沒(méi)有看到軟件測(cè)試背后所隱藏的知識(shí)。因?yàn)閷W(xué)習(xí)可以做這些工作,不學(xué)習(xí)也可以做這些工作,但質(zhì)量是不同的。有些人自學(xué)和請(qǐng)教了很多測(cè)試技術(shù)和管理方面的知識(shí),公司自然就會(huì)在下個(gè)項(xiàng)目中去培養(yǎng)他?!?/p>
因此對(duì)于一個(gè)新手,要在各方面培養(yǎng)自己的能力。首先是要理解各種測(cè)試流程,并在理
解的基礎(chǔ)上轉(zhuǎn)化為自己的知識(shí),以后遇到相似的問(wèn)題能自己去解決。在測(cè)試技能上,要知道測(cè)試有那些手段,比如壓力測(cè)試有哪些方法,哪些工具可以輔助做測(cè)試。從專業(yè)技能上,面向不同的技術(shù)方向,像操作系統(tǒng)、網(wǎng)絡(luò)、通信等都要從專業(yè)上深入了解。這三方面要同步去成長(zhǎng)。
軟件測(cè)試工程師未來(lái)的發(fā)展
從事軟件測(cè)試有沒(méi)有前途,未來(lái)的職業(yè)發(fā)展方向怎樣呢?
陳宏剛博士表示,軟件測(cè)試工程師在微軟的發(fā)展有幾種途徑:一種走技術(shù)路線,成長(zhǎng)為高級(jí)軟件測(cè)試工程師,這時(shí)他能夠獨(dú)立測(cè)試很多軟件,再向上可以成為軟件測(cè)試架構(gòu)設(shè)計(jì)師。第二種就是向管理方向發(fā)展,從測(cè)試工程師到組長(zhǎng)(Lead),再到項(xiàng)目經(jīng)理(Manager),到更高的職位。第三種可以換職業(yè),做項(xiàng)目管理,做開發(fā)人員都可以,很多測(cè)試工具軟件開發(fā)工程師在寫測(cè)試軟件的過(guò)程中,因?yàn)殚_發(fā)方面積累了經(jīng)驗(yàn),同時(shí)對(duì)軟件產(chǎn)品本身產(chǎn)生了自己的看法,很容易轉(zhuǎn)去做產(chǎn)品編程。
陳宏剛博士現(xiàn)在還帶著一個(gè)測(cè)試小組,兩個(gè)清華軟件學(xué)院的學(xué)生,一個(gè)南開的專門做軟件測(cè)試的博士生,一個(gè)北郵的學(xué)生,他們負(fù)責(zé)總部一個(gè)產(chǎn)品的測(cè)試。陳博士表示,在自己簡(jiǎn)單的講講思路,共同探討之后,他們一星期就找出了70多個(gè)Bug,也感覺(jué)學(xué)了很多知識(shí),并表示以后專注于軟件測(cè)試專業(yè),因?yàn)樗麄兏杏X(jué)軟件測(cè)試真的是一門很深的學(xué)科,有很多可以研究的課題。其實(shí)微軟的測(cè)試人員很多也都是碩士、博士,他們同樣在做創(chuàng)造性的工作,保證著程序質(zhì)量,推動(dòng)著軟件的進(jìn)步。
軟件測(cè)試是正在快速發(fā)展,充滿挑戰(zhàn)的領(lǐng)域。盡管現(xiàn)在單機(jī)版桌面軟件的測(cè)試已經(jīng)成熟了很多,但對(duì)于網(wǎng)絡(luò)時(shí)代的到臨,包括微軟在內(nèi)的公司對(duì)基于網(wǎng)絡(luò)的測(cè)試也沒(méi)有一套完整的體系,也是處于探索中,網(wǎng)絡(luò)中被攻擊的可能性太大,這就是為什么黑客在網(wǎng)絡(luò)上能興風(fēng)作浪的原因。網(wǎng)絡(luò)測(cè)試是一個(gè)新環(huán)境,而且是很大的挑戰(zhàn)。
軟件測(cè)試未來(lái)的發(fā)展空間很大,軟件測(cè)試工程師的職業(yè)之路同樣充滿希望。
第三篇:從程序員到項(xiàng)目經(jīng)理4
從程序員到項(xiàng)目經(jīng)理(四):外行可以領(lǐng)導(dǎo)內(nèi)行嗎
在上一篇中,我舉出了一個(gè)招聘需求,引起一些朋友的爭(zhēng)論。既然招聘的是項(xiàng)目經(jīng)理,為什么需要那么多專業(yè)技能呢?在百度上招聘頻道搜索“軟件項(xiàng)目經(jīng)理招聘”,可以查到8500多條類似的招聘信息??
一.從幾個(gè)招聘要求說(shuō)起
在上一篇中,我舉出了一個(gè)招聘需求,引起一些朋友的爭(zhēng)論。既然招聘的是項(xiàng)目經(jīng)理,為什么需要那么多專業(yè)技能呢? 在百度上招聘頻道搜索“軟件項(xiàng)目經(jīng)理招聘”,可以查到8500多條類似的招聘信息。我們看看國(guó)內(nèi)軟件行業(yè)老大東軟集團(tuán)的招聘條件:
工作職責(zé):
帶領(lǐng)團(tuán)隊(duì)完成需求分析,開發(fā)計(jì)劃制定與跟蹤,項(xiàng)目組關(guān)鍵技術(shù)問(wèn)題解決,負(fù)責(zé)項(xiàng)目QCD。
崗位要求:
1、3年以上軟件開發(fā)項(xiàng)目經(jīng)驗(yàn),2年以上項(xiàng)目管理經(jīng)驗(yàn);
2、熟練掌握J(rèn)AVA、WEB開發(fā),精通基于Oracle/Mysql數(shù)據(jù)庫(kù)的MIS系統(tǒng)開發(fā);
3、具有較強(qiáng)的溝通、組織能力和較好的文字表達(dá)、寫作能力;
5、有醫(yī)療業(yè)務(wù)開發(fā)經(jīng)驗(yàn)者優(yōu)先。
顯然,東軟公司也是要求具有較強(qiáng)的專業(yè)技能的。當(dāng)然,也許東軟公司太大了,不具有代表性,那么我們?cè)倏匆粋€(gè)比較小的公司,你絕對(duì)沒(méi)聽過(guò)(我也沒(méi)聽過(guò)),廣東廣風(fēng)隆電子科技有限公司:
任職要求:
1.能很好的把握開發(fā)質(zhì)量和項(xiàng)目進(jìn)度,規(guī)避風(fēng)險(xiǎn)。
2.具有較強(qiáng)的語(yǔ)言和文字表達(dá)能力、溝通協(xié)調(diào)能力、良好的團(tuán)隊(duì)合作精神。
3.具備至少3年項(xiàng)目管理經(jīng)驗(yàn)或大型系統(tǒng)開發(fā)實(shí)施經(jīng)驗(yàn)的優(yōu)先。
4.掌握J(rèn)AVA技術(shù),能熟練應(yīng)用J2EE,Spring,Struts,Hibernate等開發(fā)和測(cè)試。
5.熟悉基于java的B/S架構(gòu)應(yīng)用技術(shù)。
6.熟悉基于Tomcat、WebSphere、weblogic等應(yīng)用服務(wù)器的開發(fā);
7.熟悉大型數(shù)據(jù)Orecle/SQL Server等,熟練掌握存儲(chǔ)過(guò)程編寫、數(shù)據(jù)庫(kù)表設(shè)計(jì)。
8.熟悉unix/Linux操作系統(tǒng)。
9.具備軟件團(tuán)隊(duì)管理經(jīng)驗(yàn),熟悉軟件開發(fā)流程,能夠獨(dú)立完成項(xiàng)目實(shí)施的優(yōu)先。
10.具備一定的系統(tǒng)框架設(shè)計(jì)、熟悉開發(fā)流程,具有的良好的需求分析、項(xiàng)目設(shè)計(jì)、規(guī)劃能力。
13.有如下經(jīng)驗(yàn)者優(yōu)先考慮:
a.熟悉BIEE,或有BI項(xiàng)目開發(fā)實(shí)施經(jīng)驗(yàn)
b.對(duì)BI/DW的概念和架構(gòu)有比較深入的了解,熟悉維度模型架構(gòu)
c.熟悉Oracle數(shù)據(jù)庫(kù)開發(fā),或有ETL工具ODI經(jīng)驗(yàn),精通SQL
d.有基于java技術(shù)項(xiàng)目管理經(jīng)驗(yàn)的優(yōu)先,教育行業(yè)背景優(yōu)先
哇啦啦,這個(gè)更不得了。這究竟是招程序員還是招項(xiàng)目經(jīng)理,我也快被弄迷糊了??磥?lái)中小公司比大公司更看重專業(yè)技能。當(dāng)然,我再多舉一千條也代表不了所有的企業(yè)。但諸位如果有時(shí)間一條條看,會(huì)發(fā)現(xiàn)絕大部分公司對(duì)“軟件項(xiàng)目經(jīng)理”這個(gè)職位,都對(duì)專業(yè)技能有較高的要求。那么,傳說(shuō)中的“外行領(lǐng)導(dǎo)內(nèi)行”究竟是不是真的?外行真的可以領(lǐng)導(dǎo)內(nèi)行,帶領(lǐng)項(xiàng)目走向成功嗎?
二.外行 vs 內(nèi)行
1.優(yōu)勢(shì)劣勢(shì)分析
外行和內(nèi)行究竟誰(shuí)更適合當(dāng)項(xiàng)目經(jīng)理?那些招聘要求似乎已經(jīng)為我們給出了答案,最少在軟件行業(yè)內(nèi)行項(xiàng)目經(jīng)理更占據(jù)優(yōu)勢(shì)。然而,外行的項(xiàng)目經(jīng)理往往也有其獨(dú)特的優(yōu)勢(shì),比如,他們往往更有大局觀,能跳出技術(shù)本身看待問(wèn)題,有更強(qiáng)的領(lǐng)導(dǎo)力等等。事實(shí)上,外行領(lǐng)導(dǎo)內(nèi)行的現(xiàn)象,在國(guó)家大型建設(shè)工程或科研項(xiàng)目中要屢見不鮮。據(jù)說(shuō),我國(guó)的原子彈工程就是聶榮臻元帥領(lǐng)導(dǎo)的,而聶帥是不懂核物理的。
如果拿外行和內(nèi)行項(xiàng)目經(jīng)理來(lái)PK,并不是一件容易的事情,因?yàn)槊恳豁?xiàng)都不是絕對(duì)的,這就如同比較男人和女人誰(shuí)更適合做廚師一樣。當(dāng)我們拿兩者PK的時(shí)候,其實(shí)包含了一些隱含的信息,就是這個(gè)外行的項(xiàng)目經(jīng)理比內(nèi)行項(xiàng)目經(jīng)理,更加懂得管理、情商更高,否則的話,內(nèi)行項(xiàng)目經(jīng)理會(huì)毫無(wú)懸念的勝出,也就沒(méi)有比較的必要了。
基于這些隱含的信息,我們?cè)囍容^一下兩種項(xiàng)目經(jīng)理的優(yōu)秀和劣勢(shì):
2.技術(shù)決定論的誤區(qū)
所謂內(nèi)行與外行是純粹從技術(shù)的角度來(lái)看問(wèn)題,單純討論內(nèi)行好還是外行好,其實(shí)也暗含著一個(gè)前提,就是技術(shù)決定項(xiàng)目的成敗。而實(shí)際上,一個(gè)項(xiàng)目能否成功的影響因素,遠(yuǎn)不止是技術(shù),對(duì)一個(gè)項(xiàng)目經(jīng)理的素質(zhì)要求也遠(yuǎn)不止技術(shù)。同是外行或內(nèi)行來(lái)帶一個(gè)項(xiàng)目,會(huì)由于個(gè)人修養(yǎng)與經(jīng)驗(yàn)在差異,項(xiàng)目結(jié)果可能相差很遠(yuǎn)。因此單純說(shuō)外行好,還是內(nèi)行好,是沒(méi)有意義的。
3.綜合素質(zhì)決定論
問(wèn)題的關(guān)鍵其實(shí)不在項(xiàng)目經(jīng)理是內(nèi)行還是外行,而在于他的綜合素質(zhì)。無(wú)論是外行還是內(nèi)行,只要誰(shuí)的綜合素質(zhì)更高,誰(shuí)就是更優(yōu)秀的項(xiàng)目經(jīng)理。
上一篇我們講到項(xiàng)目經(jīng)理的六種能力模型,也就是說(shuō),一個(gè)優(yōu)秀的項(xiàng)目經(jīng)理,應(yīng)當(dāng)具備六個(gè)方面的素質(zhì),即:知識(shí)、技能、邏輯思維、執(zhí)行力、心智成熟和領(lǐng)導(dǎo)力。
在知識(shí)層面,包括專業(yè)知識(shí)、行業(yè)知識(shí)和管理知識(shí)。外行項(xiàng)目經(jīng)理在專業(yè)知識(shí)和行業(yè)知識(shí)方面已經(jīng)輸了,但在管理知識(shí)方面按默認(rèn)值,外行贏了。
在技能導(dǎo)面,包括專業(yè)技能和管理技能。外行項(xiàng)目經(jīng)理在專業(yè)技能也又輸了,同樣管理技能方面,又略勝一籌。
現(xiàn)在打成了平手。剩下的,要拼邏輯思維、拼執(zhí)行力、拼心智、拼領(lǐng)導(dǎo)力,這就和內(nèi)行外行無(wú)關(guān)了,鹿死誰(shuí)手,要看個(gè)人的修養(yǎng)。
因此,項(xiàng)目經(jīng)理的比拼,拼的不只是管理知識(shí)或?qū)I(yè)知識(shí)這一個(gè)方面,而是綜合素質(zhì)的比拼。
三.外行,你憑什么
1.唐僧的團(tuán)隊(duì)
外行,也就是不懂專業(yè)知識(shí)技術(shù),顯然不但不是什么優(yōu)點(diǎn),反而是一個(gè)項(xiàng)目經(jīng)理的極大缺陷。那為什么領(lǐng)導(dǎo)還會(huì)置這么大的缺陷于不顧,任命一個(gè)外行為項(xiàng)目經(jīng)理呢?換一個(gè)角度,也就是說(shuō),一個(gè)外行,在什么情況下,可以成功的管理一個(gè)軟件項(xiàng)目呢?
一件事情的發(fā)生,總有他的內(nèi)部原因和外部原因。具體到這個(gè)問(wèn)題上,也有它的內(nèi)因和外因。
(1)在內(nèi)部因素上,外行項(xiàng)目經(jīng)理必須具有更高的綜合素質(zhì)。
現(xiàn)在流行分析西游記中的取經(jīng)團(tuán)隊(duì),其實(shí)也是一個(gè)典型的外行領(lǐng)導(dǎo)內(nèi)行的團(tuán)隊(duì)。到西天取經(jīng),靠的是降妖服魔的本領(lǐng),顯然唐僧是個(gè)外行。但是,唐僧并不是一無(wú)是處,相反,他的綜合素質(zhì)很高。他外柔內(nèi)剛,意志堅(jiān)定,目標(biāo)明確,還精研佛法,具有很強(qiáng)的人格魅力,因此他的那些徒弟才能凝聚在他周圍,雖歷盡千難萬(wàn)險(xiǎn)而無(wú)悔。
(2)在外部因素上,必須有合理的人才結(jié)構(gòu)作為支撐。
唐僧雖然不會(huì)打怪,但是孫悟空可以,補(bǔ)齊了唐僧在這方面的不足。試想,如果他的徒弟都不能降妖,任憑唐僧的領(lǐng)導(dǎo)力再?gòu)?qiáng),顯然那也是于事無(wú)補(bǔ)的。同樣一個(gè)外行的項(xiàng)目經(jīng)理,在他的團(tuán)隊(duì)中,必須可以信賴的技術(shù)骨干,像孫悟空一樣能在關(guān)鍵時(shí)候解決問(wèn)題,這些骨干一般就是項(xiàng)目中的組長(zhǎng)、系統(tǒng)架構(gòu)師或者系統(tǒng)分析師,必要時(shí)可能要設(shè)置項(xiàng)目副經(jīng)理之職。如果團(tuán)隊(duì)
中沒(méi)有技術(shù)骨干,都是一些經(jīng)驗(yàn)不足還不求進(jìn)取的程序員,那除非項(xiàng)目超級(jí)簡(jiǎn)單,否則項(xiàng)目經(jīng)理縱然有諸葛亮的才華,也無(wú)濟(jì)于事。
2.規(guī)模決定一切
在上面兩項(xiàng)條件都具備的情況下,只能說(shuō)明外行可以擔(dān)任項(xiàng)目經(jīng)理了。站在項(xiàng)目本身的角度,除了這兩項(xiàng)因素,往往還跟以下方面有著緊密的關(guān)系。
(1)項(xiàng)目規(guī)模:規(guī)模越大,采用外行項(xiàng)目經(jīng)理的機(jī)率越高。
(2)項(xiàng)目所在行業(yè):在建筑、施工、水利等傳統(tǒng)行業(yè),采用外行項(xiàng)目經(jīng)理的機(jī)率更高。
(3)項(xiàng)目的技術(shù)難度:在項(xiàng)目規(guī)模不大時(shí),如果技術(shù)難度越大,采用內(nèi)行項(xiàng)目經(jīng)理風(fēng)險(xiǎn)更小。
(4)項(xiàng)目進(jìn)度要求:時(shí)間要求越緊,更傾向于采用內(nèi)行項(xiàng)目經(jīng)理。
(5)項(xiàng)目管理的層次:有些項(xiàng)目層層分包,對(duì)于上面次層的公司,項(xiàng)目不需自己實(shí)施,只需對(duì)項(xiàng)目進(jìn)行監(jiān)管,項(xiàng)目經(jīng)理自然也不需要很強(qiáng)地專業(yè)技術(shù)了。但對(duì)于底層實(shí)施單位而言,項(xiàng)目經(jīng)理懂技術(shù)就很有必要了。同樣,有些大型項(xiàng)目分成若干個(gè)工程,每個(gè)工程又包括若干個(gè)子項(xiàng)目,也是類似的情況。
在這些因素中,項(xiàng)目規(guī)模是具有決定性的因素。項(xiàng)目規(guī)模足夠大的時(shí)候,也就有足夠的經(jīng)費(fèi)來(lái)配備充分的人才。至于其實(shí)方面,其實(shí)只是表現(xiàn)而已。
四.透過(guò)瓶子看軟件行業(yè)
為什么軟件行業(yè)外業(yè)項(xiàng)目經(jīng)理相對(duì)較少呢?這與軟件項(xiàng)目本身的特殊性有一定關(guān)系,但在一定程度上也折射出軟件行業(yè)的現(xiàn)狀:
(1)軟件項(xiàng)目規(guī)模不夠大
在軟件行業(yè),幾十萬(wàn)的項(xiàng)目很常見,幾百萬(wàn)上千萬(wàn)就是大項(xiàng)目了,項(xiàng)目的利潤(rùn)率很低,很多中小型企業(yè)都生存在贏利的邊緣。據(jù)工信部統(tǒng)計(jì),2011年上半年我國(guó)軟件行業(yè)利潤(rùn)僅占軟件業(yè)務(wù)收入的1.28%。這么低的利潤(rùn)率,估計(jì)比東莞的制鞋廠還不如吧。而幾百萬(wàn)上千萬(wàn)的項(xiàng)目,對(duì)建設(shè)、國(guó)防這些行業(yè)來(lái)說(shuō),簡(jiǎn)直不值一提啊。前幾天太極集團(tuán)1.99億中標(biāo)鐵道部IT項(xiàng)目,大家都不服氣。也是,人人都在喝湯,你憑什么搞特權(quán)吃肉?
(2)成熟的項(xiàng)目經(jīng)理相對(duì)緊缺
軟件行業(yè)小項(xiàng)目太多,對(duì)項(xiàng)目經(jīng)理的需求量是非常大的,與此同時(shí),成熟的項(xiàng)目經(jīng)理相對(duì)很少。所謂“千軍易得,一將難求”啊。當(dāng)然,即使牛B的項(xiàng)目經(jīng)理有了,其收入要求也不會(huì)低,這是小型項(xiàng)目難以承受的,只能退而求其次,找一個(gè)性價(jià)比更高的項(xiàng)目經(jīng)理,或都干脆拔苗助長(zhǎng),找一個(gè)不錯(cuò)的程序員來(lái)帶吧。
第四篇:從程序員到項(xiàng)目經(jīng)理一
從程序員到項(xiàng)目經(jīng)理
2006-9-28 11:59:26作者:sina
要走向管理層,英語(yǔ)一定要學(xué)好。溝通很重要,要做好管理者,先學(xué)會(huì)做人。多跟下屬溝通,多為下屬著想,而不要去巴解討好上司。體諒下屬,把項(xiàng)目計(jì)劃做的盡量合理,不要讓下屬加班,給下屬發(fā)展和晉升的空間,這樣才能是下屬有干勁,才能把項(xiàng)目做好,你才有更高的升遷機(jī)會(huì)。只有把自己知道的不斷的讓你得力下屬知道,只有提拔起一些得力的下屬來(lái),你才有時(shí)間和精力去向上爬,不然你抱著不放,就沒(méi)有升遷的機(jī)會(huì)。管理不是喝酒抽煙那么簡(jiǎn)單,那只是過(guò)去的那種不思上進(jìn),耽誤自己前程。
吃盡苦中苦,方為人上人。做PM不是混,是要把項(xiàng)目做好,這跟做人是一個(gè)道理,這也就是為什么
做管理要先學(xué)會(huì)做人的道理。
pm的整個(gè)工作重點(diǎn)是什么?如果做為一個(gè)PM,技術(shù)不高怎么對(duì)付組里的牛人。
1.從程序員到PM,是一條脫變的路,事實(shí)上程序員走的路最終不應(yīng)該是項(xiàng)目經(jīng)理。首先有一點(diǎn)需要明白的就是,一定規(guī)模的項(xiàng)目中,項(xiàng)目經(jīng)理不需要太懂技術(shù),他可以是一知半解。項(xiàng)目經(jīng)理的任務(wù)不是在技術(shù)方面,技術(shù)相關(guān)的應(yīng)該交給SA去做。項(xiàng)目經(jīng)理更多地是做管理,溝通等工作,你如果可以的話到書店查看一下關(guān)于項(xiàng)目管理的書籍,你就會(huì)明白。當(dāng)然對(duì)于小項(xiàng)目來(lái)說(shuō),有可能是PM,SA是同一個(gè)人,而這樣的項(xiàng)目經(jīng)理更多只是SA加上一些管理工作。要做項(xiàng)目經(jīng)理,你就首先告訴自己不再去碰技術(shù)細(xì)節(jié)了。程序員并不是一個(gè)培養(yǎng)項(xiàng)目經(jīng)理的好環(huán)境。所以沒(méi)有什么從Coder到什么developer再到SA然后是PM的路,這是一條比較悲哀的路。在大公司,SA下一個(gè)目標(biāo)不是PM,而consultant,然后是senior consultant,PM走的是另一條路,所需要的技能不是技術(shù),技術(shù)給PM帶來(lái)的能力提升是很少的。在項(xiàng)目中你最后能分清楚PM與SA的關(guān)系及各自在項(xiàng)目中的分工與用途。
2.其實(shí)我蠻同意 gzlucky(Lucky)的看法的,確實(shí)是我們公司不少項(xiàng)經(jīng)理就是不很能跟得上現(xiàn)在的一些技術(shù),因?yàn)楹芏嗳硕伎炷杲氖瑑鹤佣忌细咧辛?,要他們?cè)賹W(xué)新技術(shù)真的難度比較大,他們的工作基本上就是天天找手下的程序員,布置這個(gè)任務(wù),詢問(wèn)那個(gè)任務(wù)做的怎么樣了。不過(guò)我的頭倒是和我一樣編程,他手下寫代碼的就我一個(gè)人,他自己也會(huì)ASP和JSP,但是可能對(duì).NET不熟,就由我來(lái)主負(fù)責(zé)了。我覺(jué)得項(xiàng)目經(jīng)理還是像他這樣的好,自己也能懂不少技術(shù),可以服人。但是我的頭兒好像在溝通這一塊不是非常出色,當(dāng)然也有可能是俺太內(nèi)向,不太與他溝通,所以他也只是在交待任務(wù)后就不再多詢問(wèn),而不像別的項(xiàng)目經(jīng)理天天追程序員后頭問(wèn)。我想問(wèn)問(wèn)各位,你們看哪種項(xiàng)目經(jīng)理才是比較好的,像我的頭兒這樣的,還是像某些喜歡追程序員后面問(wèn)進(jìn)展的。
3.(作者是兩黃星)原來(lái)在一個(gè)小公司做過(guò)半年的DM,一年的PM,后來(lái)為了讓自己的技術(shù)更扎實(shí)一些,離開了原來(lái)公司,現(xiàn)在在大公司做程序員,開始后悔了,在大公司里很難接觸管理方面的東西,也很難晉升,個(gè)人認(rèn)為在小公司做DM,PM,有經(jīng)驗(yàn)后直接找大公司的PM,這樣也是一條路。
或者考PMP之類的證書,然后直接找管理的工作。
希望過(guò)來(lái)人能給予更好的意見和建議,我也現(xiàn)在想往管理層發(fā)展。
技術(shù)很硬了再去做PM,這種想法是錯(cuò)誤的,我就犯了這個(gè)錯(cuò),邊搞好技術(shù)(為了生計(jì))邊學(xué)管理知識(shí)(為了將來(lái)),慢慢向管理發(fā)展,不能等。有句話說(shuō)的好,機(jī)會(huì)是屬于那些有準(zhǔn)備的人的。利用業(yè)余時(shí)間多學(xué)些管理方面的東西,所謂人的差異在業(yè)余時(shí)間。
第五篇:從程序員到項(xiàng)目經(jīng)理5
從程序員到項(xiàng)目經(jīng)理(五):不是人人都懂的學(xué)習(xí)要點(diǎn)
學(xué)習(xí)本來(lái)只是一種本能,算不上什么能力,然而,經(jīng)過(guò)二十多年的不斷學(xué)習(xí),學(xué)習(xí)反而成為了一種真正的能力,因?yàn)槲覀兟チ怂?,它就更顯得珍貴。
學(xué)習(xí)是一種基礎(chǔ)性的能力。然而,“吾生也有涯,而知也無(wú)涯?!保绻麑W(xué)習(xí)不注意方法,則會(huì)“以有涯隨無(wú)涯,殆矣”。
一.學(xué)習(xí)也是一種能力
看到這個(gè)標(biāo)題,有人會(huì)說(shuō):“學(xué)習(xí),誰(shuí)不會(huì)?”的確,學(xué)習(xí)就像吃飯睡覺(jué)一樣,是人的一種本能,人人都有學(xué)習(xí)的能力。我們?cè)趧偝錾臅r(shí)候,什么也不知道,是一張真正的白紙,我們靠學(xué)習(xí)的本能,學(xué)會(huì)了走路、說(shuō)話、穿衣服?后來(lái),我們上學(xué)了,老師把書本上的知識(shí)一點(diǎn)一點(diǎn)灌輸?shù)轿覀兊哪X子里,我們掌握的知識(shí)越來(lái)越多,與此同時(shí),我們學(xué)習(xí)能力卻好像越來(lái)越差了,習(xí)慣了被別人喂飽,似乎忘記了怎么來(lái)喂自己了。
學(xué)習(xí)本來(lái)只是一種本能,算不上什么能力,然而,經(jīng)過(guò)二十多年的不斷學(xué)習(xí),學(xué)習(xí)反而成為了一種真正的能力,因?yàn)槲覀兟チ怂?,它就更顯得珍貴。
在學(xué)校里我們基本上被動(dòng)式學(xué)習(xí),然而走出了象牙塔之后,不會(huì)再有人對(duì)你負(fù)責(zé),不會(huì)有人主動(dòng)教你,我們需要主動(dòng)的學(xué)習(xí)。所謂的學(xué)習(xí)能力,其實(shí)就是自主學(xué)習(xí)的能力。
幾年前,曾有一本風(fēng)靡管理界的書,叫《第五項(xiàng)修煉》,這本書倡導(dǎo)建立學(xué)習(xí)型組織,因?yàn)閺拈L(zhǎng)遠(yuǎn)來(lái)看,一個(gè)組織唯一可持續(xù)的競(jìng)爭(zhēng)優(yōu)秀,就是比競(jìng)爭(zhēng)對(duì)手更快更好的學(xué)習(xí)能力。
一個(gè)公司如此,一個(gè)人又何嘗不是如此?眾所周知現(xiàn)在是一個(gè)知識(shí)爆炸的時(shí)候代,知識(shí)更新非常快。據(jù)說(shuō),一個(gè)大學(xué)畢業(yè)生所學(xué)習(xí)到的知識(shí),在畢業(yè)之后的2年內(nèi),有效的不過(guò)剩下5%,更何況我們的學(xué)校與社會(huì)需要嚴(yán)重脫軌。我們賴以立足的,不在于我們現(xiàn)在掌握了多少知識(shí),而是我們有多強(qiáng)的學(xué)習(xí)能力!
學(xué)習(xí)不但是一種能力,而且是一種至關(guān)重要的能力,而這種能力的核心,就是學(xué)習(xí)的方法和心態(tài)。
二.買書是最劃算的投資
古人云:“書中自有黃金屋,書中自有顏如玉?!边@說(shuō)明先賢們?cè)缇驼J(rèn)識(shí)到,買書是最劃算的投資了。
當(dāng)我剛出道的時(shí)候,拿著非常微薄的工資,有一次我向主管抱怨道:“現(xiàn)在的書真貴啊,這點(diǎn)工資連飯都吃不起,更別說(shuō)買書了!”主管對(duì)我說(shuō):“不要吝惜買書的錢,寧可忍著不吃飯,也不要忍著不買書,因?yàn)橘I書是回報(bào)率的最高的投資了。”
主管的話讓我非常震動(dòng)。后來(lái),我看到喜歡的書時(shí),再有沒(méi)有手軟過(guò)。我不斷的學(xué)習(xí),開發(fā)能力也不斷的提高,工資水平也獲得了大幅度的提高。一年后,我一個(gè)月工資的漲幅,就足夠買兩年的書了。你說(shuō),還有比這更劃算的投資嗎? 一本書,哪怕只有一頁(yè)紙是有用的,它將所產(chǎn)生的潛在價(jià)值,也會(huì)遠(yuǎn)遠(yuǎn)超過(guò)書本身的價(jià)格。當(dāng)然,書不在多,能踏踏實(shí)實(shí)消化掉一本好書,可能比泛泛而讀10本普通書,要更有價(jià)值得多。
三.多讀經(jīng)典書
十年前,我剛進(jìn)入IT行業(yè)的時(shí)候,真是求知渴,每星期都要往購(gòu)書中心跑,可惜的是,那時(shí)給程序員看的書不像現(xiàn)在這么多,高質(zhì)量的書就更少了。當(dāng)時(shí)我印象中比較經(jīng)典的書籍就是《Windows程序設(shè)計(jì)》、《COM本質(zhì)論》、《Java編程思想》,還有就是譚浩強(qiáng)的《C語(yǔ)言程序設(shè)計(jì)》。其它充斥書架的,就是類似于《21天精通XXX》、《XXX從入門到精通》、《XX寶典》這樣的書籍。
回首往昔,令我比較郁悶的一件事就是在我最有學(xué)習(xí)動(dòng)力的時(shí)候,看的高質(zhì)量的書籍太少,就好像是在長(zhǎng)身體的時(shí)候,天天吃的是沒(méi)營(yíng)養(yǎng)的泡面。當(dāng)然,這跟沒(méi)有人指導(dǎo)也有很大的關(guān)系,獨(dú)自一個(gè)人學(xué)習(xí),讓我走了很多的彎路。
軟件開發(fā)方面的書籍,我大致將其分為三類:
(1)淺顯的入門類書籍。
這類書的標(biāo)題往往是《XX天精通XXX》、《XXX從入門到精通》、《XX開發(fā)實(shí)戰(zhàn)》等,這類書往往從軟件的安裝講起,喜歡翻譯幫助文件。有人批評(píng)這類書為爛書、毫無(wú)價(jià)值,這并不公平。至少我本人,也曾從這些書中學(xué)到一些東西。即使是21天系列書,也有適合看的人群,只不過(guò),它一般也就只能看21天而已,過(guò)后就可以扔到垃圾堆。這類書只適于還沒(méi)有入門的初學(xué)者,從中學(xué)到一些入門的招式。這種書在剛起步的時(shí)候一般買上一本就可以了。如果你善于使用搜索引擎,這一本書也可以省了。
(2)國(guó)內(nèi)外高手寫的實(shí)戰(zhàn)類書籍。
這類書實(shí)戰(zhàn)性很強(qiáng),把技術(shù)及原理講得很透徹。比如《windows環(huán)境下32位匯編語(yǔ)言程序設(shè)計(jì)》、《深入解析MFC》、《Delphi深度探索》、《深入淺出WPF》、《深入剖析Asp.net組件設(shè)計(jì)》等。以前這類書都是從國(guó)外翻譯或從臺(tái)灣引進(jìn),現(xiàn)在國(guó)內(nèi)高手越來(lái)越多,出自國(guó)內(nèi)作者的也越來(lái)越多。這類書如果在你學(xué)習(xí)的每個(gè)方向看個(gè)兩三本,并且通過(guò)實(shí)踐消化掉,那么毫無(wú)疑問(wèn),你會(huì)成為一個(gè)優(yōu)秀的程序員。
(3)國(guó)外大牛寫的、揭露本質(zhì)、有豐富思想的書。
這類書就是所謂的經(jīng)典書了,例如《代碼大全》、《編程珠璣》、《設(shè)計(jì)模式》、《重構(gòu)》、《代碼整潔之道》等。經(jīng)典書就像一個(gè)有深度、有思想的朋友,他會(huì)給你啟發(fā)、每次閱讀都會(huì)有新的收獲,這類書具有真正的收藏價(jià)值。看經(jīng)典書永遠(yuǎn)是正確的選擇,它絕不會(huì)浪費(fèi)你的時(shí)間,因?yàn)榻?jīng)典書是無(wú)數(shù)人沙里淘金、幫你挑選過(guò)的結(jié)果。
然而,閱讀這類書并不是一件容易的事情,讀者需要有豐富的開發(fā)經(jīng)驗(yàn),才能與作者產(chǎn)生共鳴。真正能消化經(jīng)典書的人其實(shí)不多,這就好像飲酒,一個(gè)新手無(wú)論如何也品不出葡萄美酒的醇香。在酒桌上,人人都把杯中酒一飲而盡,當(dāng)有人點(diǎn)評(píng)“這個(gè)酒不錯(cuò)”的時(shí)候,我只能無(wú)奈的苦笑一番,真的是甘苦自知。
如果一本經(jīng)典書你看得很辛苦,很有可能就是因?yàn)槟愎αξ磯?,這種情況下不要著急,慢點(diǎn)來(lái),不妨先將其先束之高閣,多看看第二類實(shí)戰(zhàn)型書籍,過(guò)一段時(shí)間再回頭來(lái)看,也許你會(huì)有新的驚喜。
四.不要在上班時(shí)間看書
一個(gè)善于學(xué)習(xí)的人,首先要善于利用一切時(shí)間來(lái)學(xué)習(xí)。不知是偉大的雷鋒叔叔還是魯迅爺爺曾經(jīng)說(shuō)過(guò):“時(shí)間就像海綿里的水,只要愿擠,總還是有的?!比欢?,當(dāng)我們從上班時(shí)間中擠時(shí)間學(xué)習(xí)時(shí),就千萬(wàn)要注意了,不要在上班時(shí)間看書!
上班時(shí)間看書不但是一件很敏感的事情,而且非常吸引眼球,很快就會(huì)引起周遭的不爽。首先老板心里不爽,他想:“我給你錢是讓你來(lái)工作的,不是來(lái)學(xué)習(xí)的!”;其次同事們也不爽:“我們工作都做不完,瞧,這小子真閑哪!”用不了多久,你就會(huì)成為被眾人排斥的異類。
當(dāng)然,你可能會(huì)說(shuō),“我工作已經(jīng)做完了,經(jīng)理沒(méi)有安排,當(dāng)然可以學(xué)習(xí)了”,其實(shí)不然。你完成了一件事情,不等于所有的事情都完成了。一個(gè)優(yōu)秀的員工,應(yīng)該是主動(dòng)要工作,而不是被動(dòng)的等工作。工作完成以后,你至少還可以:
(1)主動(dòng)匯報(bào)給你的經(jīng)理,請(qǐng)他來(lái)檢查你的成果,并安排新的任務(wù);
(2)如果公司這一段時(shí)間確實(shí)比較閑,沒(méi)有什么具體的任務(wù),可以進(jìn)行代碼重構(gòu)、優(yōu)化;
(3)你還可以主動(dòng)請(qǐng)纓,承擔(dān)額外的工作或更艱巨的任務(wù)。
(4)如果一定要學(xué)習(xí),也只能對(duì)著電腦屏幕來(lái)學(xué)習(xí),紙質(zhì)書最多只能拿來(lái)翻閱一下,而不能一直捧著,以免影響到其他人的情緒。
五、只學(xué)習(xí)與工作相關(guān)的東西
我曾發(fā)現(xiàn)不少程序員在學(xué)習(xí)方面找不到方向,一會(huì)學(xué)學(xué)C#,一會(huì)學(xué)學(xué)Java,看了最新的編程語(yǔ)言排行榜,又覺(jué)得該學(xué)C++。這樣左抓抓,右撓撓,只會(huì)讓你覺(jué)得更癢。
學(xué)習(xí)最忌三心二意。俗話說(shuō):“傷其十指不如斷其一指”,每門都學(xué)一點(diǎn),還不如專心學(xué)好一個(gè)方向。這個(gè)道理誰(shuí)都懂,可是又該學(xué)哪個(gè)方向呢?難道只能跟著感覺(jué)走嗎?
不!最實(shí)際的方向,應(yīng)該跟著工作走,工作需要什么,我們就學(xué)什么,把工作需要的技能熟練掌握。我們?yōu)槭裁匆獙W(xué)習(xí)和工作弱相關(guān)的東西呢?是為了轉(zhuǎn)行或跳槽嗎?可是,如果我們連現(xiàn)在本職工作都不能做好,又怎么能保證到新的崗位、用新學(xué)的技能就可以做得更好呢?
學(xué)習(xí)與工作需要的的東西,有很多好處:
首先,可以集中精力,在某一方面鉆研得更加深入。所謂“百招會(huì)不如一招絕”,有了絕招,你還怕不能在“武林”立足嗎?《天龍八部》中的慕容復(fù)武功博學(xué)無(wú)比,最后還不是被只會(huì)一招六脈神劍的段譽(yù)打得落花流水?
其次,可以學(xué)得更快、更深入,因?yàn)閷W(xué)習(xí)更具有針對(duì)性,而且可以立即在工作中運(yùn)用,可以馬上檢驗(yàn)出學(xué)習(xí)的效果,對(duì)存在的問(wèn)題可以進(jìn)行深入的研究,因此掌握的知識(shí)也會(huì)更加的牢固。
第三,學(xué)習(xí)與工作結(jié)合在一起,工作時(shí)間也就成了學(xué)習(xí)時(shí)間,這樣突破了三個(gè)8小時(shí)的限制。有人說(shuō),我們每天所有擁有的時(shí)間可以分為三個(gè)8小時(shí),工作8小時(shí),睡覺(jué)8小時(shí),另外還有8小時(shí)自己可以自由支配的時(shí)間。工作和睡覺(jué)的兩個(gè)8小時(shí)大家都一樣,決定人生高度的是另外這個(gè)8小時(shí)。當(dāng)我們把學(xué)習(xí)的焦點(diǎn)放到與工作相關(guān)的知識(shí)上時(shí),工作時(shí)間中的很大一部分,同時(shí)也就成了寶貴的學(xué)習(xí)時(shí)間,這真是一舉兩得的美事啊。
六.織網(wǎng)式的學(xué)習(xí)
知識(shí)的廣度和深度都很重要。作為一個(gè)程序員,深入把握技術(shù)細(xì)節(jié),是寫出優(yōu)質(zhì)代碼的保證。但對(duì)于一個(gè)項(xiàng)目經(jīng)理而言,知識(shí)的廣度更顯重要。項(xiàng)目中碰到的問(wèn)題往往是綜合性的,只有具有廣博的知識(shí),才能快速的對(duì)問(wèn)題進(jìn)行分析和定位。在程序員通往項(xiàng)目經(jīng)理的道路上,我們必須有意識(shí)的擴(kuò)大自己的知識(shí)面,形成更完善的知識(shí)體系。
每個(gè)人的知識(shí)體系就好比是一張網(wǎng),我們學(xué)習(xí)其實(shí)就是要織這樣一張網(wǎng)。我曾看過(guò)漁網(wǎng)的編織過(guò)程,漁網(wǎng)雖大,也是一個(gè)結(jié)點(diǎn)起步,一個(gè)點(diǎn)一個(gè)點(diǎn)的編出來(lái)的,編織的過(guò)程中,始終只有一根主線。
學(xué)習(xí)又何嘗不是這樣,知識(shí)體系的大網(wǎng)也是由許多小的結(jié)點(diǎn)組成,要結(jié)這樣一張網(wǎng),只能由一個(gè)點(diǎn)起步。牽住一條主線,織出一個(gè)個(gè)的點(diǎn),由點(diǎn)帶出面,最后才能形成這張大網(wǎng)。
我曾經(jīng)編寫過(guò)一個(gè)網(wǎng)絡(luò)信息采集軟件,這個(gè)軟件可以從具有列表頁(yè)網(wǎng)站中按字段設(shè)置采集信息,支持自定義字段、頁(yè)面多級(jí)關(guān)聯(lián)、下載附件、支持多種數(shù)據(jù)庫(kù)、可視化定義等特性。剛開始時(shí),覺(jué)得這個(gè)軟件也是一個(gè)比較大的功能點(diǎn)而已,后來(lái)發(fā)現(xiàn)這個(gè)不起眼的功能關(guān)聯(lián)著大量的知識(shí)點(diǎn),在開發(fā)過(guò)程中,我順藤摸瓜,各個(gè)擊破,對(duì)很多知識(shí)點(diǎn)進(jìn)行了細(xì)致的學(xué)習(xí)研究,軟件開發(fā)完成后,個(gè)人的知識(shí)體系網(wǎng)也進(jìn)一步得到了補(bǔ)充和完善。
圖1 由知識(shí)點(diǎn)形成知識(shí)網(wǎng)
七.問(wèn)題是最好的學(xué)習(xí)機(jī)會(huì)
日本經(jīng)營(yíng)之神松下幸之助曾經(jīng)說(shuō)過(guò):“工作就是不斷發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、最終解決問(wèn)題的一個(gè)過(guò)程,晉升之門將永遠(yuǎn)為那些隨時(shí)解決問(wèn)題的人敞開著?!笨梢姡ぷ鬟^(guò)程中有問(wèn)題是正常,沒(méi)有問(wèn)題那才是真正的問(wèn)題。在發(fā)生問(wèn)題能時(shí),能勇于面對(duì)問(wèn)題、解決問(wèn)題的人,才是公司真正的核心骨干。
現(xiàn)實(shí)中,很多人總是千方百計(jì)回避問(wèn)題,當(dāng)上司安排一項(xiàng)艱巨的任務(wù)時(shí),也是想盡辦法推托。殊不知,對(duì)于個(gè)人而言,其實(shí)問(wèn)題是最好的學(xué)習(xí)機(jī)會(huì)。往往那些愿意接受困難工作的人,能力會(huì)變得越來(lái)越強(qiáng),那就是因?yàn)樗麄冊(cè)诳朔щy的過(guò)程中取得了巨大的進(jìn)步。
有一次,一位項(xiàng)目經(jīng)理對(duì)我說(shuō):“有一個(gè)問(wèn)題,客戶有一臺(tái)HP服務(wù)器要裝磁盤陣列,沒(méi)人會(huì)做,怎么辦???” “可以學(xué)啊,沒(méi)有人愿意去嗎?”
“我都問(wèn)了,沒(méi)人想去?!?/p>
“哦,正好明天我有時(shí)間,我也沒(méi)裝過(guò)磁盤陣列,那我明天去學(xué)著弄一下?!蔽艺f(shuō)的是真心話。
第二天早上,當(dāng)我準(zhǔn)備出發(fā)時(shí),項(xiàng)目經(jīng)理告訴我不用我去了,因?yàn)轫?xiàng)目組好幾個(gè)同事都想去“學(xué)著弄一下”。結(jié)果服務(wù)器很快就裝好了,遠(yuǎn)遠(yuǎn)沒(méi)有之前大家想像的那么困難嘛。更重要的是,在解決這個(gè)問(wèn)題的過(guò)程中,大家都學(xué)會(huì)了怎么裝磁盤陣列。
碰到困難時(shí),迎難而上吧,千萬(wàn)不要拒絕這個(gè)最好的學(xué)習(xí)機(jī)會(huì)!
八.經(jīng)常思考總結(jié)
子曰:“學(xué)而不思則罔”。只學(xué)習(xí)不思考,就會(huì)迷惑,難以把握事情的本質(zhì)。這就好比一個(gè)學(xué)武之人,只習(xí)得其形,而未得其神,難以成為真正的高手。
一個(gè)程序員從入門,到成為高手的過(guò)程中,往往要經(jīng)過(guò)幾次頓悟。頓悟會(huì)讓你跳出知識(shí)的叢林,一切豁然開朗,仿佛打通了全身的奇經(jīng)八脈一般奇妙。記得我有一次,頓悟到了一個(gè)很簡(jiǎn)單的結(jié)論:“原來(lái)高級(jí)編程語(yǔ)言中的類庫(kù)是封裝了Windows API來(lái)實(shí)現(xiàn)的。”后來(lái)碰到一些自帶類庫(kù)無(wú)法實(shí)現(xiàn)的功能時(shí),我就會(huì)想到,其實(shí)可以通過(guò)調(diào)用Windows API來(lái)實(shí)現(xiàn)。利用這個(gè)思路,我解決了一些看起來(lái)很難的問(wèn)題,得到老板的賞識(shí),從而很快獲得提升。
頓悟非??少F,然而它不是隨便發(fā)生的,而是經(jīng)過(guò)一次次苦苦思索之后、靈光閃現(xiàn)的結(jié)果。思考的過(guò)程,其實(shí)就是將外在的知識(shí)內(nèi)化為自己的知識(shí)的過(guò)程,而頓悟,則是批量的實(shí)現(xiàn)這種內(nèi)化,將無(wú)數(shù)個(gè)知識(shí)點(diǎn)連接在一起,達(dá)到融會(huì)貫通的境界。
九、克服“高原現(xiàn)象”
愛學(xué)習(xí)的人都會(huì)有這樣的經(jīng)歷,學(xué)習(xí)持續(xù)了一段時(shí)間之后,往往會(huì)有一個(gè)瓶頸期,長(zhǎng)時(shí)間似乎很久沒(méi)有什么進(jìn)步,于是內(nèi)心非常著急。
這種情況實(shí)際上這是由人的學(xué)習(xí)規(guī)律決定的一種“高原現(xiàn)象”。據(jù)研究,學(xué)習(xí)者在剛開始進(jìn)步快,隨后有一個(gè)明顯的或長(zhǎng)或短的進(jìn)步停頓期,后期進(jìn)步慢,中間的停頓期叫高原期。
圖2 技能學(xué)習(xí)練習(xí)曲線
在我看來(lái),高原期實(shí)質(zhì)是一個(gè)消化期,由于前期的學(xué)習(xí)積累了太多的知識(shí)點(diǎn),這些知識(shí)點(diǎn)在大腦中亂作一團(tuán),還沒(méi)有形成一個(gè)知識(shí)體系。這時(shí)需要一定的時(shí)間來(lái)消化它,將它融會(huì)貫通,經(jīng)常思考總結(jié)可以快速幫你跨過(guò)高原期。
在處于高原期的時(shí)候,還可以換一個(gè)相關(guān)的方向來(lái)學(xué)習(xí),例如編程語(yǔ)言學(xué)不下去了,你可以學(xué)習(xí)一下設(shè)計(jì)模式,設(shè)計(jì)模式也學(xué)不下去了,再換成數(shù)據(jù)庫(kù)。通過(guò)學(xué)習(xí)這些相關(guān)的知識(shí),不但補(bǔ)齊了知識(shí)體系中的短板,而且各個(gè)知識(shí)點(diǎn)之間可以互相啟發(fā),幫助你實(shí)現(xiàn)頓悟,跨過(guò)高原期。
十、學(xué)習(xí)要有好心態(tài)
(1)學(xué)習(xí)要靜心
急于求成是學(xué)習(xí)過(guò)程中普遍存在的一種心態(tài)。這可以理解,畢竟作為一個(gè)程序員,要學(xué)的東西實(shí)在太多了,而社會(huì)又是那樣的浮躁,讓人覺(jué)得一切都是那樣的不安全、不確定,似乎只有學(xué)得快一點(diǎn),才能跟上社會(huì)的腳步。
可是“欲速則不達(dá)”,想快快的學(xué),往往會(huì)形成東一榔頭、西一棒槌的學(xué)習(xí)方式,每一個(gè)點(diǎn)都沒(méi)有吃透。心沉不下去,知識(shí)也會(huì)沉不下去。要想成為真正的高手,只能靜下心來(lái),一步一個(gè)腳印的攀登。
(2)學(xué)習(xí)是一個(gè)持續(xù)一生的過(guò)程
人生的過(guò)程,就是一個(gè)自我完善過(guò)程。
孔子曾經(jīng)說(shuō):“吾十有五而志于學(xué),三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不逾矩。”可見孔子也不是天生的圣人,也在不停的學(xué)習(xí)、進(jìn)步,從“志于學(xué)”到最后“從心所欲,不逾矩”,孔子一共花了55年的時(shí)間。
作為一個(gè)程序員,更是需要不斷更新自己的知識(shí)。我們所知道的東西,就像一個(gè)白色的圓圈,圈外則是黑暗的未知的世界。當(dāng)圓圈越大,所接觸到的黑暗部分就越多。我們只有不停的學(xué)習(xí),打破更多的黑暗,找到更多光明。
(3)保持饑餓,保持愚蠢
看了《喬布斯傳》之后,我最喜歡的一句話是“求知若饑,虛心若愚”(Stay Hungry,Stay Foolish),其實(shí)我更喜歡它更原生態(tài)的翻譯“保持饑餓,保持愚蠢”。我們只有認(rèn)識(shí)到自己還很饑餓和愚蠢,才會(huì)像沒(méi)吃飽一樣,由衷的需要學(xué)習(xí)、愛上學(xué)習(xí)。
當(dāng)然,知易行難,知行合一才是學(xué)習(xí)的最高境界。我也始終是一個(gè)學(xué)習(xí)者,一直在路上。